Skip to content
Draft
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
90 changes: 10 additions & 80 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ plugins {
id 'eclipse'
id 'idea'
id 'maven-publish'
id 'net.neoforged.moddev' version '2.0.112'
id 'net.neoforged.moddev'
id 'dev.lukebemish.immaculate' version '0.1.13'
id 'net.neoforged.licenser' version '0.7.5'
id 'me.modmuss50.mod-publish-plugin' version '1.0.0'
Expand All @@ -21,81 +21,12 @@ logger.lifecycle("Modern Industrialization version ${version}")

java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
languageVersion = JavaLanguageVersion.of(25)
}

withSourcesJar()
}

repositories {
// for KJS
maven {
url "https://www.cursemaven.com"
content {
includeGroup "curse.maven"
}
}
// for AE2, JEI and Almost Unified
maven {
name "Modmaven"
url "https://modmaven.dev"
content {
includeGroup "appeng"
includeGroup "dev.technici4n"
includeGroup "mezz.jei"
includeGroup "com.almostreliable.mods"
}
}
maven {
url "https://maven.shedaniel.me"
content {
includeGroup "me.sargunvohra.mcmods"
includeGroup "me.shedaniel.cloth"
includeGroup "me.shedaniel"
includeGroup "dev.architectury"
}
}
maven {
url "https://maven.terraformersmc.com"
content {
includeGroup "com.terraformersmc"
includeGroup "dev.emi"
}
}
maven {
name 'Jitpack'
url 'https://jitpack.io'
content {
// For KubeJS
includeGroup "com.github.rtyley"
}
}
maven {
url "https://maven.ftb.dev/releases"
content {
includeGroup "dev.ftb.mods"
}
}
// For KubeJS & FTBTeams/FTBQuests
maven {
url "https://maven.latvian.dev/releases"
content {
includeGroup "dev.latvian.apps"
includeGroup "dev.latvian.mods"
includeGroup "dev.ftb.mods"
}
}
maven {
url "https://maven.teamresourceful.com/repository/maven-public/"
content {
includeGroup "com.teamresourceful"
includeGroup "com.teamresourceful.resourcefullib"
includeGroup "earth.terrarium.argonauts"
includeGroup "earth.terrarium.athena"
}
}
}

