aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyeyoung <cyoung06@naver.com>2023-02-27 19:31:20 +0900
committersyeyoung <cyoung06@naver.com>2023-02-27 19:44:27 +0900
commit8a891463f2c593d71f02d6f585976cd75d3d98e1 (patch)
treeb5ce7092167bb3729597f087465c469a08766245
parentd2d9c49ddabc342adb6538899eac94afe9f150fc (diff)
downloadSkyblock-Dungeons-Guide-8a891463f2c593d71f02d6f585976cd75d3d98e1.tar.gz
Skyblock-Dungeons-Guide-8a891463f2c593d71f02d6f585976cd75d3d98e1.tar.bz2
Skyblock-Dungeons-Guide-8a891463f2c593d71f02d6f585976cd75d3d98e1.zip
- Icons
Signed-off-by: syeyoung <cyoung06@naver.com>
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/CategoryItem.java11
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/GUIOpenItem.java10
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainConfigWidget.java12
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java8
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MenuItem.java10
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/DomElement.java17
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/layouter/SingleChildPassingLayouter.java3
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/categoryitem.gui42
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/categorypage.gui4
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui8
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/menuitem.gui24
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui42
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/alerts.pngbin0 -> 28046 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/blood_rush.pngbin0 -> 220990 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/bossfight.pngbin0 -> 33487 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/communication.pngbin0 -> 13024 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/cosmetics.pngbin0 -> 86492 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/debug.pngbin0 -> 5082 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/discord.pngbin0 -> 15981 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_all.pngbin0 -> 143976 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_one.pngbin0 -> 47470 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_hud.pngbin0 -> 42244 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_party.pngbin0 -> 4272 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_4.pngbin0 -> 43972 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_5.pngbin0 -> 67672 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_6.pngbin0 -> 58857 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_7.pngbin0 -> 33487 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/global_hud.pngbin0 -> 11504 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/misc.pngbin0 -> 26300 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/pathfinding__secrets.pngbin0 -> 47470 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/player__mob.pngbin0 -> 46129 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/puzzle_solvers.pngbin0 -> 23230 bytes
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/secret_browser.pngbin0 -> 162012 bytes
33 files changed, 143 insertions, 48 deletions
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/CategoryItem.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/CategoryItem.java
index 5a2c6f6c..fe0b2578 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/CategoryItem.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/CategoryItem.java
@@ -29,6 +29,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.util.ResourceLocation;
+import java.io.IOException;
import java.util.function.Supplier;
public class CategoryItem extends AnnotatedImportOnlyWidget {
@@ -37,6 +38,8 @@ public class CategoryItem extends AnnotatedImportOnlyWidget {
public final BindableAttribute<String> name = new BindableAttribute<>(String.class);
@Bind(variableName = "description")
public final BindableAttribute<String> description = new BindableAttribute<>(String.class);
+ @Bind(variableName = "icon")
+ public final BindableAttribute<String> icon = new BindableAttribute<>(String.class, "dungeonsguide:textures/dglogox128.png");
private Supplier<Widget> pageCreator;
public CategoryItem(Supplier<Widget> pageCreator, String category, String description) {
@@ -45,6 +48,14 @@ public class CategoryItem extends AnnotatedImportOnlyWidget {
this.name.setValue(category);
this.description.setValue(description);
+ try {
+ String target = "dungeonsguide:textures/config/categoryIcon/"+category.toLowerCase()
+ .replace("&","").replace(" ","_")+".png";
+ if (Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(target)) != null)
+ icon.setValue(target);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
@On(functionName = "click")
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/GUIOpenItem.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/GUIOpenItem.java
index da65f8c6..a99b1cc4 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/GUIOpenItem.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/GUIOpenItem.java
@@ -31,6 +31,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.util.ResourceLocation;
+import java.io.IOException;
import java.util.function.Supplier;
public class GUIOpenItem extends AnnotatedImportOnlyWidget {
@@ -46,7 +47,14 @@ public class GUIOpenItem extends AnnotatedImportOnlyWidget {
this.pageCreator = creator;
bindableAttribute.setValue(category);
- image.setValue("dungeonsguide:textures/config/"+category+".png");
+
+ image.setValue("dungeonsguide:textures/dglogox128.png");
+ try {
+ String target = "dungeonsguide:textures/config/categoryIcon/"+category.toLowerCase()
+ .replace("&","").replace(" ","_")+".png";
+ if (Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(target)) != null)
+ image.setValue(target);
+ } catch (IOException e) {}
}
@On(functionName = "click")
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainConfigWidget.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainConfigWidget.java
index aa25e2be..1dc6b5b9 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainConfigWidget.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainConfigWidget.java
@@ -47,6 +47,9 @@ public class MainConfigWidget extends AnnotatedImportOnlyWidget {
@Bind(variableName = "version")
public final BindableAttribute<String> version = new BindableAttribute<>(String.class, VersionInfo.VERSION);
+ @Bind(variableName = "sidebar")
+ public final BindableAttribute<String> sidebar = new BindableAttribute<>(String.class, "hide");
+
@Bind(variableName = "mainpage")
public final BindableAttribute<Widget> mainPage = new BindableAttribute<>(Widget.class, new MainPageWidget());
public MainConfigWidget() {
@@ -68,4 +71,13 @@ public class MainConfigWidget extends AnnotatedImportOnlyWidget {
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
Navigator.getNavigator(getDomElement()).goBack();
}
+
+ @On(functionName = "toggleSidebar")
+ public void toggle() {
+ Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
+ if ("show".equals(this.sidebar.getValue()))
+ this.sidebar.setValue("hide");
+ else
+ this.sidebar.setValue("show");
+ }
}
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java
index 884ff5d6..cfbce59b 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java
@@ -18,9 +18,12 @@
package kr.syeyoung.dungeonsguide.mod.config.guiconfig.configv3;
+import kr.syeyoung.dungeonsguide.mod.config.guiconfig.location2.HUDLocationConfig;
import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry;
import kr.syeyoung.dungeonsguide.mod.guiv2.BindableAttribute;
+import kr.syeyoung.dungeonsguide.mod.guiv2.GuiScreenAdapter;
import kr.syeyoung.dungeonsguide.mod.guiv2.Widget;
+import kr.syeyoung.dungeonsguide.mod.guiv2.elements.GlobalHUDScale;
import kr.syeyoung.dungeonsguide.mod.guiv2.xml.AnnotatedImportOnlyWidget;
import kr.syeyoung.dungeonsguide.mod.guiv2.xml.annotations.Bind;
import kr.syeyoung.dungeonsguide.mod.guiv2.xml.annotations.On;
@@ -54,6 +57,11 @@ public class MainPageWidget extends AnnotatedImportOnlyWidget {
.collect(Collectors.toList());
}
+ @On(functionName = "guiconfig")
+ public void guiConfig() {
+ Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
+ Minecraft.getMinecraft().displayGuiScreen(new GuiScreenAdapter(new GlobalHUDScale(new HUDLocationConfig(null)), Minecraft.getMinecraft().currentScreen));
+ }
@On(functionName = "discord")
public void discord() {
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MenuItem.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MenuItem.java
index e88c9e43..af87d15e 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MenuItem.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MenuItem.java
@@ -28,12 +28,13 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.util.ResourceLocation;
+import java.io.IOException;
import java.util.function.Supplier;
public class MenuItem extends AnnotatedImportOnlyWidget {
@Bind(variableName = "image")
- public final BindableAttribute<String> image = new BindableAttribute<>(String.class);
+ public final BindableAttribute<String> image = new BindableAttribute<>(String.class,"dungeonsguide:textures/dglogox128.png");
@Bind(variableName = "category")
public final BindableAttribute<String> bindableAttribute = new BindableAttribute<>(String.class);
@@ -43,7 +44,12 @@ public class MenuItem extends AnnotatedImportOnlyWidget {
this.pageCreator = creator;
bindableAttribute.setValue(category);
- image.setValue("dungeonsguide:textures/config/"+category+".png");
+ try {
+ String target = "dungeonsguide:textures/config/categoryIcon/"+category.toLowerCase()
+ .replace("&","").replace(" ","_")+".png";
+ if (Minecraft.getMinecraft().getResourceManager().getResource(new ResourceLocation(target)) != null)
+ image.setValue(target);
+ } catch (IOException e) {}
}
@On(functionName = "click")
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/DomElement.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/DomElement.java
index f35536be..3cf21e77 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/DomElement.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/DomElement.java
@@ -42,6 +42,17 @@ public class DomElement {
@Getter
@Setter(AccessLevel.PACKAGE)
private Renderer renderer = DrawNothingRenderer.INSTANCE; // renders element itself.
+
+ public Renderer getRenderer() {
+ if (layoutReq) {
+ layoutReq = false;
+ layouter.layout(this, new ConstraintBox(
+ size.getWidth(), size.getWidth(), size.getHeight(), size.getHeight()
+ ));
+ }
+ return renderer;
+ }
+
@Getter
@Setter(AccessLevel.PACKAGE)
private Layouter layouter = NullLayouter.INSTANCE; // layouts subelements
@@ -104,11 +115,11 @@ public class DomElement {
if (parent != null)
parent.requestRelayout();
}
+
+ private boolean layoutReq = false;
public void requestRelayout() {
if (layouter.canCutRequest() && size != null) {
- layouter.layout(this, new ConstraintBox(
- size.getWidth(), size.getWidth(), size.getHeight(), size.getHeight()
- ));
+ layoutReq = true;
return;
}
if (parent != null)
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/layouter/SingleChildPassingLayouter.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/layouter/SingleChildPassingLayouter.java
index 80075d19..a58173cf 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/layouter/SingleChildPassingLayouter.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/layouter/SingleChildPassingLayouter.java
@@ -30,7 +30,8 @@ public class SingleChildPassingLayouter implements Layouter {
@Override
public Size layout(DomElement buildContext, ConstraintBox constraintBox) {
if (buildContext.getChildren().isEmpty()) {
- return new Size(constraintBox.getMaxWidth(), constraintBox.getMaxHeight());
+ return new Size(constraintBox.getMaxWidth() == Double.POSITIVE_INFINITY ? 0 : constraintBox.getMaxWidth(),
+ constraintBox.getMaxHeight() == Double.POSITIVE_INFINITY ? 0 : constraintBox.getMaxHeight());
}
DomElement childCtx = buildContext.getChildren().get(0);
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/categoryitem.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/categoryitem.gui
index 41521764..cd9d3638 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/categoryitem.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/categoryitem.gui
@@ -16,27 +16,31 @@
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
-<padding left="5" right="5" top="5" bottom="5">
+<!--<padding left="5" right="5" top="5" bottom="5">-->
<AbstractButton on:click="click" disabled="false">
<RoundRect radius="5" backgroundColor="#FF11294d">
<col mainAlign="START" crossAlign="STRETCH">
- <padding left="5" right="5" top="5" bottom="5">
+ <padding left="3" right="5" top="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="icon" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <flexible><Text bind:text="name" color="#FFFFFFFF" size="12"/></flexible>
+ <flexible>
+ <padding top="2" bottom="2">
+ <Text bind:text="name" color="#FFFFFFFF" size="12"/>
+ </padding>
+ </flexible>
</row>
</IntrinsicHeight>
</padding>
<flexible>
- <padding left="5" bottom="5" right="5" top="3">
+ <padding left="5" bottom="5" right="5" top="5">
<Text bind:text="description" color="#FFAAAAAA"/>
</padding>
</flexible>
@@ -44,23 +48,26 @@
</RoundRect>
<RoundRect radius="5" backgroundColor="#FF1d4481" slot="hovered">
<col mainAlign="START" crossAlign="STRETCH">
- <padding left="5" right="5" top="5" bottom="5">
+ <padding left="3" right="5" top="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
-
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="icon" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <flexible><Text bind:text="name" color="#FFFFFFFF" size="12"/></flexible>
+ <flexible>
+ <padding top="2" bottom="2">
+ <Text bind:text="name" color="#FFFFFFFF" size="12"/>
+ </padding>
+ </flexible>
</row>
</IntrinsicHeight>
</padding>
<flexible>
- <padding left="5" bottom="5" right="5" top="3">
+ <padding left="5" bottom="5" right="5" top="5">
<Text bind:text="description" color="#FFAAAAAA"/>
</padding>
</flexible>
@@ -68,23 +75,26 @@
</RoundRect>
<RoundRect radius="5" backgroundColor="#FF34578e" slot="pressed">
<col mainAlign="START" crossAlign="STRETCH">
- <padding left="5" right="5" top="5" bottom="5">
+ <padding left="3" right="5" top="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
-
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="icon" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <flexible><Text bind:text="name" color="#FFFFFFFF" size="12"/></flexible>
+ <flexible>
+ <padding top="2" bottom="2">
+ <Text bind:text="name" color="#FFFFFFFF" size="12"/>
+ </padding>
+ </flexible>
</row>
</IntrinsicHeight>
</padding>
<flexible>
- <padding left="5" bottom="5" right="5" top="3">
+ <padding left="5" bottom="5" right="5" top="5">
<Text bind:text="description" color="#FFAAAAAA"/>
</padding>
</flexible>
@@ -92,4 +102,4 @@
</RoundRect>
<size slot="disabled" width="0" height="0"/>
</AbstractButton>
-</padding> \ No newline at end of file
+<!--</padding>--> \ No newline at end of file
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/categorypage.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/categorypage.gui
index 6abf4b80..2eb07353 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/categorypage.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/categorypage.gui
@@ -25,7 +25,9 @@
<padding top="5" left="5" right="5">
<Text text="Categories" size="16" color="#FFFFFFFF"/>
</padding>
- <WrapGrid minimumWidth="160" gap="5" bind:_="categories"/>
+ <padding top="3" left="3" right="3">
+ <WrapGrid minimumWidth="160" gap="5" bind:_="categories"/>
+ </padding>
<size width="0" height="5"/>
</col>
<size width="0" height="0" slot="hide"/>
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui
index 21a9d642..77fb5598 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui
@@ -34,9 +34,15 @@
<size height="20"/>
<line color="#FF747474"/>
<size height="5"/>
- <WrapGrid minimumWidth="160" gap="5" bind:_="categories"/>
+ <padding left="3" top="3" right="3" bottom="3">
+ <WrapGrid minimumWidth="160" gap="5" bind:_="categories"/>
+ </padding>
<size height="5"/>
<line color="#FF747474"/>
+ <size height="5"/>
+ <size width="80" height="30">
+ <RoundButton text="GUI Config" on:click="guiconfig"/>
+ </size>
<size height="20"/>
<row mainAlign="CENTER">
<size height="32" width="32">
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/menuitem.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/menuitem.gui
index a75f08a3..a0c624aa 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/menuitem.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/menuitem.gui
@@ -18,48 +18,54 @@
<AbstractButton on:click="click" disabled="false">
- <padding left="10" right="5" top="5" bottom="5">
+ <padding left="10" right="5" top="3" bottom="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="image" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <Text bind:text="category" color="#FFFFFFFF"/>
+ <padding top="2" bottom="2">
+ <Text bind:text="category" color="#FFFFFFFF"/>
+ </padding>
</row>
</IntrinsicHeight>
</padding>
<bgcolor backgroundColor="#FF356091" slot="hovered">
- <padding left="10" right="5" top="5" bottom="5">
+ <padding left="10" right="5" top="3" bottom="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="image" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <Text bind:text="category" color="#FFFFFFFF"/>
+ <padding top="2" bottom="2">
+ <Text bind:text="category" color="#FFFFFFFF"/>
+ </padding>
</row>
</IntrinsicHeight>
</padding>
</bgcolor>
<bgcolor backgroundColor="#FF50799E" slot="pressed">
- <padding left="10" right="5" top="5" bottom="5">
+ <padding left="10" right="5" top="3" bottom="3">
<IntrinsicHeight>
<row mainAlign="START" crossAlign="CENTER">
<aspectRatio width="1" height="1">
<Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <ResourceImage bind:location="image" width="128" height="128" textureWidth="128" textureHeight="128"/>
<RoundRect radius="3" slot="stencil"/>
</Stencil>
</aspectRatio>
<size width="5" height="0"/>
- <Text bind:text="category" color="#FFFFFFFF"/>
+ <padding top="2" bottom="2">
+ <Text bind:text="category" color="#FFFFFFFF"/>
+ </padding>
</row>
</IntrinsicHeight>
</padding>
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui
index 15699c1b..410b3423 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/normalconfig.gui
@@ -25,6 +25,15 @@
<bgcolor backgroundColor="0xFF1E4684">
<row>
<aspectRatio width="1" height="1">
+ <ColorButton on:click="toggleSidebar" hPadding="1"
+ backgroundColor="#FF1C376E" textColor="#FFFFFFFF"
+ hoveredBackgroundColor="#FF1C5692" hoveredTextColor="#FFFFFFFF"
+ disabledBackgroundColor="0" disabledTextColor="0"
+ pressedBackgroundColor="#FF1D5F9C" pressedTextColor="#FFFFFFFF"
+ text="☰"
+ />
+ </aspectRatio>
+ <aspectRatio width="1" height="1">
<ColorButton on:click="back" hPadding="1"
backgroundColor="#FF1C376E" textColor="#FFFFFFFF"
hoveredBackgroundColor="#FF1C5692" hoveredTextColor="#FFFFFFFF"
@@ -65,21 +74,26 @@
<line color="#FFFFFFFF"/>
<flexible>
<row>
- <ConstrainedBox maxWidth="150">
- <bgcolor backgroundColor="0xFF000000">
- <padding left="0" top="5" bottom="5" right="5">
- <col>
- <col bind:_="menu">
- </col>
- <padding top="4" bottom="4">
- <line color="#FFFFFFFF"/>
+ <SelectiveContainer bind:visible="sidebar">
+ <row slot="show">
+ <size width="150">
+ <bgcolor backgroundColor="0xFF000000">
+ <padding left="0" top="5" bottom="5" right="5">
+ <col>
+ <col bind:_="menu">
+ </col>
+ <padding top="4" bottom="4">
+ <line color="#FFFFFFFF"/>
+ </padding>
+ <slot bind:_="relocate"/>
+ </col>
</padding>
- <slot bind:_="relocate"/>
- </col>
- </padding>
- </bgcolor>
- </ConstrainedBox>
- <line dir="VERTICAL" color="#FFFFFFFF"/>
+ </bgcolor>
+ </size>
+ <line dir="VERTICAL" color="#FFFFFFFF"/>
+ </row>
+ <size width="0" height="0" slot="hide"/>
+ </SelectiveContainer>
<flexible>
<Navigator>
<!-- default page-->
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/alerts.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/alerts.png
new file mode 100644
index 00000000..4c87d79c
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/alerts.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/blood_rush.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/blood_rush.png
new file mode 100644
index 00000000..93d2c474
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/blood_rush.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/bossfight.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/bossfight.png
new file mode 100644
index 00000000..6d6d456c
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/bossfight.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/communication.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/communication.png
new file mode 100644
index 00000000..fc34c272
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/communication.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/cosmetics.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/cosmetics.png
new file mode 100644
index 00000000..e6db9ae8
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/cosmetics.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/debug.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/debug.png
new file mode 100644
index 00000000..f5dc3617
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/debug.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/discord.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/discord.png
new file mode 100644
index 00000000..a3ee4710
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/discord.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_all.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_all.png
new file mode 100644
index 00000000..2f1c3886
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_all.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_one.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_one.png
new file mode 100644
index 00000000..e94e14fa
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/display_one.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_hud.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_hud.png
new file mode 100644
index 00000000..b27bd8d1
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_hud.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_party.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_party.png
new file mode 100644
index 00000000..3f9b78a3
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/dungeon_party.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_4.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_4.png
new file mode 100644
index 00000000..7cadebe9
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_4.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_5.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_5.png
new file mode 100644
index 00000000..c4d288ad
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_5.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_6.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_6.png
new file mode 100644
index 00000000..2363face
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_6.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_7.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_7.png
new file mode 100644
index 00000000..6d6d456c
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/floor_7.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/global_hud.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/global_hud.png
new file mode 100644
index 00000000..be1c113f
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/global_hud.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/misc.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/misc.png
new file mode 100644
index 00000000..bbffcd15
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/misc.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/pathfinding__secrets.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/pathfinding__secrets.png
new file mode 100644
index 00000000..e94e14fa
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/pathfinding__secrets.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/player__mob.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/player__mob.png
new file mode 100644
index 00000000..d086d330
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/player__mob.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/puzzle_solvers.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/puzzle_solvers.png
new file mode 100644
index 00000000..48f69b0f
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/puzzle_solvers.png
Binary files differ
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/secret_browser.png b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/secret_browser.png
new file mode 100644
index 00000000..af590dd6
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/config/categoryIcon/secret_browser.png
Binary files differ