Added Wunderlib

This commit is contained in:
Frank 2023-05-16 22:19:07 +02:00
parent 3d74113c2b
commit 3ed04c8b67
18 changed files with 118 additions and 81 deletions

View file

@ -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 {

View file

@ -18,3 +18,4 @@ archives_base_name=bclib
# Dependencies
modmenu_version=6.1.0-rc.3
emi_version=0.7.3+1.19.4
wunderlib_version=1.0.1

View file

@ -7,3 +7,40 @@ pluginManagement {
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'
}

View file

@ -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;

View file

@ -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) {

View file

@ -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 {

View file

@ -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)

View file

@ -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 {

View file

@ -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;

View file

@ -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;

View file

@ -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())

View file

@ -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;

View file

@ -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";

View file

@ -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;

View file

@ -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;
}

View file

@ -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();

View file

@ -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;

View file

@ -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;