diff --git a/bclib.gradle b/bclib.gradle index 2ae305d4..5a1d05c6 100644 --- a/bclib.gradle +++ b/bclib.gradle @@ -24,6 +24,8 @@ repositories { maven { url 'https://maven.terraformersmc.com' } } +def local_wunderlib = findProject(':WunderLib') != null + loom { accessWidenerPath = file("src/main/resources/bclib.accesswidener") runs { @@ -49,11 +51,6 @@ sourceSets { 'src/main/generated' ] } - java { - srcDirs += [ - 'WunderLib/src/main/java' - ] - } } } @@ -66,6 +63,15 @@ dependencies { modCompileOnly "dev.emi:emi:${emi_version}" //modImplementation "dev.emi:emi:${emi_version}" + + println "Using local WunderLib: ${local_wunderlib}" + if (local_wunderlib) { + implementation project(path: ":WunderLib", configuration: 'dev') + include project(path: ":WunderLib", configuration: 'dev') + } else { + modApi "com.github.quiqueck:WunderLib:${project.wunderlib_version}" + include "com.github.quiqueck:WunderLib:${project.wunderlib_version}" + } } processResources { diff --git a/gradle.properties b/gradle.properties index 246aa87b..9bd7d99b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,4 +17,5 @@ maven_group=org.betterx.bclib archives_base_name=bclib # Dependencies modmenu_version=6.1.0-rc.3 -emi_version=0.7.3+1.19.4 \ No newline at end of file +emi_version=0.7.3+1.19.4 +wunderlib_version=1.0.1 \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 027b233d..14eef3a4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,9 +1,46 @@ pluginManagement { - repositories { - maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' - } - gradlePluginPortal() - } + repositories { + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + gradlePluginPortal() + } +} + +// #### Custom Settings #### + +// Change the next line to disable local lib loading +def allowLocalLibUse = true + +//When true, the local lib is also used in commandline builds +def allowLocalLibInConsoleMode = false + +//The path were to look for the local BCLib +def WunderLibPath = '../WunderLib' + + +// #### Logic #### +def isIDE = properties.containsKey('android.injected.invoked.from.ide') + || (System.getenv("XPC_SERVICE_NAME") ?: "").contains("intellij") + || (System.getenv("XPC_SERVICE_NAME") ?: "").contains(".idea") + || System.getenv("IDEA_INITIAL_DIRECTORY") != null + +println "IntelliJ: ${isIDE}" + +def WunderLibFolder = new File(WunderLibPath) +if (allowLocalLibUse && (isIDE || allowLocalLibInConsoleMode) && WunderLibFolder.exists()) { + println "Using local WunderLib from '${WunderLibFolder}' in IntelliJ" + println "If you do not want to load the local version of WunderLib" + println "either rename the Folder containing WunderLib to something" + println "else, or set 'allowLocalLibUse' in settings.gradle" + println "to false." + println "" + println "If you receive version-errors when launching minecraft" + println "in IntelliJ, make sure you have set up gradle instead" + println "of IntelliJ to compile and run." + + include ':WunderLib' + project(":WunderLib").projectDir = WunderLibFolder + project(':WunderLib').buildFileName = './wunderlib-composit.gradle' } diff --git a/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java b/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java index 367383ab..d46e821c 100644 --- a/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java @@ -1,5 +1,7 @@ package org.betterx.bclib.client.gui.modmenu; +import de.ambertation.wunderlib.ui.layout.components.*; +import de.ambertation.wunderlib.ui.vanilla.LayoutScreenWithIcon; import org.betterx.bclib.BCLib; import org.betterx.bclib.config.ConfigKeeper; import org.betterx.bclib.config.Configs; @@ -12,9 +14,6 @@ import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import org.wunder.lib.ui.layout.components.*; -import org.wunder.lib.ui.vanilla.LayoutScreenWithIcon; - import java.util.HashMap; import java.util.Map; import java.util.function.Supplier; diff --git a/src/main/java/org/betterx/bclib/client/gui/modmenu/TestScreen.java b/src/main/java/org/betterx/bclib/client/gui/modmenu/TestScreen.java index 5b140772..d01974ac 100644 --- a/src/main/java/org/betterx/bclib/client/gui/modmenu/TestScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/modmenu/TestScreen.java @@ -1,5 +1,9 @@ package org.betterx.bclib.client.gui.modmenu; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.*; +import de.ambertation.wunderlib.ui.layout.values.Size; +import de.ambertation.wunderlib.ui.vanilla.LayoutScreen; import org.betterx.bclib.BCLib; import net.minecraft.client.gui.screens.Screen; @@ -8,11 +12,6 @@ import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.*; -import org.wunder.lib.ui.layout.values.Size; -import org.wunder.lib.ui.vanilla.LayoutScreen; - @Environment(EnvType.CLIENT) public class TestScreen extends LayoutScreen { public TestScreen(Component component) { diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/BCLibLayoutScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/BCLibLayoutScreen.java index f91a9690..612d63ec 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/BCLibLayoutScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/BCLibLayoutScreen.java @@ -1,13 +1,12 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.vanilla.LayoutScreenWithIcon; import org.betterx.bclib.BCLib; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -import org.wunder.lib.ui.vanilla.LayoutScreenWithIcon; - import org.jetbrains.annotations.Nullable; public abstract class BCLibLayoutScreen extends LayoutScreenWithIcon { diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmFixScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmFixScreen.java index 46ac25d9..79e52ebf 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmFixScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmFixScreen.java @@ -1,6 +1,11 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.layout.components.Checkbox; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; + import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; @@ -8,11 +13,6 @@ import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.layout.components.Checkbox; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; - import org.jetbrains.annotations.Nullable; @Environment(EnvType.CLIENT) diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmRestartScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmRestartScreen.java index 6ce67c8a..947d7469 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmRestartScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/ConfirmRestartScreen.java @@ -1,15 +1,15 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; +import de.ambertation.wunderlib.ui.layout.values.Value; + import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; -import org.wunder.lib.ui.layout.values.Value; - @Environment(EnvType.CLIENT) public class ConfirmRestartScreen extends BCLibLayoutScreen { diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/LevelFixErrorScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/LevelFixErrorScreen.java index e4f89df5..d8dec75e 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/LevelFixErrorScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/LevelFixErrorScreen.java @@ -1,5 +1,10 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; + import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; @@ -7,11 +12,6 @@ import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; - @Environment(EnvType.CLIENT) public class LevelFixErrorScreen extends BCLibLayoutScreen { private final String[] errors; diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java index 93945d2e..105fe662 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java @@ -1,5 +1,10 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.Text; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; import org.betterx.bclib.api.v2.dataexchange.handler.autosync.HelloClient; import org.betterx.bclib.util.Triple; import org.betterx.worlds.together.util.ModUtil; @@ -13,12 +18,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.loader.api.metadata.ModEnvironment; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.Text; -import org.wunder.lib.ui.layout.components.VerticalStack; - import java.util.*; import java.util.stream.Collectors; diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/ProgressScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/ProgressScreen.java index bd8b10a9..f2497e9a 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/ProgressScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/ProgressScreen.java @@ -1,5 +1,10 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.*; +import de.ambertation.wunderlib.ui.layout.values.Rectangle; +import de.ambertation.wunderlib.ui.layout.values.Value; +import de.ambertation.wunderlib.ui.vanilla.LayoutScreen; import org.betterx.bclib.BCLib; import com.mojang.blaze3d.platform.GlStateManager; @@ -12,12 +17,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.ProgressListener; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.*; -import org.wunder.lib.ui.layout.values.Rectangle; -import org.wunder.lib.ui.layout.values.Value; -import org.wunder.lib.ui.vanilla.LayoutScreen; - import java.util.concurrent.atomic.AtomicInteger; import org.jetbrains.annotations.Nullable; @@ -207,7 +206,7 @@ public class ProgressScreen extends LayoutScreen implements ProgressListener, At } @Override - protected LayoutComponent addTitle(LayoutComponent content) { + protected LayoutComponent createScreen(LayoutComponent content) { return content; } @@ -215,7 +214,7 @@ public class ProgressScreen extends LayoutScreen implements ProgressListener, At protected LayoutComponent initContent() { VerticalStack grid = new VerticalStack(fill(), fill()).setDebugName("grid"); grid.addFiller(); - grid.add(buildTitle()); + grid.add(createTitle()); grid.addSpacer(4); HorizontalStack contentRow = grid.addRow(fit(), fit()) diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/SyncFilesScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/SyncFilesScreen.java index 571fa07b..4834a556 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/SyncFilesScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/SyncFilesScreen.java @@ -1,5 +1,9 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.layout.components.Checkbox; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; import org.betterx.bclib.api.v2.dataexchange.handler.autosync.HelloClient; import org.betterx.worlds.together.util.ModUtil; @@ -10,11 +14,6 @@ import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.layout.components.Checkbox; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; - @Environment(EnvType.CLIENT) public class SyncFilesScreen extends BCLibLayoutScreen { private final Component description; diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/UpdatesScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/UpdatesScreen.java index 7b69c904..3bf5c2e3 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/UpdatesScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/UpdatesScreen.java @@ -1,5 +1,11 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; +import de.ambertation.wunderlib.ui.layout.values.Size; +import de.ambertation.wunderlib.ui.layout.values.Value; import org.betterx.bclib.BCLib; import org.betterx.bclib.config.Configs; import org.betterx.bclib.networking.VersionChecker; @@ -18,13 +24,6 @@ import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.CustomValue; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; -import org.wunder.lib.ui.layout.values.Size; -import org.wunder.lib.ui.layout.values.Value; - @Environment(EnvType.CLIENT) public class UpdatesScreen extends BCLibLayoutScreen { public static final String DONATION_URL = "https://www.buymeacoffee.com/quiqueck"; diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/WarnBCLibVersionMismatch.java b/src/main/java/org/betterx/bclib/client/gui/screens/WarnBCLibVersionMismatch.java index 2e68ee9b..380bda90 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/WarnBCLibVersionMismatch.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/WarnBCLibVersionMismatch.java @@ -1,15 +1,15 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.layout.components.HorizontalStack; +import de.ambertation.wunderlib.ui.layout.components.LayoutComponent; +import de.ambertation.wunderlib.ui.layout.components.VerticalStack; + import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.wunder.lib.ui.layout.components.HorizontalStack; -import org.wunder.lib.ui.layout.components.LayoutComponent; -import org.wunder.lib.ui.layout.components.VerticalStack; - @Environment(EnvType.CLIENT) public class WarnBCLibVersionMismatch extends BCLibLayoutScreen { private final Component description; diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/WelcomeScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/WelcomeScreen.java index 2d70c852..e334a297 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/WelcomeScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/WelcomeScreen.java @@ -1,5 +1,8 @@ package org.betterx.bclib.client.gui.screens; +import de.ambertation.wunderlib.ui.ColorHelper; +import de.ambertation.wunderlib.ui.layout.components.*; +import de.ambertation.wunderlib.ui.layout.values.Size; import org.betterx.bclib.BCLib; import org.betterx.bclib.config.Configs; import org.betterx.bclib.networking.VersionChecker; @@ -15,10 +18,6 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; -import org.wunder.lib.ui.ColorHelper; -import org.wunder.lib.ui.layout.components.*; -import org.wunder.lib.ui.layout.values.Size; - public class WelcomeScreen extends BCLibLayoutScreen { static final ResourceLocation BETTERX_LOCATION = new ResourceLocation(BCLib.MOD_ID, "betterx.png"); static final ResourceLocation BACKGROUND = new ResourceLocation(BCLib.MOD_ID, "header.jpg"); @@ -169,7 +168,7 @@ public class WelcomeScreen extends BCLibLayoutScreen { } @Override - protected LayoutComponent addTitle(LayoutComponent content) { + protected LayoutComponent createScreen(LayoutComponent content) { return content; } diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java index 7d45641b..66107b9c 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/WorldSetupScreen.java @@ -1,10 +1,10 @@ package org.betterx.bclib.client.gui.screens; -import org.wunder.lib.ui.layout.components.*; -import org.wunder.lib.ui.layout.components.render.RenderHelper; -import org.wunder.lib.ui.layout.values.Rectangle; -import org.wunder.lib.ui.layout.values.Size; -import org.wunder.lib.ui.vanilla.LayoutScreen; +import de.ambertation.wunderlib.ui.layout.components.*; +import de.ambertation.wunderlib.ui.layout.components.render.RenderHelper; +import de.ambertation.wunderlib.ui.layout.values.Rectangle; +import de.ambertation.wunderlib.ui.layout.values.Size; +import de.ambertation.wunderlib.ui.vanilla.LayoutScreen; import org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource; import org.betterx.bclib.api.v2.generator.BCLibNetherBiomeSource; import org.betterx.bclib.api.v2.generator.config.BCLEndBiomeSourceConfig; @@ -332,7 +332,7 @@ public class WorldSetupScreen extends LayoutScreen { } @Override - protected LayoutComponent addTitle(LayoutComponent content) { + protected LayoutComponent createScreen(LayoutComponent content) { VerticalStack rows = new VerticalStack(fill(), fill()).setDebugName("title stack"); if (topPadding > 0) rows.addSpacer(topPadding); @@ -386,7 +386,7 @@ public class WorldSetupScreen extends LayoutScreen { title.addSpacer(4); VerticalStack logos = title.addColumn(fit(), fit()); logos.addImage(fixed(178 / 3), fixed(40 / 3), WelcomeScreen.BETTERX_LOCATION, Size.of(178, 40)); - logos.add(super.buildTitle()); + logos.add(super.createTitle()); logos.addSpacer(2); main.addFiller(); diff --git a/src/main/java/org/betterx/bclib/util/MHelper.java b/src/main/java/org/betterx/bclib/util/MHelper.java index 5ade1295..2dc41409 100644 --- a/src/main/java/org/betterx/bclib/util/MHelper.java +++ b/src/main/java/org/betterx/bclib/util/MHelper.java @@ -1,11 +1,12 @@ package org.betterx.bclib.util; +import de.ambertation.wunderlib.math.Float3; + import net.minecraft.core.Vec3i; import net.minecraft.util.RandomSource; import net.minecraft.world.level.levelgen.PositionalRandomFactory; import org.joml.Vector3f; -import org.wunder.lib.math.Float3; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; diff --git a/src/main/java/org/betterx/ui/ColorUtil.java b/src/main/java/org/betterx/ui/ColorUtil.java index 4dd8e0b3..8762c560 100644 --- a/src/main/java/org/betterx/ui/ColorUtil.java +++ b/src/main/java/org/betterx/ui/ColorUtil.java @@ -1,5 +1,6 @@ package org.betterx.ui; +import de.ambertation.wunderlib.ui.ColorHelper; import org.betterx.bclib.BCLib; import org.betterx.bclib.util.ColorExtractor; import org.betterx.bclib.util.MHelper; @@ -17,7 +18,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import com.google.common.collect.Maps; -import org.wunder.lib.ui.ColorHelper; import java.io.IOException; import java.util.ArrayList;