Skip to content

Commit

Permalink
Merge branch '1.18.x/dev' into 1.18.x/stable
Browse files Browse the repository at this point in the history
  • Loading branch information
FlashyReese committed Jul 25, 2023
2 parents 1224950 + 9a0e464 commit 83a41d4
Show file tree
Hide file tree
Showing 26 changed files with 926 additions and 83 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
![Mod loader: Fabric](https://img.shields.io/badge/modloader-Fabric-1976d2?style=flat-square&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTE2VDE2OjU0OjE3LTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHN0RXZ0OndoZW49IjIwMTgtMTItMTZUMTY6NTQ6MTctMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4/HiGMAAAAtUlEQVRYw+XXrQqAMBQF4D2P2eBL+QIG8RnEJFaNBjEum+0+zMQLtwwv+wV3ZzhhMDgfJ0wUSinxZUQWgKos1JP/AbD4OneIDyQPwCFniA+EJ4CaXm4TxAXCC0BNHgLhAdAnx9hC8PwGSRtAFVMQjF7cNTWED8B1cgwW20yfJgAvrssAsZ1cB3g/xckAxr6FmCDU5N6f488BrpCQ4rQBJkiMYh4ACmLzwOQF0CExinkCsvw7vgGikl+OotaKRwAAAABJRU5ErkJggg==)
![Version](https://img.shields.io/github/v/tag/FlashyReese/reeses-sodium-options?label=version&style=flat-square)
[![CurseForge](http://cf.way2muchnoise.eu/title/511319.svg)](https://www.curseforge.com/minecraft/mc-mods/reeses-sodium-options)
[![Support Server](https://img.shields.io/discord/748363294749753484.svg?color=7289da&label=FlashyReese&logo=discord&style=flat-square)](https://discord.gg/TBGGM9VzH9)
[![Support Server](https://img.shields.io/discord/748363294749753484.svg?color=7289da&label=FlashyReese&logo=discord&style=flat-square)](https://discord.gg/MPHVG6MH4e)

Reese's Edition of Sodium Options

Expand Down
14 changes: 10 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'org.ajoberstar.grgit' version '5.0.0'
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'fabric-loom' version '1.3-SNAPSHOT'
id 'maven-publish'
id 'signing'
}
Expand All @@ -20,6 +20,12 @@ repositories {
includeGroup "maven.modrinth"
}
}
maven {
url "https://maven.flashyreese.me/releases"
}
maven {
url "https://maven.flashyreese.me/snapshots"
}
}

dependencies {
Expand All @@ -29,11 +35,11 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

//modImplementation "me.jellysquid.mods:sodium-fabric:0.4.10+build.219"
modImplementation "maven.modrinth:sodium:${project.sodium_version}"
implementation "org.joml:joml:1.10.2"
modImplementation "maven.modrinth:iris:${project.iris_version}"
//modImplementation "maven.modrinth:iris:${project.iris_version}"

modRuntimeOnly "maven.modrinth:lazydfu:0.1.2"
//modRuntimeOnly "maven.modrinth:lazydfu:0.1.3"
}

processResources {
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ org.gradle.jvmargs=-Xmx1G
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.18.2
yarn_mappings=1.18.2+build.4
loader_version=0.14.14
loader_version=0.14.21
# Mod Properties
mod_version=1.5.0
mod_version=1.6.0
maven_group=me.flashyreese.mods
archives_base_name=reeses_sodium_options

# Dependency
sodium_version=mc1.18.2-0.4.1
iris_version=1.5.2+1.18.2
iris_version=1.6.4+1.18.2

#Fabric api
fabric_version=0.67.1+1.18.2
fabric_version=0.76.0+1.18.2
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
11 changes: 6 additions & 5 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,6 @@ done
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum

Expand Down Expand Up @@ -144,15 +141,15 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down Expand Up @@ -197,6 +194,10 @@ if "$cygwin" || "$msys" ; then
done
fi


# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ public interface Dim2iExtended {
void setHeight(int height);

boolean canFitDimension(Dim2i anotherDim);

boolean overlapWith(Dim2i anotherDim);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package me.flashyreese.mods.reeses_sodium_options.client.gui;

import me.jellysquid.mods.sodium.client.util.Dim2i;

public interface OptionExtended {
boolean isHighlight();

void setHighlight(boolean highlight);

Dim2i getDim2i();

void setDim2i(Dim2i dim2i);

Dim2i getParentDimension();

void setParentDimension(Dim2i dim2i);

boolean getSelected();

void setSelected(boolean selected);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package me.flashyreese.mods.reeses_sodium_options.client.gui;

public interface SliderControlElementExtended {
boolean isEditMode();

void setEditMode(boolean editMode);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import me.flashyreese.mods.reeses_sodium_options.client.gui.frame.AbstractFrame;
import me.flashyreese.mods.reeses_sodium_options.client.gui.frame.BasicFrame;
import me.flashyreese.mods.reeses_sodium_options.client.gui.frame.components.SearchTextFieldComponent;
import me.flashyreese.mods.reeses_sodium_options.client.gui.frame.tab.Tab;
import me.flashyreese.mods.reeses_sodium_options.client.gui.frame.tab.TabFrame;
import me.flashyreese.mods.reeses_sodium_options.compat.IrisCompat;
import me.jellysquid.mods.sodium.client.SodiumClientMod;
import me.jellysquid.mods.sodium.client.gui.SodiumGameOptions;
import me.jellysquid.mods.sodium.client.gui.options.Option;
Expand All @@ -12,15 +14,13 @@
import me.jellysquid.mods.sodium.client.gui.options.storage.OptionStorage;
import me.jellysquid.mods.sodium.client.gui.widgets.FlatButtonWidget;
import me.jellysquid.mods.sodium.client.util.Dim2i;
import net.fabricmc.loader.api.FabricLoader;
import net.irisshaders.iris.api.v0.IrisApi;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.option.VideoOptionsScreen;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.TranslatableText;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Util;
import org.lwjgl.glfw.GLFW;

Expand All @@ -38,23 +38,39 @@ public class SodiumVideoOptionsScreen extends Screen {
private static final AtomicReference<Integer> tabFrameScrollBarOffset = new AtomicReference<>(0);
private static final AtomicReference<Integer> optionPageScrollBarOffset = new AtomicReference<>(0);

private static final AtomicReference<String> lastSearch = new AtomicReference<>("");
private static final AtomicReference<Integer> lastSearchIndex = new AtomicReference<>(0);

private final Screen prevScreen;
private final List<OptionPage> pages = new ArrayList<>();
private AbstractFrame frame;
private FlatButtonWidget applyButton, closeButton, undoButton;
private FlatButtonWidget donateButton, hideDonateButton;
private boolean hasPendingChanges;

private SearchTextFieldComponent searchTextField;

public SodiumVideoOptionsScreen(Screen prev, List<OptionPage> pages) {
super(new LiteralText("Reese's Sodium Menu"));
this.prevScreen = prev;
this.pages.addAll(pages);
}

// Hackalicious! Rebuild UI
public void rebuildUI() {
this.clearChildren();
this.init();
}

@Override
protected void init() {
this.frame = this.parentFrameBuilder().build();
this.addDrawableChild(this.frame);

this.searchTextField.setFocused(!lastSearch.get().trim().isEmpty());
if (this.searchTextField.isFocused()) {
this.setFocused(this.searchTextField);
}
}

protected BasicFrame.Builder parentFrameBuilder() {
Expand Down Expand Up @@ -90,20 +106,39 @@ protected BasicFrame.Builder parentFrameBuilder() {
this.setDonationButtonVisibility(false);
}


Dim2i searchTextFieldDim;
if (SodiumClientMod.options().notifications.hideDonationButton) {
searchTextFieldDim = new Dim2i(tabFrameDim.x(), tabFrameDim.y() - 26, tabFrameDim.width(), 20);
} else {
searchTextFieldDim = new Dim2i(tabFrameDim.x(), tabFrameDim.y() - 26, donateButtonDim.x() - 12, 20);
}


basicFrameBuilder = this.parentBasicFrameBuilder(basicFrameDim, tabFrameDim);

if (FabricLoader.getInstance().isModLoaded("iris")) {
int size = this.client.textRenderer.getWidth(new TranslatableText(IrisApi.getInstance().getMainScreenLanguageKey()));
if (IrisCompat.isIrisPresent()) { // FabricLoader.getInstance().isModLoaded("iris")) {
//int size = this.client.textRenderer.getWidth(new TranslatableText(IrisApi.getInstance().getMainScreenLanguageKey()));
int size = this.client.textRenderer.getWidth(new TranslatableText(IrisCompat.getIrisShaderPacksScreenLanguageKey()));
Dim2i shaderPackButtonDim;
if (!SodiumClientMod.options().notifications.hideDonationButton) {
shaderPackButtonDim = new Dim2i(donateButtonDim.x() - 12 - size, tabFrameDim.y() - 26, 10 + size, 20);
searchTextFieldDim = new Dim2i(tabFrameDim.x(), tabFrameDim.y() - 26, donateButtonDim.x() - 12 - size - 12, 20);
} else {
shaderPackButtonDim = new Dim2i(tabFrameDim.getLimitX() - size - 10, tabFrameDim.y() - 26, 10 + size, 20);
searchTextFieldDim = new Dim2i(tabFrameDim.x(), tabFrameDim.y() - 26, tabFrameDim.getLimitX() - size - 10 - 12, 20);
}
FlatButtonWidget shaderPackButton = new FlatButtonWidget(shaderPackButtonDim, new TranslatableText(IrisApi.getInstance().getMainScreenLanguageKey()), () -> this.client.setScreen((Screen) IrisApi.getInstance().openMainIrisScreenObj(this)));

//FlatButtonWidget shaderPackButton = new FlatButtonWidget(shaderPackButtonDim, new TranslatableText(IrisApi.getInstance().getMainScreenLanguageKey()), () -> this.client.setScreen((Screen) IrisApi.getInstance().openMainIrisScreenObj(this)));
FlatButtonWidget shaderPackButton = new FlatButtonWidget(shaderPackButtonDim, new TranslatableText(IrisCompat.getIrisShaderPacksScreenLanguageKey()), () -> this.client.setScreen(IrisCompat.getIrisShaderPacksScreen(this)));
basicFrameBuilder.addChild(dim -> shaderPackButton);
}

this.searchTextField = new SearchTextFieldComponent(searchTextFieldDim, this.pages, tabFrameSelectedTab,
tabFrameScrollBarOffset, optionPageScrollBarOffset, tabFrameDim.height(), this, lastSearch, lastSearchIndex);

basicFrameBuilder.addChild(dim -> this.searchTextField);

return basicFrameBuilder;
}

Expand All @@ -121,7 +156,11 @@ public BasicFrame.Builder parentBasicFrameBuilder(Dim2i parentBasicFrameDim, Dim
.shouldRenderOutline(false)
.setTabSectionScrollBarOffset(tabFrameScrollBarOffset)
.setTabSectionSelectedTab(tabFrameSelectedTab)
.addTabs(tabs -> this.pages.stream().filter(page -> !page.getGroups().isEmpty()).forEach(page -> tabs.add(Tab.createBuilder().from(page, optionPageScrollBarOffset))))
.addTabs(tabs -> this.pages
.stream()
.filter(page -> !page.getGroups().isEmpty())
.forEach(page -> tabs.add(Tab.createBuilder().from(page, optionPageScrollBarOffset)))
)
.onSetTab(() -> {
optionPageScrollBarOffset.set(0);
})
Expand All @@ -130,10 +169,10 @@ public BasicFrame.Builder parentBasicFrameBuilder(Dim2i parentBasicFrameDim, Dim
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
super.renderBackground(matrices);
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float delta) {
super.renderBackground(matrixStack);
this.updateControls();
this.frame.render(matrices, mouseX, mouseY, delta);
this.frame.render(matrixStack, mouseX, mouseY, delta);
}

private void updateControls() {
Expand Down Expand Up @@ -172,10 +211,8 @@ private void hideDonationButton() {

this.setDonationButtonVisibility(false);

// Hackalicious! Rebuild UI
this.remove(this.frame);
this.frame = this.parentFrameBuilder().build();
this.addDrawableChild(this.frame);

this.rebuildUI();
}

private void openDonationPage() {
Expand Down Expand Up @@ -242,6 +279,8 @@ public boolean shouldCloseOnEsc() {

@Override
public void close() {
lastSearch.set("");
lastSearchIndex.set(0);
this.client.setScreen(this.prevScreen);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,12 @@ public void buildFrame() {
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float delta) {
if (this.renderOutline) {
this.drawRectOutline(this.dim.x(), this.dim.y(), this.dim.getLimitX(), this.dim.getLimitY(), 0xFFAAAAAA);
}
for (Drawable drawable : this.drawable) {
drawable.render(matrices, mouseX, mouseY, delta);
drawable.render(matrixStack, mouseX, mouseY, delta);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ public void buildFrame() {
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
super.render(matrices, mouseX, mouseY, delta);
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float delta) {
super.render(matrixStack, mouseX, mouseY, delta);
}

public static class Builder {
Expand Down
Loading

0 comments on commit 83a41d4

Please sign in to comment.