Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
*/
dependencies {
runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.7.29-GTNH:dev")
runtimeOnlyNonPublishable("com.github.GTNewHorizons:NotEnoughItems:2.8.50-GTNH:dev")

implementation('com.github.GTNewHorizons:GT5-Unofficial:5.09.51.160:dev')
implementation('com.github.GTNewHorizons:GT5-Unofficial:5.09.52.200:dev')

shadowImplementation('com.google.code.gson:gson:2.7')
shadowImplementation('net.lingala.zip4j:zip4j:2.3.1')
Expand Down
47 changes: 41 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ modId = RecEx
modGroup = com.bigbass.recex

# Whether to use modGroup as the maven publishing group.
# Due to a history of using JitPack, the default is com.github.GTNewHorizons for all mods.
# When false, com.github.GTNewHorizons is used.
useModGroupForPublishing = false

# Updates your build.gradle and settings.gradle automatically whenever an update is available.
Expand All @@ -39,9 +39,33 @@ remoteMappings = https\://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/co
# `./gradlew runClient --username=AnotherPlayer`, or configuring this command in your IDE.
developmentEnvironmentUserName = Developer

# Enables using modern Java syntax (up to version 17) via Jabel, while still targeting JVM 8.
# See https://github.com/bsideup/jabel for details on how this works.
enableModernJavaSyntax = true
# Enables modern Java syntax support. Valid values:
# - false: No modern syntax, Java 8 only
# - jabel: Jabel syntax-only support, compiles to J8 bytecode
# - jvmDowngrader: Full modern Java via JVM Downgrader (syntax + stdlib APIs)
# - modern: Native modern Java bytecode, no downgrading
enableModernJavaSyntax = jabel

# If set, ignores the above setting and compiles with the given toolchain. This may cause unexpected issues,
# and should *not* be used in most situations. -1 disables this.
# forceToolchainVersion = -1

# Target JVM version for JVM Downgrader bytecode downgrading.
# Only used when enableModernJavaSyntax = jvmDowngrader
# downgradeTargetVersion = 8

# Comma-separated list of Java versions for multi-release jar support (JVM Downgrader only).
# Classes will be available in META-INF/versions/N/ for each version N in this list.
# Default: "21,25" (J25+ gets native classes, J21-24 gets partial downgrade, J8-20 gets full downgrade).
# jvmDowngraderMultiReleaseVersions = 21,25

# Specifies how JVM Downgrader API stubs are provided. Options:
# - shade: Shade minimized stubs into the jar
# - gtnhlib: GTNHLib provides stubs at runtime (adds version constraint)
# - external: Another dependency provides stubs (no constraint, no warning)
# - (empty): Warning reminding you to configure stubs
# Note: 'shade' option requires you to verify license compliance, see: https://github.com/unimined/JvmDowngrader/blob/main/LICENSE.md
# jvmDowngraderStubsProvider =

# Enables injecting missing generics into the decompiled source code for a better coding experience.
# Turns most publicly visible List, Map, etc. into proper List<E>, Map<K, V> types.
Expand Down Expand Up @@ -87,7 +111,9 @@ usesMixinDebug = false
# Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise.
mixinPlugin =

# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
# Specify the package that contains all of your Mixins. The package must exist or
# the build will fail. If you have a package property defined in your mixins.<modid>.json,
# it must match with this or the build will fail.
mixinsPackage =

# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
Expand Down Expand Up @@ -142,7 +168,7 @@ modrinthProjectId =
# type can be one of [project, version],
# and the name is the Modrinth project or version slug/id of the other mod.
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
# Note: UniMixins is automatically set as a required dependency if usesMixins = true.
modrinthRelations =

# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.
Expand All @@ -163,6 +189,12 @@ curseForgeRelations =
# projects. New projects should not use this parameter.
# customArchiveBaseName =

# Optional parameter to customize the default working directory used by the runClient* tasks. Relative to the project directory.
# runClientWorkingDirectory = run/client

# Optional parameter to customize the default working directory used by the runServer* tasks. Relative to the project directory.
# runServerWorkingDirectory = run/server

# Optional parameter to have the build automatically fail if an illegal version is used.
# This can be useful if you e.g. only want to allow versions in the form of '1.1.xxx'.
# The check is ONLY performed if the version is a git tag.
Expand Down Expand Up @@ -192,3 +224,6 @@ curseForgeRelations =
# This is meant to be set in $HOME/.gradle/gradle.properties.
# ideaCheckSpotlessOnBuild = true

# Non-GTNH properties
org.gradle.configuration-cache = true
org.gradle.parallel = true
12 changes: 12 additions & 0 deletions gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/df211d3c3eefdc408b462041881bc575/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/b41931cf1e70bc8e08d7dd19c343ef00/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/df211d3c3eefdc408b462041881bc575/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/b41931cf1e70bc8e08d7dd19c343ef00/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/46949723aaa20c7b64d7ecfed7207034/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/d6690dfd71c4c91e08577437b5b2beb0/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/df211d3c3eefdc408b462041881bc575/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/b41931cf1e70bc8e08d7dd19c343ef00/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/3cd7045fca9a72cd9bc7d14a385e594c/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/552c7bffe0370c66410a51c55985b511/redirect
toolchainVersion=25
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
7 changes: 2 additions & 5 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ pluginManagement {
}

plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.36'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '2.0.13'
}

