diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 433a4839..e3c72a46 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - name: Build with Gradle run: ./gradlew -Pnet.minecraftforge.gradle.disableUpdateChecker=true build - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: NovaEngineering-Core path: build/libs diff --git a/build.gradle.kts b/build.gradle.kts index 1aecbf9f..bceea062 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -225,7 +225,7 @@ dependencies { compileOnly(rfg.deobf("curse.maven:nuclearcraft-overhauled-336895:3862197")) compileOnly(rfg.deobf("curse.maven:industrialcraft-2-242638:3078604")) // implementation(rfg.deobf("sddsd233:mekceu-9.8.11.185")) - implementation(rfg.deobf("curse.maven:mekanism-ce-unofficial-840735:5397944")) + implementation(rfg.deobf("curse.maven:mekanism-ce-unofficial-840735:5946841")) implementation(rfg.deobf("curse.maven:RedstoneFlux-270789:2920436")) implementation(rfg.deobf("software.bernie.geckolib:geckolib-forge-1.12.2:3.0.31")) implementation(rfg.deobf("curse.maven:botania-225643:3330934")) diff --git a/src/main/java/github/kasuminova/novaeng/mixin/NovaEngCoreLateMixinLoader.java b/src/main/java/github/kasuminova/novaeng/mixin/NovaEngCoreLateMixinLoader.java index ada9c3ff..f94563df 100644 --- a/src/main/java/github/kasuminova/novaeng/mixin/NovaEngCoreLateMixinLoader.java +++ b/src/main/java/github/kasuminova/novaeng/mixin/NovaEngCoreLateMixinLoader.java @@ -27,7 +27,6 @@ public class NovaEngCoreLateMixinLoader implements ILateMixinLoader { addModdedMixinCFG("mixins.novaeng_core_mets.json", "mets"); addModdedMixinCFG("mixins.novaeng_core_nae2.json", "nae2"); addMixinCFG("mixins.novaeng_core_forge_late.json"); - addMixinCFG("mixins.novaeng_core_unidict.json", () -> Mods.UNIDICT.loaded() && Mods.MEKCEU.loaded()); addMixinCFG("mixins.novaeng_core_dme.json", () -> Loader.isModLoaded("deepmoblearning") && Loader.instance().getIndexedModList().get("deepmoblearning").getName().equals("DeepMobEvolution")); } diff --git a/src/main/java/github/kasuminova/novaeng/mixin/unidict/MixinMekanismIntegration.java b/src/main/java/github/kasuminova/novaeng/mixin/unidict/MixinMekanismIntegration.java deleted file mode 100644 index 135ac81c..00000000 --- a/src/main/java/github/kasuminova/novaeng/mixin/unidict/MixinMekanismIntegration.java +++ /dev/null @@ -1,80 +0,0 @@ -package github.kasuminova.novaeng.mixin.unidict; - -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap; -import mekanism.common.recipe.RecipeHandler; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -/** - * 修复矿辞统一对 MEKCEU 失效的问题。 - */ -@SuppressWarnings({"rawtypes", "unchecked"}) -@Mixin(targets = "wanion.unidict.integration.MekanismIntegration") -public class MixinMekanismIntegration { - - @Unique - private final Map novaeng_core$mapping = new Reference2ObjectOpenHashMap<>(); - - @Redirect( - method = "call()Ljava/lang/String;", - at = @At( - value = "INVOKE", - target = "Lmekanism/common/recipe/RecipeHandler$Recipe;get()Ljava/util/HashMap;", - remap = false - ), - remap = false - ) - private HashMap redirectCallGet(final RecipeHandler.Recipe instance) { - Object2ObjectOpenHashMap original = instance.get(); - HashMap newMap = new HashMap<>(original); - novaeng_core$mapping.put(newMap, original); - return newMap; - } - - @Redirect( - method = {"fixMachineRecipes", "fixSawmillRecipes"}, - at = @At( - value = "INVOKE", - target = "Ljava/util/Map;putAll(Ljava/util/Map;)V", - remap = false - ), - remap = false - ) - private void redirectPutAllToOriginal(final Map instance, final Map toPut) { - novaeng_core$applyModification(instance, toPut); - } - - @Redirect( - method = {"fixCrystallizerRecipes", "fixPRCRecipes"}, - at = @At( - value = "INVOKE", - target = "Ljava/util/HashMap;putAll(Ljava/util/Map;)V", - remap = false - ), - remap = false - ) - private void redirectHashMapPutAllToOriginal(final HashMap instance, final Map toPut) { - novaeng_core$applyModification(instance, toPut); - } - - @Unique - private void novaeng_core$applyModification(final Map instance, final Map toPut) { - Map original = novaeng_core$mapping.get(instance); - Iterator it = original.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry entry = (Map.Entry) it.next(); - if (!instance.containsKey(entry.getKey())) { - it.remove(); - } - } - original.putAll(toPut); - } - -} diff --git a/src/main/resources/mixins.novaeng_core_unidict.json b/src/main/resources/mixins.novaeng_core_unidict.json deleted file mode 100644 index c6415007..00000000 --- a/src/main/resources/mixins.novaeng_core_unidict.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "package": "github.kasuminova.novaeng.mixin.unidict", - "refmap": "mixins.novaeng_core.refmap.json", - "target": "@env(DEFAULT)", - "minVersion": "0.8", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "MixinMekanismIntegration" - ] -} \ No newline at end of file