sourceSets {
main {
java {
Expand Down Expand Up @@ -162,7 +93,7 @@ neoForge {
}

data {
data()
clientData()
sourceSet = sourceSets.client
loadedMods = [mods.modern_industrialization_with_client]
// example of overriding the workingDirectory set in configureEach above, uncomment if you want to use it
Expand All @@ -188,7 +119,6 @@ configurations {
}

dependencies {
api jarJar("dev.technici4n:GrandPower:${project.grandpower_version}")
api "org.jspecify:jspecify:${project.jspecify_version}"
implementation "org.appliedenergistics:guideme:${project.guideme_version}"

Expand Down Expand Up @@ -216,27 +146,27 @@ dependencies {
throw new GradleException("Invalid runtime_itemlist_mod value: " + project.runtime_itemlist_mod)
}

localRuntimeOnly compileOnly("curse.maven:jade-324717:${project.jade_file_id}")
/*localRuntimeOnly*/ compileOnly("curse.maven:jade-324717:${project.jade_file_id}")

// TODO: compileOnly because implementation will cause datagen to crash... hopefully kubejs fixes it soon
/*localRuntimeOnly*/ compileOnly("dev.latvian.mods:kubejs-neoforge:${project.kubejs_version}")

localRuntimeOnly compileOnly("appeng:appliedenergistics2:${project.ae2_version}")
// TODO: AE2 runtime
/*localRuntimeOnly*/ compileOnly("org.appliedenergistics:appliedenergistics2:${project.ae2_version}")
compileOnly "earth.terrarium.argonauts:argonauts-neoforge-${project.argonauts_minecraft_version}:${project.argonauts_version}"
localRuntimeOnly compileOnly("earth.terrarium.athena:athena-neoforge-${project.athena_minecraft_version}:${project.athena_version}")
compileOnly("earth.terrarium.athena:athena-neoforge-${project.athena_minecraft_version}:${project.athena_version}")

compileOnly "dev.ftb.mods:ftb-quests-neoforge:${project.ftb_quests_version}"
compileOnly "dev.ftb.mods:ftb-teams-neoforge:${project.ftb_teams_version}"

compileOnly "com.almostreliable.mods:almostunified-neoforge:${project.minecraft_version}-${project.au_version}:api"
compileOnly "com.almostreliable.mods:almostunified-neoforge:${project.au_minecraft_version}-${project.au_version}:api"
}

var generateModMetadata = tasks.register("generateModMetadata", ProcessResources) {
var replaceProperties = [
neo_version: neo_version,
neo_version_range: neo_version_range,
mod_version: version,
grandpower_version_range: grandpower_version_range,
guideme_version_range: guideme_version_range,
ae2_version_range: ae2_version_range,
jei_version_range: jei_version_range,
Expand All @@ -259,6 +189,7 @@ tasks.withType(JavaCompile).configureEach {
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
// If Javadoc is generated, this must be specified in that task too.
it.options.encoding = "UTF-8"
it.options.compilerArgs.addAll("-Xmaxerrs", "9999")
}

jar {
Expand Down Expand Up @@ -411,9 +342,8 @@ publishMods {
curseforge {
projectId = project.curseforge_project
accessToken = providers.environmentVariable("CURSEFORGE_API_KEY")
javaVersions.add JavaVersion.VERSION_21
javaVersions.add JavaVersion.VERSION_25
shared it
embeds "grandpower"
optional "roughly-enough-items"
}

Expand Down
4 changes: 2 additions & 2 deletions docs/ADDING_RECIPES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ In general, a machine recipe JSON in MI has the following properties:
- `fluid_outputs`: The list of fluids it produces.
- `process_conditions`: A list of additional conditions for the recipe to be processed by the machine.

You can find plenty of examples for the JSON format in [our files](../src/main/resources/data/modern_industrialization/recipes).
For example, the assembler recipe for the trash can looks [like this](../src/main/resources/data/modern_industrialization/recipes/trash_can_assembler.json).
You can find plenty of examples for the JSON format in [our files](../src/generated/resources/data/modern_industrialization/recipes).
For example, the assembler recipe for the trash can looks [like this](../src/generated/resources/data/modern_industrialization/recipes/trash_can_assembler.json).

MI adds a nicer syntax when the recipes are being registered by KubeJS:
- You need to create the recipe by specifying the values for `eu` and `duration`.
Expand Down
3 changes: 3 additions & 0 deletions docs/MACHINE_MODELS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Machine models

TODO 26.1: this needs an update

Each machine model in MI consists of two parts:
- A casing: the core cube of the machine. It that can never be rotated, and may be reused for multiple machines or by multiblock hatches.
- A set of overlays: extra textures applied on some sides.
Expand Down
30 changes: 13 additions & 17 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,9 @@ org.gradle.jvmargs=-Xmx2G \
org.gradle.configuration-cache=true

# Core NeoForge properties
minecraft_version=1.21.1
neo_version=21.1.209
neo_version_range=[21.1.209, 22-)
# For latest see https://parchmentmc.org/docs/getting-started
neoForge.parchment.minecraftVersion=1.21
neoForge.parchment.mappingsVersion=2024.07.28
minecraft_version=26.1-snapshot-4
neo_version=26.1.0.0-alpha.8+snapshot-4
neo_version_range=[26.1.0.0-alpha.8+snapshot-4, 26.2-)

# Publishing
curseforge_project=405388
Expand All @@ -23,32 +20,31 @@ modrinth_project=Gov5Dboq
# Dev runtime options
## Set to "rei", "jei", "emi", "jemi" or "none" to pick which tooltip mod gets picked at runtime
## for the dev environment.
runtime_itemlist_mod=emi
runtime_itemlist_mod=none

# Dependency versions
grandpower_version=3.0.0
grandpower_version_range=[3.0.0, 4)
guideme_version=21.1.5
guideme_version_range=[21.1.5, 21.2)
guideme_version=26.1.7-alpha
guideme_version_range=[26.1.7-alpha,)
jspecify_version=1.0.0

# Optional dependency versions
ae2_version=19.0.12-alpha
ae2_version_range=[19.0.12-alpha, 20)
ae2_version=26.1.3-alpha
ae2_version_range=[26.1.3-alpha,)
argonauts_minecraft_version=1.21
argonauts_version=2.0.0-alpha.4
athena_minecraft_version=1.21
athena_version=4.0.0
au_minecraft_version=1.21.1
au_version=1.2.5
emi_minecraft_version=1.21.1
emi_version=1.1.22
ftb_quests_version=2100.1.3
ftb_teams_version=2100.1.0
jade_file_id=5493270
jade_file_id=7313008
# JEI Versions https://github.com/mezz/JustEnoughItems#1211
jei_minecraft_version=1.21.1
jei_version=19.25.0.322
jei_version_range=[19.19.0,]
jei_minecraft_version=26.1-snapshot-1
jei_version=28.0.0.6
jei_version_range=[28.0.0.6,)
kubejs_version=2101.7.2-build.290
kubejs_version_range=[2101.7.2-build.290,]
rei_version=16.0.729
Expand Down
75 changes: 74 additions & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,80 @@ pluginManagement {
}

plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0'
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
id 'net.neoforged.moddev.repositories' version '2.0.134'
}

rootProject.name = "Modern-Industrialization"

dependencyResolutionManagement {
repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS
rulesMode = RulesMode.FAIL_ON_PROJECT_RULES
repositories {
mavenCentral()
// for KJS
maven {
url "https://www.cursemaven.com"
content {
includeGroup "curse.maven"
}
}
maven {
name "Modmaven"
url "https://modmaven.dev"
content {
includeGroup "dev.technici4n"
includeGroup "mezz.jei"
includeGroup "com.almostreliable.mods"
}
}
maven {
url "https://maven.shedaniel.me"
content {
includeGroup "me.sargunvohra.mcmods"
includeGroup "me.shedaniel.cloth"
includeGroup "me.shedaniel"
includeGroup "dev.architectury"
}
}
maven {
url "https://maven.terraformersmc.com"
content {
includeGroup "com.terraformersmc"
includeGroup "dev.emi"
}
}
maven {
name 'Jitpack'
url 'https://jitpack.io'
content {
// For KubeJS
includeGroup "com.github.rtyley"
}
}
maven {
url "https://maven.ftb.dev/releases"
content {
includeGroup "dev.ftb.mods"
}
}
// For KubeJS & FTBTeams/FTBQuests
maven {
url "https://maven.latvian.dev/releases"
content {
includeGroup "dev.latvian.apps"
includeGroup "dev.latvian.mods"
includeGroup "dev.ftb.mods"
}
}
maven {
url "https://maven.teamresourceful.com/repository/maven-public/"
content {
includeGroup "com.teamresourceful"
includeGroup "com.teamresourceful.resourcefullib"
includeGroup "earth.terrarium.argonauts"
includeGroup "earth.terrarium.athena"
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import aztech.modern_industrialization.client.util.RenderHelper;
import java.util.List;
import java.util.Optional;
import java.util.function.Supplier;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.Tooltip;
Expand All @@ -36,7 +37,7 @@ public class DynamicTooltip extends Tooltip {
private final Supplier<List<Component>> tooltipSupplier;

public DynamicTooltip(Supplier<List<Component>> tooltipSupplier) {
super(null, null);
super(null, null, Optional.empty(), null);
this.tooltipSupplier = tooltipSupplier;
}

Expand Down
Loading
Loading