diff options
| author | syeyoung <cyoung06@naver.com> | 2023-02-09 21:19:24 +0900 |
|---|---|---|
| committer | syeyoung <cyoung06@naver.com> | 2023-02-09 21:19:24 +0900 |
| commit | 9550040e6a8068132d91f2f42f56be91618bf33d (patch) | |
| tree | 3e6ce45821fd68a583601189d3de2ac76c8f9e9e /mod/src/main/java | |
| parent | 634c97f91c1fc52fb3cc980c3a5b8ccaf942eb17 (diff) | |
| download | Skyblock-Dungeons-Guide-9550040e6a8068132d91f2f42f56be91618bf33d.tar.gz Skyblock-Dungeons-Guide-9550040e6a8068132d91f2f42f56be91618bf33d.tar.bz2 Skyblock-Dungeons-Guide-9550040e6a8068132d91f2f42f56be91618bf33d.zip | |
- Better Text Configuration
I feel like this might be worse
Signed-off-by: syeyoung <cyoung06@naver.com>
Diffstat (limited to 'mod/src/main/java')
64 files changed, 1733 insertions, 330 deletions
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 c082eb2a..232b6ccb 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 @@ -23,7 +23,6 @@ import kr.syeyoung.dungeonsguide.mod.features.AbstractFeature; import kr.syeyoung.dungeonsguide.mod.features.AbstractHUDFeature; 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.elements.Navigator; import kr.syeyoung.dungeonsguide.mod.guiv2.xml.AnnotatedImportOnlyWidget; @@ -33,8 +32,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.util.ResourceLocation; -import java.util.function.Supplier; - public class FeatureItem extends AnnotatedImportOnlyWidget { @Bind(variableName = "name") @@ -69,7 +66,7 @@ public class FeatureItem extends AnnotatedImportOnlyWidget { guiRelocateShow.setValue(feature instanceof AbstractHUDFeature ? "show" : "hide"); configureShow.setValue(feature.getConfigureWidget() != null ? "show" : "hide"); - enableShow.setValue(feature.isDisyllable() ? "show" : "hide"); + enableShow.setValue(feature.isDisableable() ? "show" : "hide"); enabled.setValue(feature.isEnabled()); enabled.addOnUpdate((old, neu) -> { diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDConfigRootWidget.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDConfigRootWidget.java index 4d94ca3c..f68c5089 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDConfigRootWidget.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/guiconfig/location2/HUDConfigRootWidget.java @@ -29,14 +29,9 @@ import kr.syeyoung.dungeonsguide.mod.guiv2.primitive.ConstraintBox; import kr.syeyoung.dungeonsguide.mod.guiv2.primitive.Position; import kr.syeyoung.dungeonsguide.mod.guiv2.primitive.Rect; import kr.syeyoung.dungeonsguide.mod.guiv2.primitive.Size; -import kr.syeyoung.dungeonsguide.mod.guiv2.renderer.OnlyChildrenRenderer; import kr.syeyoung.dungeonsguide.mod.guiv2.renderer.Renderer; import kr.syeyoung.dungeonsguide.mod.guiv2.renderer.RenderingContext; -import kr.syeyoung.dungeonsguide.mod.overlay.GUIRectPositioner; -import kr.syeyoung.dungeonsguide.mod.overlay.OverlayWidget; -import kr.syeyoung.dungeonsguide.mod.overlay.Positioner; import lombok.Getter; -import net.minecraft.client.gui.Gui; import net.minecraft.client.renderer.GlStateManager; import java.util.*; @@ -103,7 +98,7 @@ public class HUDConfigRootWidget extends Widget implements Layouter, Renderer { widgets.add(new EventListenerWidget()); for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { if (!(abstractFeature instanceof AbstractHUDFeature)) continue; - if (!abstractFeature.isEnabled() && abstractFeature.isDisyllable()) continue; + if (!abstractFeature.isEnabled() && abstractFeature.isDisableable()) continue; HUDWidgetWrapper widgetWrapper = new HUDWidgetWrapper((AbstractHUDFeature) abstractFeature, this, filter == null || abstractFeature == filter); widgets.add(widgetWrapper); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCOptAColor.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCOptAColor.java new file mode 100644 index 00000000..4fd3a076 --- /dev/null +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCOptAColor.java @@ -0,0 +1,76 @@ +/* + * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod + * Copyright (C) 2021 cyoung06 + * + * 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.types; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import kr.syeyoung.dungeonsguide.mod.config.guiconfig.configv3.ParameterItem; +import kr.syeyoung.dungeonsguide.mod.config.types.coloredit.ColorEditPopup; +import kr.syeyoung.dungeonsguide.mod.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.mod.guiv2.BindableAttribute; +import kr.syeyoung.dungeonsguide.mod.guiv2.DomElement; +import kr.syeyoung.dungeonsguide.mod.guiv2.Widget; +import kr.syeyoung.dungeonsguide.mod.guiv2.elements.popups.AbsLocationPopup; +import kr.syeyoung.dungeonsguide.mod.guiv2.elements.popups.PopupMgr; +import kr.syeyoung.dungeonsguide.mod.guiv2.primitive.Rect; +import kr.syeyoung.dungeonsguide.mod.guiv2.renderer.Renderer; +import kr.syeyoung.dungeonsguide.mod.guiv2.renderer.RenderingContext; +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.utils.RenderUtils; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.util.ResourceLocation; + +import java.util.Optional; + +public class TCOptAColor implements FeatureTypeHandler<Optional<AColor>> { + public static final TCOptAColor INSTANCE = new TCOptAColor(); + @Override + public Optional<AColor> deserialize(JsonElement element) { + if (element instanceof JsonPrimitive) + return Optional.of(new AColor(element.getAsInt(), true)); + + JsonObject object = element.getAsJsonObject(); + if (object.has("present") && !object.get("present").isJsonNull() && object.get("present").getAsBoolean()) { + AColor color = new AColor(object.get("color").getAsInt(), true); + color.setChroma(object.get("chroma").getAsBoolean()); + color.setChromaSpeed(object.get("chromaSpeed").getAsFloat()); + return Optional.of(color); + } else { + return Optional.empty(); + } + } + + @Override + public JsonElement serialize(Optional<AColor> element) { + JsonObject object = new JsonObject(); + if (element.isPresent()) { + object.addProperty("present", true); + object.addProperty("color", element.get().getRGB()); + object.addProperty("chroma", element.get().isChroma()); + object.addProperty("chromaSpeed", element.get().getChromaSpeed()); + } else { + object.addProperty("present", false); + } + return object; + } + +} diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyle.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyle.java index 9d1d099b..60db32dc 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyle.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyle.java @@ -18,11 +18,9 @@ package kr.syeyoung.dungeonsguide.mod.config.types; -import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; public class TCRTextStyle implements FeatureTypeHandler<DefaultingDelegatingTextStyle> { @@ -43,10 +41,10 @@ public class TCRTextStyle implements FeatureTypeHandler<DefaultingDelegatingText textStyle.setShadow(object.has("shadow") && !object.get("shadow").isJsonNull()? object.get("shadow").getAsBoolean() : null); textStyle.setBackgroundShader(object.has("backgroundColor") && !object.get("backgroundColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("backgroundColor")) : null); textStyle.setTextShader(object.has("textColor") && !object.get("textColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("textColor")) : null); - textStyle.setStrikeThroughShader(object.has("strikethroughColor") && !object.get("strikethroughColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("strikethroughColor")) : null); - textStyle.setUnderlineShader(object.has("underlineColor") && !object.get("underlineColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("underlineColor")) : null); - textStyle.setOutlineShader(object.has("outlineColor") && !object.get("outlineColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("outlineColor")) : null); - textStyle.setShadowShader(object.has("shadowColor") && !object.get("shadowColor").isJsonNull()? TCAColor.INSTANCE.deserialize(object.get("shadowColor")) : null); + textStyle.setStrikeThroughShader(object.has("strikethroughColor") && !object.get("strikethroughColor").isJsonNull()? TCOptAColor.INSTANCE.deserialize(object.get("strikethroughColor")) : null); + textStyle.setUnderlineShader(object.has("underlineColor") && !object.get("underlineColor").isJsonNull()? TCOptAColor.INSTANCE.deserialize(object.get("underlineColor")) : null); + textStyle.setOutlineShader(object.has("outlineColor") && !object.get("outlineColor").isJsonNull()? TCOptAColor.INSTANCE.deserialize(object.get("outlineColor")) : null); + textStyle.setShadowShader(object.has("shadowColor") && !object.get("shadowColor").isJsonNull()? TCOptAColor.INSTANCE.deserialize(object.get("shadowColor")) : null); return textStyle; } @@ -64,10 +62,10 @@ public class TCRTextStyle implements FeatureTypeHandler<DefaultingDelegatingText jsonObject.addProperty("shadow", element.shadow); jsonObject.add("backgroundColor", element.backgroundShader == null ? null : TCAColor.INSTANCE.serialize(element.backgroundShader)); jsonObject.add("textColor", element.textShader == null ? null : TCAColor.INSTANCE.serialize(element.textShader)); - jsonObject.add("strikethroughColor", element.strikeThroughShader == null ? null : TCAColor.INSTANCE.serialize(element.strikeThroughShader)); - jsonObject.add("underlineColor", element.underlineShader == null ? null : TCAColor.INSTANCE.serialize(element.underlineShader)); - jsonObject.add("outlineColor", element.outlineShader == null ? null : TCAColor.INSTANCE.serialize(element.outlineShader)); - jsonObject.add("shadowColor", element.shadowShader == null ? null : TCAColor.INSTANCE.serialize(element.shadowShader)); + jsonObject.add("strikethroughColor", element.strikeThroughShader == null ? null : TCOptAColor.INSTANCE.serialize(element.strikeThroughShader)); + jsonObject.add("underlineColor", element.underlineShader == null ? null : TCOptAColor.INSTANCE.serialize(element.underlineShader)); + jsonObject.add("outlineColor", element.outlineShader == null ? null : TCOptAColor.INSTANCE.serialize(element.outlineShader)); + jsonObject.add("shadowColor", element.shadowShader == null ? null : TCOptAColor.INSTANCE.serialize(element.shadowShader)); return jsonObject; } } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyleMap.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyleMap.java index 9311ff2b..d12ab3f5 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyleMap.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCRTextStyleMap.java @@ -20,7 +20,7 @@ package kr.syeyoung.dungeonsguide.mod.config.types; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; |
