diff --git a/build.gradle b/build.gradle index 0af4e12f389..138826b3849 100644 --- a/build.gradle +++ b/build.gradle @@ -62,18 +62,7 @@ dependencies { // Used for the guide export guideExportOnly("org.bytedeco:ffmpeg-platform:${ffmpeg_version}") - implementation("appeng:guideme") - // Do not inherit any transitive dependencies here since we rely on those transitive dependencies being - // present in Minecrafts own dependencies already. - additionalRuntimeClasspath("io.methvin:directory-watcher:${directory_watcher_version}") { - transitive = false - } - additionalRuntimeClasspath("org.yaml:snakeyaml:${snakeyaml_version}") { - transitive = false - } - additionalRuntimeClasspath("com.google.flatbuffers:flatbuffers-java:${flatbuffers_version}") { - transitive = false - } + implementation(jarJar("appeng:guideme:${guideme_version}")) // compile against provided APIs compileOnly "dev.emi:emi-neoforge:${emi_version}:api" @@ -124,8 +113,6 @@ dependencies { testImplementation("org.mockito:mockito-junit-jupiter:5.12.0") testImplementation("net.neoforged:testframework:${project.neoforge_version}") - compileOnly 'org.apache.commons:commons-configuration2:2.9.0' - buildtoolsImplementation 'de.siegmar:fastcsv:2.1.0' buildtoolsImplementation 'com.google.code.gson:gson:2.8.9' } @@ -170,7 +157,6 @@ dependencies { * Configures properties common to all run configurations */ Map commonSystemProperties = [ - 'forge.logging.console.level': 'debug', 'appeng.tests' : 'true', ] @@ -186,24 +172,24 @@ neoForge { gameDirectory = project.file('run') systemProperties = commonSystemProperties // property "mixin.debug.export", "true" - logLevel = org.slf4j.event.Level.DEBUG - systemProperties.put("guideme.ae2.guide.sources", file("guidebook").absolutePath) + logLevel = org.slf4j.event.Level.INFO + systemProperty('guideme.ae2.guide.sources', file('guidebook').absolutePath) } client { client() - systemProperties.put("appeng.tests", "true") + systemProperty('appeng.tests', 'true') } gametestWorld { client() programArguments = [ - "--username", "AE2Dev", "--quickPlaySingleplayer", "GametestWorld" + '--username', 'AE2Dev', '--quickPlaySingleplayer', 'GametestWorld' ] - systemProperties.put("appeng.tests", "true") + systemProperty('appeng.tests', 'true') } guide { client() - systemProperties.put("guideme.ae2.guide.startupPage", "ae2:index.md") + systemProperty('guideme.showOnStartup', 'ae2:guide') } server { server() @@ -219,14 +205,13 @@ neoForge { } guideexport { client() - systemProperties.put("guideme.ae2.guide.export.runAndExit", "true") - systemProperties.put("guideme.ae2.guide.export.destination", file("build/guide").absolutePath) - systemProperties.put("guideme.ae2.guide.export.version", project.version) + systemProperty('appeng.runGuideExportAndExit', 'true') + systemProperty('appeng.guideExportFolder', file('build/guide').absolutePath) } // Use to run the tests gametest { - type = "gameTestServer" - gameDirectory = project.file("build/gametest") + type = 'gameTestServer' + gameDirectory = project.file('build/gametest') } } diff --git a/gradle.properties b/gradle.properties index 041f0b67113..0b65a924b3b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,6 +22,7 @@ neoForge.parchment.mappingsVersion=2024.07.07 ######################################################### # Provided APIs # ######################################################### +guideme_version=1.0.3 top_minecraft_release=1.20 top_version=1.20.4_neo-11.0.1-2 emi_version=1.1.10+1.21 diff --git a/settings.gradle b/settings.gradle index e3469d1ed90..a7512c11ea9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,51 +21,59 @@ dependencyResolutionManagement { repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS rulesMode = RulesMode.FAIL_ON_PROJECT_RULES repositories { + mavenLocal() maven { - url = "https://maven.shedaniel.me/" + url = 'https://maven.shedaniel.me/' content { - includeGroup "me.shedaniel" - includeGroup "me.shedaniel.cloth" - includeGroup "dev.architectury" + includeGroup 'me.shedaniel' + includeGroup 'me.shedaniel.cloth' + includeGroup 'dev.architectury' } } maven { - url = "https://maven2.bai.lol" + url = 'https://maven2.bai.lol' content { - includeGroup "mcp.mobius.waila" - includeGroup "lol.bai" + includeGroup 'mcp.mobius.waila' + includeGroup 'lol.bai' } } maven { - name = "TerraformersMC" - url = "https://maven.terraformersmc.com/" + name = 'TerraformersMC' + url = 'https://maven.terraformersmc.com/' content { - includeGroup "dev.emi" + includeGroup 'dev.emi' } } maven { name = 'cursemaven' - url = "https://www.cursemaven.com" + url = 'https://www.cursemaven.com' content { - includeGroup "curse.maven" + includeGroup 'curse.maven' } } maven { // for TOP - url = "https://maven.k-4u.nl/" + url = 'https://maven.k-4u.nl/' content { - includeGroup "mcjty.theoneprobe" + includeGroup 'mcjty.theoneprobe' } } maven { - url = "https://maven.theillusivec4.top/" + url = 'https://maven.theillusivec4.top/' content { - includeGroup "top.theillusivec4.curios" + includeGroup 'top.theillusivec4.curios' } } maven { - url = "https://maven.blamejared.com/" + url = 'https://maven.blamejared.com/' content { - includeGroup "mezz.jei" + includeGroup 'mezz.jei' + } + } + maven { + name = 'modmaven' + url = 'https://modmaven.dev/' + content { + includeGroup 'appeng' } } mavenCentral() @@ -73,5 +81,3 @@ dependencyResolutionManagement { } rootProject.name = 'ae2'; - -includeBuild '../../GuideME' diff --git a/src/main/java/appeng/client/guidebook/LytChargerRecipe.java b/src/main/java/appeng/client/guidebook/LytChargerRecipe.java index c649845d916..f2505e1a2d0 100644 --- a/src/main/java/appeng/client/guidebook/LytChargerRecipe.java +++ b/src/main/java/appeng/client/guidebook/LytChargerRecipe.java @@ -1,6 +1,5 @@ package appeng.client.guidebook; -import guideme.render.GuiAssets; import net.minecraft.world.item.crafting.RecipeHolder; import guideme.document.DefaultStyles; @@ -8,6 +7,7 @@ import guideme.document.block.LytSlot; import guideme.document.block.recipes.LytRecipeBox; import guideme.layout.LayoutContext; +import guideme.render.GuiAssets; import guideme.render.RenderContext; import appeng.core.definitions.AEBlocks; diff --git a/src/main/java/appeng/client/guidebook/LytInscriberRecipe.java b/src/main/java/appeng/client/guidebook/LytInscriberRecipe.java index c5b17c8c121..c145a4823eb 100644 --- a/src/main/java/appeng/client/guidebook/LytInscriberRecipe.java +++ b/src/main/java/appeng/client/guidebook/LytInscriberRecipe.java @@ -1,13 +1,13 @@ package appeng.client.guidebook; -import guideme.render.GuiAssets; import net.minecraft.world.item.crafting.RecipeHolder; import guideme.document.LytRect; import guideme.document.block.LytSlot; import guideme.document.block.recipes.LytRecipeBox; import guideme.layout.LayoutContext; +import guideme.render.GuiAssets; import guideme.render.RenderContext; import appeng.recipes.handlers.InscriberRecipe; @@ -49,8 +49,7 @@ public void render(RenderContext context) { context.renderPanel(bounds); context.fillIcon(new LytRect( - bounds.x() + 23, bounds.y() + 12, 46, 50), GuiAssets.ARROW - ); + bounds.x() + 23, bounds.y() + 12, 46, 50), GuiAssets.ARROW); super.render(context); } diff --git a/src/main/java/appeng/client/guidebook/LytTransformRecipe.java b/src/main/java/appeng/client/guidebook/LytTransformRecipe.java index fd6b0e727c8..a2ef3b27267 100644 --- a/src/main/java/appeng/client/guidebook/LytTransformRecipe.java +++ b/src/main/java/appeng/client/guidebook/LytTransformRecipe.java @@ -1,7 +1,11 @@ package appeng.client.guidebook; -import appeng.recipes.transform.TransformRecipe; -import appeng.util.Platform; +import net.minecraft.tags.FluidTags; +import net.minecraft.world.item.crafting.RecipeHolder; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.Fluids; + import guideme.document.DefaultStyles; import guideme.document.LytRect; import guideme.document.block.LytSlot; @@ -10,11 +14,9 @@ import guideme.layout.LayoutContext; import guideme.render.GuiAssets; import guideme.render.RenderContext; -import net.minecraft.tags.FluidTags; -import net.minecraft.world.item.crafting.RecipeHolder; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.Fluids; + +import appeng.recipes.transform.TransformRecipe; +import appeng.util.Platform; public class LytTransformRecipe extends LytRecipeBox { private final TransformRecipe recipe; @@ -94,8 +96,7 @@ public void render(RenderContext context) { context.fillIcon( new LytRect(bounds.right() - 25 - 24, bounds.y() + 10 + (bounds.height() - 27) / 2, 24, 17), - GuiAssets.ARROW - ); + GuiAssets.ARROW); super.render(context); } diff --git a/src/main/java/appeng/core/AppEngClient.java b/src/main/java/appeng/core/AppEngClient.java index cab0ebe6a09..5996a2eb768 100644 --- a/src/main/java/appeng/core/AppEngClient.java +++ b/src/main/java/appeng/core/AppEngClient.java @@ -25,7 +25,6 @@ import com.mojang.blaze3d.platform.InputConstants; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import guideme.Guide; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -68,12 +67,13 @@ import net.neoforged.neoforge.event.server.ServerStartingEvent; import net.neoforged.neoforge.network.PacketDistributor; -import guideme.internal.GuideME; -import guideme.MutableGuide; +import guideme.Guide; import guideme.PageAnchor; -import guideme.internal.command.GuidebookStructureCommands; import guideme.compiler.TagCompiler; import guideme.compiler.tags.RecipeTypeMappingSupplier; +import guideme.internal.GuideME; +import guideme.internal.MutableGuide; +import guideme.internal.command.GuidebookStructureCommands; import guideme.scene.ImplicitAnnotationStrategy; import appeng.api.parts.CableRenderMode; @@ -129,6 +129,7 @@ import appeng.init.client.InitStackRenderHandlers; import appeng.items.storage.StorageCellTooltipComponent; import appeng.recipes.AERecipeTypes; +import appeng.siteexport.AESiteExporter; import appeng.spatial.SpatialStorageDimensionIds; import appeng.spatial.SpatialStorageSkyProperties; import appeng.util.Platform; @@ -351,9 +352,8 @@ private void postClientSetup(Minecraft minecraft) { if (Boolean.getBoolean("appeng.runGuideExportAndExit")) { Path outputFolder = Paths.get(System.getProperty("appeng.guideExportFolder")); - // TODO SiteExporter.builder(minecraft, outputFolder, guide) - // TODO .build() - // TODO .register(); + new AESiteExporter(minecraft, outputFolder, guide) + .exportOnNextTickAndExit(); } } } diff --git a/src/main/java/appeng/siteexport/AESiteExporter.java b/src/main/java/appeng/siteexport/AESiteExporter.java index 9c282a638bd..52f1b2f8e98 100644 --- a/src/main/java/appeng/siteexport/AESiteExporter.java +++ b/src/main/java/appeng/siteexport/AESiteExporter.java @@ -17,7 +17,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.Fluids; -import guideme.MutableGuide; +import guideme.internal.MutableGuide; import guideme.internal.siteexport.SiteExporter; import appeng.client.guidebook.ConfigValueTagExtension;