26 changes: 12 additions & 14 deletions src/main/java/com/bigbass/recex/recipes/RecipeExporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.item.crafting.ShapedRecipes;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
Expand All @@ -40,12 +41,10 @@
import com.google.gson.GsonBuilder;

import bartworks.API.recipe.BartWorksRecipeMaps;
import ggfab.api.GGFabRecipeMaps;
import goodgenerator.api.recipe.GoodGeneratorRecipeMaps;
import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.RecipeMapBackend;
import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GTLanguageManager;
import gregtech.api.util.GTRecipe;
import gtPlusPlus.api.recipe.GTPPRecipeMaps;
import tectech.recipe.TecTechRecipeMaps;
Expand Down Expand Up @@ -136,11 +135,11 @@ private void emitJson(List<GregtechMachine> gtRecipes, List<ShapedRecipe> shaped
}

// spotless:off
private static final Comparator<net.minecraft.item.Item> COMPARE_ITEM = Comparator.comparingInt(i -> net.minecraft.item.Item.getIdFromItem(i));
private static final Comparator<net.minecraft.item.Item> COMPARE_ITEM = Comparator.comparingInt(net.minecraft.item.Item::getIdFromItem);

private static final Comparator<ItemStack> COMPARE_ITEM_STACKS =
Comparator.comparing((ItemStack s) -> s.getItem(), COMPARE_ITEM)
.thenComparingInt((ItemStack s) -> s.getItemDamage())
Comparator.comparing(ItemStack::getItem, COMPARE_ITEM)
.thenComparingInt(ItemStack::getItemDamage)
.thenComparingInt((ItemStack s) -> s.stackSize)
// Really bad, but idc about performance here because this will be used very rarely if ever
.thenComparing((ItemStack s) -> s.stackTagCompound == null ? "" : s.stackTagCompound.toString());
Expand Down Expand Up @@ -309,7 +308,6 @@ private List<GregtechMachine> getGregtechRecipes() {
GTPPRecipeMaps.class,
BartWorksRecipeMaps.class,
GoodGeneratorRecipeMaps.class,
GGFabRecipeMaps.class,
TecTechRecipeMaps.class);

for (Class<?> recipeMapClass : recipeMapClasses) {
Expand All @@ -330,7 +328,7 @@ private List<GregtechMachine> getGregtechRecipes() {
GregtechMachine mach = new GregtechMachine();

// machine name retrieval
mach.n = GTLanguageManager.getTranslation(map.unlocalizedName);
mach.n = StatCollector.translateToLocal(map.unlocalizedName);
if (mach.n == null || mach.n.isEmpty()) {
mach.n = map.unlocalizedName;
}
Expand Down Expand Up @@ -512,7 +510,7 @@ private static int getInputType(Object x) {
private static final Comparator<Object> COMPARE_OREDICT_INPUT = (Object a, Object b) -> {
int ai = getInputType(a), bi = getInputType(b);

if (ai != bi || ai == -1 || bi == -1) {
if (ai != bi || ai == -1) {
return Integer.compare(ai, bi);
}

Expand Down Expand Up @@ -563,13 +561,13 @@ private List<OreDictShapedRecipe> getOreDictShapedRecipes() {
rec.iI.add(RecipeUtil.formatRegularItemStack(new ItemStack((net.minecraft.item.Item) input)));
} else if (input instanceof Block) {
rec.iI.add(RecipeUtil.formatRegularItemStack(new ItemStack((Block) input, 1, Short.MAX_VALUE)));
} else if (input instanceof ArrayList<?>) {
ArrayList<?> list = (ArrayList<?>) input;
if (list != null && list.size() > 0) {
// spotless:off
} else if (input instanceof ArrayList<?> list) {
// spotless:on
if (!list.isEmpty()) {
ItemOreDict item = new ItemOreDict();
for (Object listObj : list) {
if (listObj instanceof ItemStack) {
ItemStack stack = (ItemStack) listObj;
if (listObj instanceof ItemStack stack) {
item.ims.add(RecipeUtil.formatRegularItemStack(stack));

int[] ids = OreDictionary.getOreIDs(stack);
Expand Down Expand Up @@ -603,7 +601,7 @@ private List<OreDictShapedRecipe> getOreDictShapedRecipes() {
+ " | "
+ input.getClass()
.getName());
} catch (NullPointerException e) {}
} catch (NullPointerException ignored) {}
}
}

Expand Down