TRUE 0.102.0 PARITY!!!!

Actaully adds ore generation
Actually adds natural spawning
Change requirePower to default to false
This commit is contained in:
2026-05-21 18:15:29 -04:00
parent f9f300cde7
commit 463334f1c5
22 changed files with 593 additions and 188 deletions
@@ -1,6 +1,7 @@
package net.cmr.jurassicrevived;
import net.cmr.jurassicrevived.client.config.JRClothConfigScreens;
import net.cmr.jurassicrevived.worldgen.NeoForgeBiomeModifiers;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.ModLoadingContext;
import net.neoforged.fml.common.Mod;
@@ -13,6 +14,8 @@ import java.util.function.Supplier;
public class JRMod {
public JRMod(IEventBus eventBus) {
NeoForgeBiomeModifiers.register(eventBus);
CommonClass.init();
ModLoadingContext.get().getActiveContainer().registerExtensionPoint(
@@ -24,7 +24,7 @@ public final class JRClothConfigScreens {
general.addEntry(
eb.startBooleanToggle(Component.literal("Require Power"), cfg.requirePower)
.setDefaultValue(true)
.setDefaultValue(false)
.setTooltip(Component.literal("When disabled, machines do not consume power, hide power bars, and energy pipes do not connect to machines."))
.setSaveConsumer(v -> cfg.requirePower = v)
.requireRestart()
@@ -41,5 +41,6 @@ public class DataGenerators {
lookupProvider
));
generator.addProvider(event.includeServer(), new NeoForgeRecipeProvider(packOutput, lookupProvider));
generator.addProvider(event.includeServer(), new ModWorldgenProvider(packOutput));
}
}
@@ -0,0 +1,42 @@
package net.cmr.jurassicrevived.worldgen;
import com.mojang.serialization.MapCodec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.cmr.jurassicrevived.config.JRConfigManager;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderSet;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.MobSpawnSettings;
import net.neoforged.neoforge.common.world.BiomeModifier;
import net.neoforged.neoforge.common.world.BiomeModifiers;
import net.neoforged.neoforge.common.world.ModifiableBiomeInfo;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public final class ConditionalAddSpawnsBiomeModifier implements BiomeModifier {
public static final MapCodec<ConditionalAddSpawnsBiomeModifier> CODEC = RecordCodecBuilder.mapCodec(instance ->
instance.group(
Biome.LIST_CODEC.fieldOf("biomes").forGetter(modifier -> modifier.delegate.biomes()),
MobSpawnSettings.SpawnerData.CODEC.listOf().fieldOf("spawners").forGetter(modifier -> modifier.delegate.spawners())
).apply(instance, ConditionalAddSpawnsBiomeModifier::new)
);
private final BiomeModifiers.AddSpawnsBiomeModifier delegate;
public ConditionalAddSpawnsBiomeModifier(HolderSet<Biome> biomes, List<MobSpawnSettings.SpawnerData> spawners) {
this.delegate = new BiomeModifiers.AddSpawnsBiomeModifier(biomes, spawners);
}
@Override
public void modify(@NotNull Holder<Biome> biome, @NotNull Phase phase, @NotNull ModifiableBiomeInfo.BiomeInfo.Builder builder) {
if (JRConfigManager.get().naturallySpawning) {
delegate.modify(biome, phase, builder);
}
}
@Override
public @NotNull MapCodec<? extends BiomeModifier> codec() {
return NeoForgeBiomeModifiers.CONDITIONAL_ADD_SPAWNS.get();
}
}
@@ -0,0 +1,25 @@
package net.cmr.jurassicrevived.worldgen;
import com.mojang.serialization.MapCodec;
import net.cmr.jurassicrevived.Constants;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.common.world.BiomeModifier;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.NeoForgeRegistries;
import java.util.function.Supplier;
public final class NeoForgeBiomeModifiers {
private NeoForgeBiomeModifiers() {
}
public static final DeferredRegister<MapCodec<? extends BiomeModifier>> BIOME_MODIFIER_SERIALIZERS =
DeferredRegister.create(NeoForgeRegistries.Keys.BIOME_MODIFIER_SERIALIZERS, Constants.MOD_ID);
public static final Supplier<MapCodec<ConditionalAddSpawnsBiomeModifier>> CONDITIONAL_ADD_SPAWNS =
BIOME_MODIFIER_SERIALIZERS.register("conditional_add_spawns", () -> ConditionalAddSpawnsBiomeModifier.CODEC);
public static void register(IEventBus eventBus) {
BIOME_MODIFIER_SERIALIZERS.register(eventBus);
}
}