diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml
index e96540aea7..fbd05675b6 100644
--- a/.github/workflows/auto-build.yml
+++ b/.github/workflows/auto-build.yml
@@ -13,7 +13,7 @@ jobs:
build:
runs-on: ubuntu-latest
env:
- MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
SNAPSHOT: true
permissions:
diff --git a/.github/workflows/auto-publish.yml b/.github/workflows/auto-publish.yml
index 8e24226eba..d531bc1dcd 100644
--- a/.github/workflows/auto-publish.yml
+++ b/.github/workflows/auto-publish.yml
@@ -27,7 +27,7 @@ jobs:
build:
runs-on: ubuntu-latest
env:
- MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
permissions:
contents: write
@@ -75,7 +75,7 @@ jobs:
name: GregTechCEu ${{ steps.var.outputs.version }}
version: mc${{ steps.var.outputs.version }}
version-type: ${{ inputs.releaseType }}
- changelog-file: CHANGELOG.*
+ changelog-file: RELEASE.*
loaders: |
forge
diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml
index fe09d26cf6..674911db19 100644
--- a/.github/workflows/changelog.yml
+++ b/.github/workflows/changelog.yml
@@ -12,7 +12,7 @@ jobs:
build:
runs-on: ubuntu-latest
env:
- MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
MAVEN_USER: ${{ secrets.MAVEN_USER }}
permissions:
contents: write
diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml
new file mode 100644
index 0000000000..c18a35af0a
--- /dev/null
+++ b/.github/workflows/clean.yml
@@ -0,0 +1,22 @@
+name: Clean Gradle
+
+on:
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ submodules: true
+
+ - name: Setup Build
+ uses: ./.github/actions/build_setup
+ with:
+ update-cache: true
+
+ - name: Clean
+ run: ./gradlew clean --build-cache
diff --git a/.github/workflows/manage-pr-labels.yml b/.github/workflows/manage-pr-labels.yml
new file mode 100644
index 0000000000..7dcddd620b
--- /dev/null
+++ b/.github/workflows/manage-pr-labels.yml
@@ -0,0 +1,39 @@
+# Manages labels on PRs before allowing merging
+name: Pull Request Labels
+
+on:
+ pull_request:
+ types:
+ - opened
+ - labeled
+ - unlabeled
+ - synchronize
+
+# if a second commit is pushed quickly after the first, cancel the first one's build
+concurrency:
+ group: pr-labels-${{ github.head_ref }}
+ cancel-in-progress: true
+
+jobs:
+ Labels:
+ runs-on: ubuntu-latest
+
+ permissions:
+ pull-requests: read # needed to utilize required-labels
+
+ steps:
+ - name: Check for Merge-Blocking Labels # blocks merge if present
+ uses: mheap/github-action-required-labels@v5
+ with:
+ mode: exactly
+ count: 0
+ labels: 'status: do not merge'
+ exit_type: failure
+
+ - name: Check for Required Labels # require at least one of these labels
+ uses: mheap/github-action-required-labels@v5
+ with:
+ mode: minimum
+ count: 1
+ labels: 'type: feature, type: bug, type: refactor, type: translation, ignore changelog'
+ exit_type: failure
diff --git a/README.md b/README.md
index feb68c2f6b..579a95af16 100644
--- a/README.md
+++ b/README.md
@@ -11,18 +11,39 @@
-## Documentation / Wiki
-[`Wiki`](https://gregtechceu.github.io/gtceu-modern-docs/)
-
-
-## Dev Q&A
-* [Todo List](https://github.com/GregTechCEu/GregTechCEu-1.19/issues/125) for potential contributors who are interested in this project
-* [Dev Q&A](https://github.com/GregTechCEu/GregTechCEu-1.19/wiki/Dev-Q&A) illustrates common questions and answers related to development.
-
-##
-## IDE Requirements (when using IntelliJ IDEA)
-
-For developing this mod, the [Lombok plugin](https://plugins.jetbrains.com/plugin/6317-lombok) for IntelliJ IDEA is strictly required.
+### [Wiki](https://gregtechceu.github.io/gtceu-modern-docs/)
+
+## Developers
+
+To add GTCEu: Modern (GTM) to your project as a dependency, add the following to your `build.gradle`:
+```groovy
+repositories {
+ maven {
+ name = 'GTCEu Maven'
+ url = 'https://maven.gtceu.com'
+ content {
+ includeGroup 'com.gregtechceu.gtceu'
+ }
+ }
+}
+```
+Then, you can add it as a dependency, with `${mc_version}` being your Minecraft version target and `${gtm_version}` being the version of GTM you want to use.
+```groovy
+dependencies {
+ // Forge (see below block as well if you use Forge Gradle)
+ implementation fg.deobf("com.gregtechceu.gtceu:gtceu-${mc_version}:${gtm_version}")
+
+ // NeoForge
+ implementation "com.gregtechceu.gtceu:gtceu-${mc_version}:${gtm_version}"
+
+ // Architectury
+ modImplementation "com.gregtechceu.gtceu:gtceu-${mc_version}:${gtm_version}"
+}
+```
+
+### IDE Requirements (when using IntelliJ IDEA)
+
+For contributing to this mod, the [Lombok plugin](https://plugins.jetbrains.com/plugin/6317-lombok) for IntelliJ IDEA is strictly required.
Additionally, the [Minecraft Development plugin](https://plugins.jetbrains.com/plugin/8327-minecraft-development) is recommended.
diff --git a/RELEASE.md b/RELEASE.md
new file mode 100644
index 0000000000..518d151488
--- /dev/null
+++ b/RELEASE.md
@@ -0,0 +1,7 @@
+## What's Changed
+
+### Fixed
+- Multiblock machines now calculate their tier correctly ([#2019](https://github.com/GregTechCEu/GregTech-Modern/pull/2019))
+- Recipe fixes 🔥 ([#2022](https://github.com/GregTechCEu/GregTech-Modern/pull/2022) and [#2023](https://github.com/GregTechCEu/GregTech-Modern/pull/2023))
+
+**Full Changelog found [here](https://github.com/GregTechCEu/GregTech-Modern/compare/1.20.1-1.4.2...1.20.1-1.4.3)**
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 722d880041..b9016ca249 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,7 +3,7 @@ org.gradle.jvmargs = -Xmx6G
# Mod Info
mod_id = gtceu
mod_name = GregTech
-mod_version = 1.4.2
+mod_version = 1.4.5
mod_description = GregTech CE Unofficial, ported from 1.12.2
mod_license = LGPL-3.0 license
mod_url = https://github.com/GregTechCEu/GregTech-Modern/
diff --git a/gradle/scripts/publishing.gradle b/gradle/scripts/publishing.gradle
index 5579fc7767..76e7650e0a 100644
--- a/gradle/scripts/publishing.gradle
+++ b/gradle/scripts/publishing.gradle
@@ -21,10 +21,10 @@ publishing {
repositories {
// Add repositories to publish to here.
maven {
- url "https://maven.firstdarkdev.xyz/snapshots"
+ url "https://maven.gtceu.com"
credentials {
username System.getenv("MAVEN_USER")
- password System.getenv("MAVEN_PASS")
+ password System.getenv("MAVEN_PASSWORD")
}
}
}
diff --git a/src/main/java/com/gregtechceu/gtceu/api/GTValues.java b/src/main/java/com/gregtechceu/gtceu/api/GTValues.java
index a578c17d0d..a69521b6ee 100644
--- a/src/main/java/com/gregtechceu/gtceu/api/GTValues.java
+++ b/src/main/java/com/gregtechceu/gtceu/api/GTValues.java
@@ -55,7 +55,7 @@ public class GTValues {
* The Voltage Tiers. Use this Array instead of the old named Voltage Variables
*/
public static final long[] V = new long[] { 8, 32, 128, 512, 2048, 8192, 32768, 131072, 524288, 2097152, 8388608,
- 33554432, 134217728, 536870912, Integer.MAX_VALUE };
+ 33554432, 134217728, 536870912, 2147483648L };
/**
* The Voltage Tiers divided by 2.
@@ -75,6 +75,15 @@ public class GTValues {
public static final int[] VHA = { 7, 16, 60, 240, 960, 3840, 15360, 61440, 245760, 983040, 3932160, 15728640,
62914560, 251658240, 1006632960 };
+ /**
+ * The Voltage Tiers. Use this Array instead of the old named Voltage Variables
+ */
+ public static final long[] VEX = new long[] { 8, 32, 128, 512, 2048, 8192, 32768, 131072, 524288, 2097152, 8388608,
+ 33554432, 134217728, 536870912, 2147483648L, 8589934592L, 34359738368L, 137438953472L, 549755813888L,
+ 2199023255552L, 8796093022208L, 35184372088832L, 140737488355328L, 562949953421312L, 2251799813685248L,
+ 9007199254740992L, 36028797018963968L, 144115188075855872L, 576460752303423488L, 2305843009213693952L,
+ Long.MAX_VALUE };
+
public static final int ULV = 0;
public static final int LV = 1;
public static final int MV = 2;
@@ -90,6 +99,7 @@ public class GTValues {
public static final int UXV = 12;
public static final int OpV = 13;
public static final int MAX = 14;
+ public static final int MAX_TRUE = 30;
public static final int[] ALL_TIERS = new int[] { ULV, LV, MV, HV, EV, IV, LuV, ZPM, UV, UHV, UEV, UIV, UXV, OpV,
MAX };
diff --git a/src/main/java/com/gregtechceu/gtceu/api/codec/DispatchedMapCodec.java b/src/main/java/com/gregtechceu/gtceu/api/codec/DispatchedMapCodec.java
index f5e2b7b968..7d8abeda93 100644
--- a/src/main/java/com/gregtechceu/gtceu/api/codec/DispatchedMapCodec.java
+++ b/src/main/java/com/gregtechceu/gtceu/api/codec/DispatchedMapCodec.java
@@ -2,7 +2,6 @@
import com.gregtechceu.gtceu.GTCEu;
-import com.google.common.collect.ImmutableMap;
import com.mojang.datafixers.util.Pair;
import com.mojang.datafixers.util.Unit;
import com.mojang.serialization.*;
@@ -44,7 +43,7 @@ public DataResult, T>> decode(final DynamicOps ops, final
(result, entry) -> parseEntry(result, ops, entry, entries, failed),
(r1, r2) -> r1.apply2stable((u1, u2) -> u1, r2));
- final Pair