aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/OneConfig.java7
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/compatibility/VigilanceConfig.java9
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java30
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java1
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java10
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/plugin/asm/tweakers/VigilantTransformer.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java3
9 files changed, 35 insertions, 34 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/OneConfig.java b/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
index 8812894..e612be7 100644
--- a/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/OneConfig.java
@@ -72,11 +72,10 @@ public class OneConfig {
for (ModContainer mod : Loader.instance().getActiveModList()) {
ModMetadata metadata = mod.getMetadata();
loadedOtherMods.add(metadata);
- String author = metadata.authorList.size() > 0 ? metadata.authorList.get(0) : "";
- Mod newMod = new Mod(metadata.name, ModType.THIRD_PARTY, author, metadata.version);
+ String imageName = Loader.instance().activeModContainer() == null || Loader.instance().activeModContainer().getMetadata().logoFile.trim().equals("") ? null : "/" + Loader.instance().activeModContainer().getMetadata().logoFile;
+ Mod newMod = new Mod(metadata.name, ModType.THIRD_PARTY, imageName);
newMod.isShortCut = true;
- if (mod instanceof DummyModContainer || newMod.name.equals("OneConfig"))
- continue;
+ if (mod instanceof DummyModContainer || newMod.name.equals("OneConfig")) continue;
if (modData.add(newMod)) loadedMods.add(newMod);
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/compatibility/VigilanceConfig.java b/src/main/java/cc/polyfrost/oneconfig/config/compatibility/VigilanceConfig.java
index a5ac1f6..f31b609 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/compatibility/VigilanceConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/compatibility/VigilanceConfig.java
@@ -130,25 +130,28 @@ public class VigilanceConfig extends Config {
private String getName(PropertyAttributesExt ext) {
try {
+ PropertyAttributesExt.class.getDeclaredField("i18nName").setAccessible(true);
return I18n.format((String) PropertyAttributesExt.class.getDeclaredField("i18nName").get(ext));
} catch (IllegalAccessException | NoSuchFieldException e) {
- throw new RuntimeException(e);
+ return ext.getName();
}
}
private String getCategory(PropertyAttributesExt ext) {
try {
+ PropertyAttributesExt.class.getDeclaredField("i18nCategory").setAccessible(true);
return I18n.format((String) PropertyAttributesExt.class.getDeclaredField("i18nCategory").get(ext));
} catch (IllegalAccessException | NoSuchFieldException e) {
- throw new RuntimeException(e);
+ return ext.getCategory();
}
}
private String getSubcategory(PropertyAttributesExt ext) {
try {
+ PropertyAttributesExt.class.getDeclaredField("i18nSubcategory").setAccessible(true);
return I18n.format((String) PropertyAttributesExt.class.getDeclaredField("i18nSubcategory").get(ext));
} catch (IllegalAccessException | NoSuchFieldException e) {
- throw new RuntimeException(e);
+ return ext.getSubcategory();
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
index c7e86cd..da069c5 100644
--- a/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
+++ b/src/main/java/cc/polyfrost/oneconfig/config/data/Mod.java
@@ -1,38 +1,36 @@
package cc.polyfrost.oneconfig.config.data;
import cc.polyfrost.oneconfig.config.interfaces.Config;
+import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
+import java.util.Objects;
public class Mod {
public final String name;
public final ModType modType;
- public final String creator;
- public final String version;
+ public final String modIcon;
public Config config;
public final OptionPage defaultPage;
public boolean isShortCut = false;
- private static final ArrayList<Mod> mods = new ArrayList<>();
/**
* @param name Friendly name of the mod
* @param modType Type of the mod (for example ModType.QOL)
- * @param creator Creator of the mod
- * @param version Version of the mod
+ * @param modIcon path to icon of the mod (png or svg format)
*/
- public Mod(String name, ModType modType, String creator, String version) {
- int i = 1;
- for (Mod mod : mods) {
- if (mod.name.startsWith(name)) {
- ++i;
- name = name + " " + i;
- }
- }
+ public Mod(String name, ModType modType, @Nullable String modIcon) {
this.name = name;
this.modType = modType;
- this.creator = creator;
- this.version = version;
+ this.modIcon = modIcon;
this.defaultPage = new OptionPage(name, this);
- mods.add(this);
+ }
+
+ /**
+ * @param name Friendly name of the mod
+ * @param modType Type of the mod (for example ModType.QOL)
+ */
+ public Mod(String name, ModType modType) {
+ this(name, modType, null);
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
index 3bfcc74..73453ed 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java
@@ -84,7 +84,6 @@ public class OneConfigGui extends UScreen {
int y = (int) ((UResolution.getWindowHeight() - 800 * scale) / 2f / scale);
RenderManager.scale(vg, scale, scale);
if (OneConfigConfig.ROUNDED_CORNERS) {
- // TODO: Fix issue with white surroundings, related to font rendering
RenderManager.drawDropShadow(vg, x, y, 1280, 800, 32, 16, 20);
RenderManager.drawRoundedRect(vg, x + 224, y, 1056, 800, OneConfigConfig.GRAY_800, OneConfigConfig.CORNER_RADIUS_WIN);
RenderManager.drawRoundedRect(vg, x, y, 244, 800, OneConfigConfig.GRAY_900_80, OneConfigConfig.CORNER_RADIUS_WIN);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
index d11956d..5853585 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/ModCard.java
@@ -19,7 +19,6 @@ import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
public class ModCard extends BasicElement {
- private final String iconPath;
private final Mod modData;
private final BasicElement favoriteHitbox = new BasicElement(32, 32, -2, true);
private boolean active, disabled, favorite;
@@ -27,10 +26,9 @@ public class ModCard extends BasicElement {
private int colorPrimary = OneConfigConfig.PRIMARY_600;
private boolean isHoveredMain = false;
- public ModCard(@NotNull Mod mod, @Nullable String iconPath, boolean active, boolean disabled, boolean favorite) {
+ public ModCard(@NotNull Mod mod, boolean active, boolean disabled, boolean favorite) {
super(244, 119, false);
this.modData = mod;
- this.iconPath = iconPath;
this.active = active;
toggled = active;
this.disabled = disabled;
@@ -45,8 +43,10 @@ public class ModCard extends BasicElement {
RenderManager.drawRoundedRectVaried(vg, x, y, width, 87, colorGray, 12f, 12f, 0f, 0f);
RenderManager.drawRoundedRectVaried(vg, x, y + 87, width, 32, colorPrimary, 0f, 0f, 12f, 12f);
RenderManager.drawLine(vg, x, y + 86, x + width, y + 86, 2, OneConfigConfig.GRAY_300);
- if (iconPath != null) {
- RenderManager.drawImage(vg, iconPath, x, y, width, 87);
+ if (modData.modIcon != null) {
+ if (modData.modIcon.toLowerCase().endsWith(".svg"))
+ RenderManager.drawSvg(vg, modData.modIcon, x + 98, y + 19, 48, 48);
+ else RenderManager.drawImage(vg, modData.modIcon, x + 98, y + 19, 48, 48);
} else {
RenderManager.drawSvg(vg, SVGs.BOX, x + 98, y + 19, 48, 48);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
index 4be79c4..5ecaa9e 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigColorElement.java
@@ -74,7 +74,7 @@ public class ConfigColorElement extends BasicOption {
if (element.isClicked() && !element.isToggled()) {
OneConfigGui.INSTANCE.initColorSelector(new ColorSelector(color, InputUtils.mouseX(), InputUtils.mouseY()));
}
- if(OneConfigGui.INSTANCE.currentColorSelector != null) {
+ if (OneConfigGui.INSTANCE != null && OneConfigGui.INSTANCE.currentColorSelector != null) {
color = (OneConfigGui.INSTANCE.getColor());
}
setColor(color);
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
index cd46797..4cd1a32 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java
@@ -22,7 +22,7 @@ public class ModsPage extends Page {
public ModsPage() {
super("Mods");
for (Mod modData : OneConfig.loadedMods) {
- modCards.add(OneConfigConfig.favoriteMods.contains(modData.name) ? 0 : modCards.size(), new ModCard(modData, null, modData.config == null || modData.config.enabled, false, OneConfigConfig.favoriteMods.contains(modData.name)));
+ modCards.add(OneConfigConfig.favoriteMods.contains(modData.name) ? 0 : modCards.size(), new ModCard(modData, modData.config == null || modData.config.enabled, false, OneConfigConfig.favoriteMods.contains(modData.name)));
}
modCategories.add(new BasicButton(64, 32, "All", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(0)));
modCategories.add(new BasicButton(80, 32, "Combat", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(1)));
@@ -30,7 +30,7 @@ public class ModsPage extends Page {
modCategories.add(new BasicButton(104, 32, "Utility & QoL", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(3)));
modCategories.add(new BasicButton(80, 32, "Hypixel", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(4)));
modCategories.add(new BasicButton(80, 32, "Skyblock", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(5)));
- modCategories.add(new BasicButton(88, 32, "3rd Party", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(7)));
+ modCategories.add(new BasicButton(88, 32, "3rd Party", null, null, 0, BasicButton.ALIGNMENT_CENTER, true, () -> unselect(6)));
modCategories.get(0).setToggled(true);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/plugin/asm/tweakers/VigilantTransformer.java b/src/main/java/cc/polyfrost/oneconfig/plugin/asm/tweakers/VigilantTransformer.java
index 732db97..45dc1e2 100644
--- a/src/main/java/cc/polyfrost/oneconfig/plugin/asm/tweakers/VigilantTransformer.java
+++ b/src/main/java/cc/polyfrost/oneconfig/plugin/asm/tweakers/VigilantTransformer.java
@@ -93,11 +93,12 @@ public class VigilantTransformer implements ITransformer {
public static VigilanceConfig returnNewConfig(Vigilant vigilant, File file) {
if (vigilant != null && Minecraft.getMinecraft().isCallingFromMinecraftThread()) {
String name = !vigilant.getGuiTitle().equals("Settings") ? vigilant.getGuiTitle() : Loader.instance().activeModContainer() == null ? "Unknown" : Loader.instance().activeModContainer().getName();
+ String imageName = Loader.instance().activeModContainer() == null || Loader.instance().activeModContainer().getMetadata().logoFile.trim().equals("") ? null : "/" + Loader.instance().activeModContainer().getMetadata().logoFile;
if (name.equals("OneConfig")) name = "Essential";
String finalName = name;
// duplicate fix
if (ConfigCore.oneConfigMods.stream().anyMatch(mod -> mod.name.equals(finalName))) return null;
- return new VigilanceConfig(new Mod(name, ModType.THIRD_PARTY, Loader.instance().activeModContainer() == null ? "Unknown" : Loader.instance().activeModContainer().getName(), Loader.instance().activeModContainer() == null ? "1.0.0" : Loader.instance().activeModContainer().getVersion()), file.getAbsolutePath(), vigilant);
+ return new VigilanceConfig(new Mod(name, ModType.THIRD_PARTY, imageName), file.getAbsolutePath(), vigilant);
} else {
return null;
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java b/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
index d65fea3..e8aad07 100644
--- a/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/test/TestConfig.java
@@ -6,6 +6,7 @@ import cc.polyfrost.oneconfig.config.core.OneKeyBind;
import cc.polyfrost.oneconfig.config.data.*;
import cc.polyfrost.oneconfig.config.interfaces.Config;
import cc.polyfrost.oneconfig.config.core.OneColor;
+import cc.polyfrost.oneconfig.lwjgl.image.SVGs;
import net.minecraftforge.fml.common.FMLCommonHandler;
public class TestConfig extends Config {
@@ -325,7 +326,7 @@ public class TestConfig extends Config {
public TestConfig() {
- super(new Mod("hacks", ModType.UTIL_QOL, "ShadyDev", "1.0"), "hacksConfig.json");
+ super(new Mod("hacks", ModType.UTIL_QOL, SVGs.CASH_DOLLAR.filePath), "hacksConfig.json");
addDependency("switchTest5", () -> switchTest4);
addDependency("Test page.testDescription", () -> false);
}