This commit is contained in:
2026-01-07 13:29:10 -05:00
commit 686541e399
1629 changed files with 317473 additions and 0 deletions
@@ -0,0 +1,19 @@
package net.cmr.jurassicrevived;
import net.fabricmc.api.ModInitializer;
public class JRMod implements ModInitializer
{
@Override
public void onInitialize() {
// This method is invoked by the Fabric mod loader when it is ready
// to load your mod. You can access Fabric and Common code in this
// project.
// Use Fabric to bootstrap the Common mod.
Constants.LOG.info("Hello Fabric world!");
CommonClass.init();
}
}
@@ -0,0 +1,45 @@
package net.cmr.jurassicrevived.client.config;
import me.shedaniel.clothconfig2.api.ConfigBuilder;
import me.shedaniel.clothconfig2.api.ConfigCategory;
import me.shedaniel.clothconfig2.api.ConfigEntryBuilder;
import net.cmr.jurassicrevived.config.JRConfig;
import net.cmr.jurassicrevived.config.JRConfigManager;
import net.cmr.jurassicrevived.platform.Services;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
public final class JRClothConfigScreens {
private JRClothConfigScreens() {}
public static Screen create(Screen parent) {
JRConfig cfg = JRConfigManager.get();
ConfigBuilder builder = ConfigBuilder.create()
.setParentScreen(parent)
.setTitle(Component.literal("Jurassic Revived Config"));
ConfigCategory general = builder.getOrCreateCategory(Component.literal("General"));
ConfigEntryBuilder eb = builder.entryBuilder();
general.addEntry(
eb.startBooleanToggle(Component.literal("Enable Dinosaurs"), cfg.enableDinosaurs)
.setDefaultValue(true)
.setSaveConsumer(v -> cfg.enableDinosaurs = v)
.build()
);
general.addEntry(
eb.startIntField(Component.literal("Spawn Weight"), cfg.spawnWeight)
.setDefaultValue(10)
.setMin(0)
.setMax(1000)
.setSaveConsumer(v -> cfg.spawnWeight = v)
.build()
);
builder.setSavingRunnable(() -> JRConfigManager.save(Services.PLATFORM.getConfigDir()));
return builder.build();
}
}
@@ -0,0 +1,12 @@
package net.cmr.jurassicrevived.client.config;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
import net.minecraft.client.gui.screens.Screen;
public final class JRModMenuIntegration implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return JRClothConfigScreens::create;
}
}
@@ -0,0 +1,21 @@
package net.cmr.jurassicrevived.mixin;
import net.cmr.jurassicrevived.Constants;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.TitleScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(TitleScreen.class)
public class MixinTitleScreen
{
@Inject(at = @At("HEAD"), method = "init()V")
private void init(CallbackInfo info) {
Constants.LOG.info("This line is printed by an example mod mixin from Fabric!");
Constants.LOG.info("MC Version: {}", Minecraft.getInstance().getVersionType());
}
}
@@ -0,0 +1,29 @@
package net.cmr.jurassicrevived.platform;
import net.cmr.jurassicrevived.platform.services.IPlatformHelper;
import net.fabricmc.loader.api.FabricLoader;
import java.nio.file.Path;
public class FabricPlatformHelper implements IPlatformHelper
{
@Override
public String getPlatformName() {
return "FabricMC";
}
@Override
public boolean isModLoaded(String modId) {
return FabricLoader.getInstance().isModLoaded(modId);
}
@Override
public boolean isDevelopmentEnvironment() {
return FabricLoader.getInstance().isDevelopmentEnvironment();
}
@Override
public Path getConfigDir() {
return FabricLoader.getInstance().getConfigDir();
}
}