Moved save logic inside the 1.20 branch, as they don't compile without errors on 1.21

Change hybridizer logic to no longer require a catalyst
fix brachiosaurus_dna.png
Fix flame texture on generator for 1.21
Adds power handling for machines in NF 1.21
Adds power handling to fabric
Actually fix screen registration for Fabric 1.20
This commit is contained in:
2026-05-20 22:56:50 -04:00
parent 40292ae052
commit 05325f6008
35 changed files with 631 additions and 230 deletions
@@ -7,6 +7,7 @@ import net.minecraftforge.client.ConfigScreenHandler;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@Mod(Constants.MOD_ID)
@@ -21,11 +22,13 @@ public class JRMod {
EventBuses.registerModEventBus(Constants.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus());
// Use Forge to bootstrap the Common mod.
// Use Forge to bootstrap the Common mod.
CommonClass.init();
DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> CommonClientClass::init);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::clientSetup);
ModLoadingContext.get().registerExtensionPoint(
ConfigScreenHandler.ConfigScreenFactory.class,
() -> new ConfigScreenHandler.ConfigScreenFactory(
@@ -34,4 +37,8 @@ public class JRMod {
);
}
private void clientSetup(FMLClientSetupEvent event) {
event.enqueueWork(CommonClientClass::registerScreens);
}
}
@@ -112,16 +112,15 @@ public class ForgeRecipeProvider extends RecipeProvider implements ModRecipeProv
.save(output);
}
@Override
public void dnaHybridizing(ItemLike result, int count, ItemLike catalyst, ItemLike... ingredients) {
DNAHybridizingRecipeBuilder builder = new DNAHybridizingRecipeBuilder(result, count)
.setCatalyst(catalyst);
for (ItemLike ingredient : ingredients) {
builder.addIngredient(ingredient);
}
builder.unlockedBy("has_catalyst", has(catalyst))
.save(output);
}
@Override
public void dnaHybridizing(ItemLike result, int count, ItemLike... ingredients) {
DNAHybridizingRecipeBuilder builder = new DNAHybridizingRecipeBuilder(result, count);
for (ItemLike ingredient : ingredients) {
builder.addIngredient(ingredient);
}
builder.unlockedBy("has_dna", has(ingredients[0]))
.save(output);
}
@Override
public void embryonicMachine(ItemLike syringe, ItemLike dna, ItemLike catalyst, ItemLike result, int count) {