aboutsummaryrefslogtreecommitdiff
path: root/mod/src/main
diff options
context:
space:
mode:
authorsyeyoung <cyoung06@naver.com>2023-02-03 11:57:43 +0900
committersyeyoung <cyoung06@naver.com>2023-02-03 11:57:43 +0900
commit9fdf5d426d2a6267dbd218cec49abdeebd00e153 (patch)
treec5da5ee167ece02d0989b6abbc3dbe5fcbf686d3 /mod/src/main
parent1c4eace48270b2c5ce1a7a8a9eb05fb32d900399 (diff)
downloadSkyblock-Dungeons-Guide-9fdf5d426d2a6267dbd218cec49abdeebd00e153.tar.gz
Skyblock-Dungeons-Guide-9fdf5d426d2a6267dbd218cec49abdeebd00e153.tar.bz2
Skyblock-Dungeons-Guide-9fdf5d426d2a6267dbd218cec49abdeebd00e153.zip
- time for FeatureParameter fix
Signed-off-by: syeyoung <cyoung06@naver.com>
Diffstat (limited to 'mod/src/main')
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/DefaultConfigurePageWidget.java39
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/FeatureItem.java14
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/MainPageWidget.java30
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDWidgetWrapper.java5
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractFeature.java22
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractHUDFeature.java6
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/secret/mechanicbrowser/FeatureMechanicBrowse.java10
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java6
-rw-r--r--mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/xml/DomElementRegistry.java1
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/configure.gui26
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/featureitem.gui15
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui18
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/elements/iconButton.gui51
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/gui/elements/simpleToggleButton.gui32
-rw-r--r--mod/src/main/resources/assets/dungeonsguide/textures/darklogo.png (renamed from mod/src/main/resources/assets/dungeonsguide/textures/unknown.png)bin10672 -> 10672 bytes
15 files changed, 231 insertions, 44 deletions
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/DefaultConfigurePageWidget.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/DefaultConfigurePageWidget.java
new file mode 100644
index 00000000..74369e29
--- /dev/null
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/DefaultConfigurePageWidget.java
@@ -0,0 +1,39 @@
+/*
+ * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod
+ * Copyright (C) 2023 cyoung06 (syeyoung)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+package kr.syeyoung.dungeonsguide.mod.config.guiconfig.configv3;
+
+import kr.syeyoung.dungeonsguide.mod.guiv2.BindableAttribute;
+import kr.syeyoung.dungeonsguide.mod.guiv2.Widget;
+import kr.syeyoung.dungeonsguide.mod.guiv2.xml.AnnotatedImportOnlyWidget;
+import kr.syeyoung.dungeonsguide.mod.guiv2.xml.annotations.Bind;
+import kr.syeyoung.dungeonsguide.mod.guiv2.xml.data.WidgetList;
+import net.minecraft.util.ResourceLocation;
+
+import java.util.List;
+
+public class DefaultConfigurePageWidget extends AnnotatedImportOnlyWidget {
+
+ @Bind(variableName = "widgets")
+ public final BindableAttribute bindableAttribute = new BindableAttribute(WidgetList.class);
+
+ public DefaultConfigurePageWidget(List<Widget> widgets) {
+ super(new ResourceLocation("dungeonsguide:gui/config/configure.gui"));
+ bindableAttribute.setValue(widgets);
+ }
+}
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/FeatureItem.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/FeatureItem.java
index e91b20d3..5a0c99dc 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/FeatureItem.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/configv3/FeatureItem.java
@@ -51,6 +51,13 @@ public class FeatureItem extends AnnotatedImportOnlyWidget {
@Bind(variableName = "isEnabled")
public final BindableAttribute<Boolean> enabled = new BindableAttribute<>(Boolean.class);
+
+ @Bind(variableName = "iconVisibility")
+ public final BindableAttribute<String> iconVisibility = new BindableAttribute<>(String.class, "hide");
+ @Bind(variableName = "icon")
+ public final BindableAttribute<String> icon = new BindableAttribute<>(String.class, "dungeonsguide:textures/darklogo.png");
+
+
private AbstractFeature feature;
public FeatureItem(AbstractFeature feature) {
@@ -61,7 +68,7 @@ public class FeatureItem extends AnnotatedImportOnlyWidget {
this.description.setValue(feature.getDescription());
guiRelocateShow.setValue(feature instanceof AbstractHUDFeature ? "show" : "hide");
- configureShow.setValue("show");
+ configureShow.setValue(feature.getConfigureWidget() != null ? "show" : "hide");
enableShow.setValue(feature.isDisyllable() ? "show" : "hide");
enabled.setValue(feature.isEnabled());
@@ -69,6 +76,11 @@ public class FeatureItem extends AnnotatedImportOnlyWidget {
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.create(new ResourceLocation("gui.button.press"), 1.0F));
feature.setEnabled(neu);
});
+
+ if (feature.getIcon() != null) {
+ icon.setValue(feature.getIcon());
+ iconVisibility.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 232bb090..8c67ab4c 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
@@ -23,9 +23,14 @@ import kr.syeyoung.dungeonsguide.mod.guiv2.BindableAttribute;
import kr.syeyoung.dungeonsguide.mod.guiv2.Widget;
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;
import kr.syeyoung.dungeonsguide.mod.guiv2.xml.data.WidgetList;
import net.minecraft.util.ResourceLocation;
+import java.awt.*;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,4 +52,29 @@ public class MainPageWidget extends AnnotatedImportOnlyWidget {
.collect(Collectors.toList());
}
+ @On(functionName = "discord")
+ public void discord() {
+ try {
+ Desktop.getDesktop().browse(new URI("https://discord.gg/VuxayCWGE8"));
+ } catch (IOException | URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @On(functionName = "github")
+ public void github() {
+ try {
+ Desktop.getDesktop().browse(new URI("https://github.com/Dungeons-Guide/Skyblock-Dungeons-Guide/"));
+ } catch (IOException | URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
+ @On(functionName = "store")
+ public void store() {
+ try {
+ Desktop.getDesktop().browse(new URI("https://store.dungeons.guide/"));
+ } catch (IOException | URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDWidgetWrapper.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDWidgetWrapper.java
index 63e6d44d..f47b5e4f 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDWidgetWrapper.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDWidgetWrapper.java
@@ -39,6 +39,7 @@ import org.lwjgl.input.Mouse;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.LinkedList;
import java.util.List;
public class HUDWidgetWrapper extends Widget implements Layouter {
@@ -157,8 +158,10 @@ public class HUDWidgetWrapper extends Widget implements Layouter {
if (mouseButton == 0) return false;
if (!enable) return false;
+ List<Widget> widgets = new LinkedList<>();
+ abstractHUDFeature.getTooltipForEditor(widgets);
PopupMgr.getPopupMgr(getDomElement()).openPopup(new AbsLocationPopup(
- absMouseX, absMouseY, new WidgetPopupMenu(abstractHUDFeature.getTooltipForEditor()), true
+ absMouseX, absMouseY, new WidgetPopupMenu(widgets), true
), null);
return true;
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractFeature.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractFeature.java
index 4d1e4892..ad24b68f 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractFeature.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractFeature.java
@@ -25,16 +25,15 @@ import kr.syeyoung.dungeonsguide.mod.config.guiconfig.ConfigPanelCreator;
import kr.syeyoung.dungeonsguide.mod.config.guiconfig.MFeatureEdit;
import kr.syeyoung.dungeonsguide.mod.config.guiconfig.MParameterEdit;
import kr.syeyoung.dungeonsguide.mod.config.guiconfig.RootConfigPanel;
+import kr.syeyoung.dungeonsguide.mod.config.guiconfig.configv3.DefaultConfigurePageWidget;
import kr.syeyoung.dungeonsguide.mod.config.types.TypeConverter;
import kr.syeyoung.dungeonsguide.mod.config.types.TypeConverterRegistry;
import kr.syeyoung.dungeonsguide.mod.gui.MPanel;
+import kr.syeyoung.dungeonsguide.mod.guiv2.Widget;
import lombok.Getter;
import lombok.Setter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public abstract class AbstractFeature implements IFeature {
@Getter
@@ -109,6 +108,21 @@ public abstract class AbstractFeature implements IFeature {
return "base." + key ;
}
+ public Widget getConfigureWidget() {
+ List<Widget> widgets = new LinkedList<>();
+ setupConfigureWidget(widgets);
+ if (widgets.isEmpty()) return null;
+ return new DefaultConfigurePageWidget(widgets);
+ }
+
+ public void setupConfigureWidget(List<Widget> widgets) {
+
+ }
+
+ public String getIcon() {
+ return null;
+ }
+
public void onParameterReset() {}
public boolean isDisyllable() {
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractHUDFeature.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractHUDFeature.java
index 06eff88d..2b990d8e 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractHUDFeature.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/AbstractHUDFeature.java
@@ -113,9 +113,8 @@ public abstract class AbstractHUDFeature extends AbstractGuiFeature {
return object;
}
- public List<Widget> getTooltipForEditor() {
- ArrayList<Widget> mPanels = new ArrayList<>();
- mPanels.add(new Text(getName(), 0xFFFFFFFF, Text.TextAlign.CENTER, Text.WordBreak.WORD, 1.0, 8.0));
+ public void getTooltipForEditor(List<Widget> widgets) {
+ widgets.add(new Text(getName(), 0xFFFFFFFF, Text.TextAlign.CENTER, Text.WordBreak.WORD, 1.0, 8.0));
// mPanels.add(new MButton() {
// {
// setText("Edit");
@@ -142,6 +141,5 @@ public abstract class AbstractHUDFeature extends AbstractGuiFeature {
// AbstractHUDFeature.this.setEnabled(isEnabled());
// }); }
// }));
- return mPanels;
}
}
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/secret/mechanicbrowser/FeatureMechanicBrowse.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/secret/mechanicbrowser/FeatureMechanicBrowse.java
index 7b238aba..32f46f5b 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/secret/mechanicbrowser/FeatureMechanicBrowse.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/secret/mechanicbrowser/FeatureMechanicBrowse.java
@@ -52,10 +52,8 @@ import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL14;
import java.awt.*;
+import java.util.*;
import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.UUID;
public class FeatureMechanicBrowse extends RawRenderingGuiFeature {
@@ -157,16 +155,14 @@ public class FeatureMechanicBrowse extends RawRenderingGuiFeature {
}
}
@Override
- public List<Widget> getTooltipForEditor() {
- List<Widget> mPanels = super.getTooltipForEditor();
+ public void getTooltipForEditor(List<Widget> widgets) {
+ super.getTooltipForEditor(widgets);
// mPanels.add(new MPassiveLabelAndElement("Scale", new MFloatSelectionButton(FeatureMechanicBrowse.this.<Float>getParameter("scale").getValue()) {{
// setOnUpdate(() ->{
// FeatureMechanicBrowse.this.<Float>getParameter("scale").setValue(this.getData());
// }); }
// }));
-
- return mPanels;
}
@DGEventHandler
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java
index 6f1a80df..3c0d21ca 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java
@@ -255,8 +255,8 @@ public abstract class TextHUDFeature extends AbstractHUDFeature implements Style
}
@Override
- public List<Widget> getTooltipForEditor() {
- List<Widget> mPanels = super.getTooltipForEditor();
+ public void getTooltipForEditor(List<Widget> widgets) {
+ super.getTooltipForEditor(widgets);
// StyledTextRenderer.Alignment alignment = StyledTextRenderer.Alignment.valueOf(this.<String>getParameter("alignment").getValue());
// MStringSelectionButton mStringSelectionButton = new MStringSelectionButton(Arrays.asList("LEFT", "CENTER", "RIGHT"), alignment.name());
// mStringSelectionButton.setOnUpdate(() -> {
@@ -270,7 +270,7 @@ public abstract class TextHUDFeature extends AbstractHUDFeature implements Style
// }); }
// }));
- return mPanels;
+// return mPanels;
}
@Override
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/xml/DomElementRegistry.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/xml/DomElementRegistry.java
index 4fcd3fbe..f0d77ec9 100644
--- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/xml/DomElementRegistry.java
+++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/guiv2/xml/DomElementRegistry.java
@@ -85,6 +85,7 @@ public class DomElementRegistry {
register("ColorButton", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/simpleButton.gui")));
register("RoundButton", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/dgButton.gui")));
+ register("IconButton", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/iconButton.gui")));
register("SimpleToggleButton", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/simpleToggleButton.gui")));
register("SimpleHorizontalScrollBar", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/simpleHorizontalScrollBar.gui")));
register("SimpleVerticalScrollBar", new DelegatingWidgetConverter(new ResourceLocation("dungeonsguide:gui/elements/simpleVerticalScrollBar.gui")));
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/configure.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/configure.gui
new file mode 100644
index 00000000..94fb9854
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/configure.gui
@@ -0,0 +1,26 @@
+<!--
+ ~ Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod
+ ~ Copyright (C) 2023 cyoung06 (syeyoung)
+ ~
+ ~ This program is free software: you can redistribute it and/or modify
+ ~ it under the terms of the GNU Affero General Public License as published
+ ~ by the Free Software Foundation, either version 3 of the License, or
+ ~ (at your option) any later version.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ~ GNU Affero General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Affero General Public License
+ ~ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ -->
+
+<bgcolor backgroundColor="#FF111111">
+ <ScrollablePanel direction="VERTICAL">
+ <padding top="5" left="5" bottom="5" right="5">
+ <col crossAlign="STRETCH" mainAlign="START" bind:_="widgets">
+ </col>
+ </padding>
+ </ScrollablePanel>
+</bgcolor> \ No newline at end of file
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/config/featureitem.gui b/mod/src/main/resources/assets/dungeonsguide/gui/config/featureitem.gui
index a18bf5e1..169d8f4e 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/featureitem.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/featureitem.gui
@@ -22,12 +22,15 @@
<size width="0" height="5"/>
<IntrinsicHeight>
<row>
- <aspectRatio width="1" height="1">
- <Stencil>
- <ResourceImage location="dungeonsguide:textures/dglogox128.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
- <RoundRect radius="10" slot="stencil"/>
- </Stencil>
- </aspectRatio>
+ <SelectiveContainer bind:visible="iconVisibility">
+ <aspectRatio width="1" height="1" slot="show">
+ <Stencil>
+ <ResourceImage bind:location="icon" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <RoundRect radius="10" slot="stencil"/>
+ </Stencil>
+ </aspectRatio>
+ <size width="0" height="0" slot="hide"/>
+ </SelectiveContainer>
<flexible>
<col mainAlign="START" crossAlign="START">
<padding left="5" right="5" top="5" bottom="5">
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 966ed1f0..57b3005b 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/config/mainpage.gui
@@ -21,15 +21,15 @@
<col mainAlign="CENTER" crossAlign="CENTER">
<size height="30"/>
<row mainAlign="CENTER">
- <Text text="Welcome to" color="#FF747474" size="16"/>
+ <Text text="Welcome to" color="#FFFFFFFF" size="16"/>
<Text text=" Dungeons Guide" color="#FF74A0C6" size="16"/>
- <Text text="!" color="#FF747474" size="16"/>
+ <Text text="?" color="#FFFFFFFF" size="16"/>
</row>
<size height="3"/>
<row mainAlign="CENTER">
- <Text text="The most " color="#FF747474" size="8"/>
+ <Text text="The most " color="#FFFFFFFF" size="8"/>
<Text text="intelligent" color="#FFFFFF00" size="8"/>
- <Text text=" skyblock mod" color="#FF747474" size="8"/>
+ <Text text=" skyblock mod" color="#FFFFFFFF" size="8"/>
</row>
<size height="20"/>
<line color="#FF747474"/>
@@ -40,13 +40,19 @@
<size height="20"/>
<row mainAlign="CENTER">
<size height="32" width="32">
- <ResourceImage location="dungeonsguide:textures/config/discord.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <IconButton location="dungeonsguide:textures/dglogox128.png" width="128" height="128" on:click="store"/>
</size>
<size width="10" height="0"/>
<size height="32" width="32">
- <ResourceImage location="dungeonsguide:textures/config/github.png" width="128" height="128" textureWidth="128" textureHeight="128"/>
+ <IconButton location="dungeonsguide:textures/config/discord.png" width="128" height="128" on:click="discord"/>
+ </size>
+ <size width="10" height="0"/>
+ <size height="32" width="32">
+ <IconButton location="dungeonsguide:textures/config/github.png" width="128" height="128" on:click="github"/>
</size>
</row>
+ <size height="10"/>
+ <Text text="Join the discord for mod support and more!" color="#FFAAAAAA" size="8"/>
</col>
</padding>
</ScrollablePanel> \ No newline at end of file
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/elements/iconButton.gui b/mod/src/main/resources/assets/dungeonsguide/gui/elements/iconButton.gui
new file mode 100644
index 00000000..adc678be
--- /dev/null
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/elements/iconButton.gui
@@ -0,0 +1,51 @@
+<!--
+ ~ Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod
+ ~ Copyright (C) 2023 cyoung06 (syeyoung)
+ ~
+ ~ This program is free software: you can redistribute it and/or modify
+ ~ it under the terms of the GNU Affero General Public License as published
+ ~ by the Free Software Foundation, either version 3 of the License, or
+ ~ (at your option) any later version.
+ ~
+ ~ This program is distributed in the hope that it will be useful,
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ~ GNU Affero General Public License for more details.
+ ~
+ ~ You should have received a copy of the GNU Affero General Public License
+ ~ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ -->
+<wrapper disabled="false"
+ overlayColor="#00000000" hoveredOverlayColor="#22FFFFFF" disabledOverlayColor="#44000000" pressedOverlayColor="#44FFFFFF"
+ width="128" height="128">
+ <AbstractButton bind:click="click" bind:disabled="disabled">
+ <stack>
+ <Stencil>
+ <bgcolor bind:backgroundColor="overlayColor"/>
+ <ResourceImage slot="stencil" bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </Stencil>
+ <ResourceImage bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </stack>
+ <stack slot="hovered">
+ <Stencil>
+ <bgcolor bind:backgroundColor="hoveredOverlayColor"/>
+ <ResourceImage slot="stencil" bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </Stencil>
+ <ResourceImage bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </stack>
+ <stack slot="disabled">
+ <Stencil>
+ <bgcolor bind:backgroundColor="disabledOverlayColor"/>
+ <ResourceImage slot="stencil" bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </Stencil>
+ <ResourceImage bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </stack>
+ <stack slot="pressed">
+ <Stencil>
+ <bgcolor bind:backgroundColor="pressedOverlayColor"/>
+ <ResourceImage slot="stencil" bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </Stencil>
+ <ResourceImage bind:location="location" bind:width="width" bind:height="height" bind:textureWidth="width" bind:textureHeight="height"/>
+ </stack>
+ </AbstractButton>
+</wrapper> \ No newline at end of file
diff --git a/mod/src/main/resources/assets/dungeonsguide/gui/elements/simpleToggleButton.gui b/mod/src/main/resources/assets/dungeonsguide/gui/elements/simpleToggleButton.gui
index dba52108..e4df5cf6 100644
--- a/mod/src/main/resources/assets/dungeonsguide/gui/elements/simpleToggleButton.gui
+++ b/mod/src/main/resources/assets/dungeonsguide/gui/elements/simpleToggleButton.gui
@@ -27,16 +27,20 @@
<Text text="on" align="LEFT" color="#FFFFFFFF"/>
</align>
</flexible>
- <aspectRatio width="1" height="1" fit="TIGHT">
- <CircularRect backgroundColor="#FF00FF00" />
- </aspectRatio>
+ <padding left="1" right="1" top="1" bottom="1">
+ <aspectRatio width="1" height="1" fit="TIGHT">
+ <CircularRect backgroundColor="#FF00FF00" />
+ </aspectRatio>
+ </padding>
</row>
</CircularRect>
<CircularRect slot="off" backgroundColor="#FF333333">
<row>
- <aspectRatio width="1" height="1" fit="TIGHT">
- <CircularRect backgroundColor="#FFFF0000" />
- </aspectRatio>
+ <padding left="1" right="1" top="1" bottom="1">
+ <aspectRatio width="1" height="1" fit="TIGHT">
+ <CircularRect backgroundColor="#FFFF0000" />
+ </aspectRatio>
+ </padding>
<flexible>
<align vAlign="CENTER" hAlign="END">
<Text text="off" align="RIGHT" color="#FFFFFFFF"/>
@@ -53,16 +57,20 @@
<Text text="on" align="LEFT" color="#FFFFFFFF"/>
</align>
</flexible>
- <aspectRatio width="1" height="1" fit="TIGHT">
- <CircularRect backgroundColor="#FF00FF00" />
- </aspectRatio>
+ <padding left="1" right="1" top="1" bottom="1">
+ <aspectRatio width="1" height="1" fit="TIGHT">
+ <CircularRect backgroundColor="#FF00FF00" />
+ </aspectRatio>
+ </padding>
</row>
</CircularRect>
<CircularRect slot="hoverOff" backgroundColor="#FF555555">
<row>
- <aspectRatio width="1" height="1" fit="TIGHT">
- <CircularRect backgroundColor="#FFFF0000" />
- </aspectRatio>
+ <padding left="1" right="1" top="1" bottom="1">
+ <aspectRatio width="1" height="1" fit="TIGHT">
+ <CircularRect backgroundColor="#FFFF0000" />
+ </aspectRatio>
+ </padding>
<flexible>
<align vAlign="CENTER" hAlign="END">
<Text text="off" align="RIGHT" color="#FFFFFFFF"/>
diff --git a/mod/src/main/resources/assets/dungeonsguide/textures/unknown.png b/mod/src/main/resources/assets/dungeonsguide/textures/darklogo.png
index b3db401d..b3db401d 100644
--- a/mod/src/main/resources/assets/dungeonsguide/textures/unknown.png
+++ b/mod/src/main/resources/assets/dungeonsguide/textures/darklogo.png
Binary files differ