From 9550040e6a8068132d91f2f42f56be91618bf33d Mon Sep 17 00:00:00 2001 From: syeyoung Date: Thu, 9 Feb 2023 21:19:24 +0900 Subject: - Better Text Configuration I feel like this might be worse Signed-off-by: syeyoung --- .../mod/config/guiconfig/configv3/FeatureItem.java | 5 +- .../guiconfig/location2/HUDConfigRootWidget.java | 7 +- .../mod/config/types/TCOptAColor.java | 76 ++++++ .../mod/config/types/TCRTextStyle.java | 20 +- .../mod/config/types/TCRTextStyleMap.java | 2 +- .../mod/config/types/coloredit/ColorEditPopup.java | 1 - .../mod/features/AbstractFeature.java | 2 +- .../mod/features/FeatureRegistry.java | 4 +- .../features/impl/advanced/FeatureDebugTrap.java | 13 +- .../impl/advanced/FeatureRoomCoordDisplay.java | 10 +- .../impl/advanced/FeatureRoomDebugInfo.java | 10 +- .../mod/features/impl/boss/FeatureBossHealth.java | 19 +- .../features/impl/boss/FeatureCurrentPhase.java | 15 +- .../features/impl/boss/FeatureTerracotaTimer.java | 15 +- .../impl/boss/FeatureThornBearPercentage.java | 17 +- .../impl/boss/FeatureThornSpiritBowTimer.java | 15 +- .../impl/cosmetics/FeatureNicknameColor.java | 2 +- .../impl/cosmetics/FeatureNicknamePrefix.java | 2 +- .../discord/inviteViewer/PartyInviteViewer.java | 2 +- .../dungeon/FeatureDungeonCurrentRoomSecrets.java | 19 +- .../impl/dungeon/FeatureDungeonDeaths.java | 19 +- .../impl/dungeon/FeatureDungeonMilestone.java | 15 +- .../impl/dungeon/FeatureDungeonRealTime.java | 17 +- .../impl/dungeon/FeatureDungeonRoomName.java | 13 +- .../impl/dungeon/FeatureDungeonSBTime.java | 17 +- .../features/impl/dungeon/FeatureDungeonScore.java | 26 +- .../impl/dungeon/FeatureDungeonSecrets.java | 20 +- .../features/impl/dungeon/FeatureDungeonTombs.java | 15 +- .../impl/dungeon/FeatureWarnLowHealth.java | 14 +- .../impl/dungeon/FeatureWatcherWarning.java | 9 +- .../features/impl/etc/FeatureCooldownCounter.java | 15 +- .../impl/etc/ability/FeatureAbilityCooldown.java | 19 +- .../mod/features/impl/party/APIKey.java | 2 +- .../mod/features/impl/party/FeaturePartyList.java | 17 +- .../mod/features/impl/party/FeaturePartyReady.java | 18 +- .../mod/features/impl/secret/FeatureActions.java | 26 +- .../impl/secret/FeaturePathfindStrategy.java | 2 +- .../impl/secret/FeatureSoulRoomWarning.java | 9 +- .../impl/secret/PathfindLineProperties.java | 2 +- .../DefaultTextHUDFeatureStyleFeature.java | 98 ++++++++ .../richtext/DefaultingDelegatingTextStyle.java | 242 ++++++++++++++++++ .../mod/features/richtext/NullTextStyle.java | 115 +++++++++ .../mod/features/richtext/TextHUDFeature.java | 192 ++++++++++++++ .../richtext/config/WidgetConstCheckmark.java | 41 +++ .../features/richtext/config/WidgetConstColor.java | 79 ++++++ .../config/WidgetConstStyleGroupStyleLine.java | 114 +++++++++ ...WidgetConstStyleGroupStyleLineDerivedColor.java | 104 ++++++++ .../config/WidgetEditableStyleGroupStyleLine.java | 276 +++++++++++++++++++++ ...getEditableStyleGroupStyleLineDerivedColor.java | 183 ++++++++++++++ .../richtext/config/WidgetGroupButton.java | 77 ++++++ .../mod/features/richtext/config/WidgetHelp.java | 74 ++++++ .../features/richtext/config/WidgetStyleEdit.java | 73 ++++++ .../features/richtext/config/WidgetStyleGroup.java | 140 +++++++++++ .../richtext/config/WidgetTextStyleConfig.java | 102 ++++++++ .../text/DefaultTextHUDFeatureStyleFeature.java | 78 ------ .../text/DefaultingDelegatingTextStyle.java | 179 ------------- .../mod/features/text/NullTextStyle.java | 110 -------- .../mod/features/text/StyledTextSpan.java | 32 --- .../mod/features/text/TextHUDFeature.java | 189 -------------- .../dungeonsguide/mod/guiv2/elements/Column.java | 6 + .../dungeonsguide/mod/guiv2/elements/Slot.java | 1 + .../mod/guiv2/elements/richtext/FlatTextSpan.java | 2 +- .../mod/guiv2/elements/richtext/TextSpan.java | 4 + .../richtext/fonts/DefaultFontRenderer.java | 29 ++- .../richtext/styles/CompiledTextStyle.java | 8 + .../guiv2/elements/richtext/styles/ITextStyle.java | 1 + .../richtext/styles/ParentDelegatingTextStyle.java | 12 +- .../mod/guiv2/xml/DomElementRegistry.java | 1 + 68 files changed, 2248 insertions(+), 845 deletions(-) create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/config/types/TCOptAColor.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/DefaultTextHUDFeatureStyleFeature.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/DefaultingDelegatingTextStyle.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/NullTextStyle.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/TextHUDFeature.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetConstCheckmark.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetConstColor.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetConstStyleGroupStyleLine.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetConstStyleGroupStyleLineDerivedColor.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetEditableStyleGroupStyleLine.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetEditableStyleGroupStyleLineDerivedColor.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetGroupButton.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetHelp.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetStyleEdit.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetStyleGroup.java create mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/richtext/config/WidgetTextStyleConfig.java delete mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/DefaultTextHUDFeatureStyleFeature.java delete mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/DefaultingDelegatingTextStyle.java delete mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/NullTextStyle.java delete mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/StyledTextSpan.java delete mode 100644 mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/text/TextHUDFeature.java (limited to 'mod/src/main/java') 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 . + */ + +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> { + public static final TCOptAColor INSTANCE = new TCOptAColor(); + @Override + public Optional 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 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 { @@ -43,10 +41,10 @@ public class TCRTextStyle implements FeatureTypeHandler { try { - System.out.println(neu); AColor color1 = new AColor(Integer.parseUnsignedInt(neu.substring(1),16), true); color1.setChromaSpeed(aColorBindableAttribute.getValue().getChromaSpeed()); color1.setChroma(aColorBindableAttribute.getValue().isChroma()); 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 28650192..5e436518 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 @@ -109,7 +109,7 @@ public abstract class AbstractFeature implements IFeature { public void onParameterReset() {} - public boolean isDisyllable() { + public boolean isDisableable() { return true; } } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/FeatureRegistry.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/FeatureRegistry.java index 03cf914f..c48b8691 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/FeatureRegistry.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/FeatureRegistry.java @@ -42,7 +42,7 @@ import kr.syeyoung.dungeonsguide.mod.features.impl.party.playerpreview.FeatureVi import kr.syeyoung.dungeonsguide.mod.features.impl.secret.*; import kr.syeyoung.dungeonsguide.mod.features.impl.secret.mechanicbrowser.FeatureMechanicBrowse; import kr.syeyoung.dungeonsguide.mod.features.impl.solvers.*; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; import kr.syeyoung.dungeonsguide.mod.overlay.OverlayManager; import lombok.Getter; import org.lwjgl.input.Keyboard; @@ -159,7 +159,7 @@ public class FeatureRegistry { } @Override - public boolean isDisyllable() { + public boolean isDisableable() { return false; } }); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureDebugTrap.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureDebugTrap.java index e9e4cd4c..905500fa 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureDebugTrap.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureDebugTrap.java @@ -20,12 +20,11 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.advanced; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; @@ -37,8 +36,8 @@ import java.util.List; public class FeatureDebugTrap extends TextHUDFeature { public FeatureDebugTrap() { super("Debug", "Display the current amount of bat entities", "", "advanced.bat"); - registerDefaultStyle("base", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("batsamm", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("base", DefaultingDelegatingTextStyle.derive("Feature Default - Base", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("batsamm", DefaultingDelegatingTextStyle.derive("Feature Default - Batsamm", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomCoordDisplay.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomCoordDisplay.java index 13492c81..9c66a960 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomCoordDisplay.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomCoordDisplay.java @@ -26,10 +26,10 @@ import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.mod.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -41,7 +41,7 @@ public class FeatureRoomCoordDisplay extends TextHUDFeature { public FeatureRoomCoordDisplay() { super("Debug", "Display Coordinate Relative to the Dungeon Room and room's rotation", "X: 0 Y: 3 Z: 5 Facing: Z+" , "advanced.coords"); this.setEnabled(false); - registerDefaultStyle("coord", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.DEFAULT)) + registerDefaultStyle("coord", DefaultingDelegatingTextStyle.derive("Feature Default - Coord", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.DEFAULT)) .setTextShader(new AColor(Color.yellow.getRGB(),true))); } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomDebugInfo.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomDebugInfo.java index d02d863c..53fe52b6 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomDebugInfo.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/advanced/FeatureRoomDebugInfo.java @@ -24,10 +24,10 @@ import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.mod.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -40,7 +40,7 @@ public class FeatureRoomDebugInfo extends TextHUDFeature { public FeatureRoomDebugInfo() { super("Debug", "Display Room Debug Info", "ONLY WORKS WITH SECRET SETTING", "advanced.debug.roominfo"); this.setEnabled(false); - registerDefaultStyle("info", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.DEFAULT)) + registerDefaultStyle("info", DefaultingDelegatingTextStyle.derive("Feature Default - Info", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.DEFAULT)) .setTextShader(new AColor(Color.white.getRGB(),true))); } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureBossHealth.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureBossHealth.java index 0d5e1f56..b28b0951 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureBossHealth.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureBossHealth.java @@ -21,15 +21,14 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.boss; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.config.types.TCBoolean; import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.HealthData; import kr.syeyoung.dungeonsguide.mod.features.FeatureParameter; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.utils.TextUtils; @@ -43,11 +42,11 @@ public class FeatureBossHealth extends TextHUDFeature { addParameter("formatHealth", new FeatureParameter("formatHealth", "format health", "1234568 -> 1m", true, TCBoolean.INSTANCE, nval -> formatHealth = nval)); addParameter("ignoreInattackable", new FeatureParameter("ignoreInattackable", "Don't show health of in-attackable enemy", "For example, do not show guardians health when they're not attackable", false, TCBoolean.INSTANCE, nval -> ignoreInattackable = nval)); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("health", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); - registerDefaultStyle("separator2", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.FRACTION))); - registerDefaultStyle("maxHealth", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.TOTAL))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("health", DefaultingDelegatingTextStyle.derive("Feature Default - Health", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("separator2", DefaultingDelegatingTextStyle.derive("Feature Default - Separator2", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.FRACTION))); + registerDefaultStyle("maxHealth", DefaultingDelegatingTextStyle.derive("Feature Default - MaxHealth", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.TOTAL))); } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureCurrentPhase.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureCurrentPhase.java index cff44c8a..92544466 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureCurrentPhase.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureCurrentPhase.java @@ -21,21 +21,20 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.boss; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; public class FeatureCurrentPhase extends TextHUDFeature { public FeatureCurrentPhase() { super("Dungeon.Bossfight", "Display Current Phase", "Displays the current phase of bossfight", "bossfight.phasedisplay"); this.setEnabled(true); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("phase", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("phase", DefaultingDelegatingTextStyle.derive("Feature Default - Phase", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureTerracotaTimer.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureTerracotaTimer.java index f2b95a98..2dc313a8 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureTerracotaTimer.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureTerracotaTimer.java @@ -21,13 +21,12 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.boss; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.BossfightProcessorSadan; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.utils.TextUtils; import net.minecraft.entity.boss.BossStatus; @@ -36,9 +35,9 @@ public class FeatureTerracotaTimer extends TextHUDFeature { public FeatureTerracotaTimer() { super("Dungeon.Bossfight.Floor 6", "Display Terracotta phase timer", "Displays Terracotta phase timer", "bossfight.terracota"); this.setEnabled(true); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("time", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("time", DefaultingDelegatingTextStyle.derive("Feature Default - Time", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornBearPercentage.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornBearPercentage.java index 71a728ec..7edd6c1a 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornBearPercentage.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornBearPercentage.java @@ -21,23 +21,22 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.boss; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.BossfightProcessorThorn; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; public class FeatureThornBearPercentage extends TextHUDFeature { public FeatureThornBearPercentage() { super("Dungeon.Bossfight.Floor 4", "Display Spirit Bear Summon Percentage", "Displays spirit bear summon percentage in hud", "bossfight.spiritbear"); this.setEnabled(true); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); - registerDefaultStyle("unit", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive("Feature Default - Number", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("unit", DefaultingDelegatingTextStyle.derive("Feature Default - Unit", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornSpiritBowTimer.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornSpiritBowTimer.java index 92e568b2..bf9e99cc 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornSpiritBowTimer.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/boss/FeatureThornSpiritBowTimer.java @@ -21,15 +21,14 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.boss; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.roomprocessor.bossfight.BossfightProcessorThorn; import kr.syeyoung.dungeonsguide.mod.events.annotations.DGEventHandler; import kr.syeyoung.dungeonsguide.mod.events.impl.TitleEvent; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.utils.TextUtils; import net.minecraftforge.client.event.ClientChatReceivedEvent; @@ -37,9 +36,9 @@ import net.minecraftforge.client.event.ClientChatReceivedEvent; public class FeatureThornSpiritBowTimer extends TextHUDFeature { public FeatureThornSpiritBowTimer() { super("Dungeon.Bossfight.Floor 4", "Display Spirit bow timer", "Displays how long until spirit bow gets destroyed", "bossfight.spiritbowdisplay"); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("time", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("time", DefaultingDelegatingTextStyle.derive("Feature Default - Time", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknameColor.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknameColor.java index bbf0129e..1d8af9dc 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknameColor.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknameColor.java @@ -40,7 +40,7 @@ public class FeatureNicknameColor extends SimpleFeature { } @Override - public boolean isDisyllable() { + public boolean isDisableable() { return false; } } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknamePrefix.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknamePrefix.java index fde0a86b..52ef5396 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknamePrefix.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/cosmetics/FeatureNicknamePrefix.java @@ -43,7 +43,7 @@ public class FeatureNicknamePrefix extends SimpleFeature { } @Override - public boolean isDisyllable() { + public boolean isDisableable() { return false; } } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/inviteViewer/PartyInviteViewer.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/inviteViewer/PartyInviteViewer.java index a0d796e9..2073ca3d 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/inviteViewer/PartyInviteViewer.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/inviteViewer/PartyInviteViewer.java @@ -50,7 +50,7 @@ public class PartyInviteViewer extends AbstractGuiFeature { } @Override - public boolean isDisyllable() { + public boolean isDisableable() { return false; } diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java index df1492f3..502707bf 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java @@ -21,13 +21,12 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.dungeon; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.events.annotations.DGEventHandler; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import net.minecraftforge.client.event.ClientChatReceivedEvent; @@ -35,11 +34,11 @@ public class FeatureDungeonCurrentRoomSecrets extends TextHUDFeature { public FeatureDungeonCurrentRoomSecrets() { super("Dungeon.HUDs", "Display # Secrets in current room", "Display what your actionbar says", "dungeon.stats.secretsroom"); this.setEnabled(false); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("currentSecrets", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); - registerDefaultStyle("separator2", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.FRACTION))); - registerDefaultStyle("totalSecrets", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.TOTAL))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("currentSecrets", DefaultingDelegatingTextStyle.derive("Feature Default - CurrentSecrets", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("separator2", DefaultingDelegatingTextStyle.derive("Feature Default - Separator2", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.FRACTION))); + registerDefaultStyle("totalSecrets", DefaultingDelegatingTextStyle.derive("Feature Default - TotalSecrets", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.TOTAL))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonDeaths.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonDeaths.java index 82eb48de..9adaf594 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonDeaths.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonDeaths.java @@ -22,16 +22,15 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.dungeon; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; import kr.syeyoung.dungeonsguide.mod.chat.ChatTransmitter; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.mod.dungeon.events.impl.DungeonDeathEvent; import kr.syeyoung.dungeonsguide.mod.events.annotations.DGEventHandler; import kr.syeyoung.dungeonsguide.mod.events.impl.DungeonLeftEvent; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.parallelUniverse.tab.TabList; import kr.syeyoung.dungeonsguide.mod.parallelUniverse.tab.TabListEntry; @@ -50,11 +49,11 @@ public class FeatureDungeonDeaths extends TextHUDFeature { public FeatureDungeonDeaths() { super("Dungeon.HUDs", "Display Deaths", "Display names of player and death count in dungeon run", "dungeon.stats.deaths"); this.setEnabled(false); - registerDefaultStyle("username", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("total", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("deaths", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); - registerDefaultStyle("totalDeaths", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("username", DefaultingDelegatingTextStyle.derive("Feature Default - Username", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("total", DefaultingDelegatingTextStyle.derive("Feature Default - Total", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("deaths", DefaultingDelegatingTextStyle.derive("Feature Default - Deaths", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("totalDeaths", DefaultingDelegatingTextStyle.derive("Feature Default - TotalDeaths", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonMilestone.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonMilestone.java index 2137d57b..6845a281 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonMilestone.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonMilestone.java @@ -22,15 +22,14 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.dungeon; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; import kr.syeyoung.dungeonsguide.mod.chat.ChatTransmitter; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.mod.events.annotations.DGEventHandler; import kr.syeyoung.dungeonsguide.mod.events.impl.DungeonLeftEvent; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.parallelUniverse.tab.TabList; import kr.syeyoung.dungeonsguide.mod.parallelUniverse.tab.TabListEntry; @@ -47,9 +46,9 @@ public class FeatureDungeonMilestone extends TextHUDFeature { public FeatureDungeonMilestone() { super("Dungeon.HUDs", "Display Current Class Milestone", "Display current class milestone of yourself", "dungeon.stats.milestone"); this.setEnabled(false); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive("Feature Default - Number", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRealTime.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRealTime.java index d45f0276..2912a8c5 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRealTime.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRealTime.java @@ -19,15 +19,14 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.dungeon; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.events.annotations.DGEventHandler; import kr.syeyoung.dungeonsguide.mod.events.impl.DungeonLeftEvent; import kr.syeyoung.dungeonsguide.mod.events.impl.DungeonStartedEvent; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultTextHUDFeatureStyleFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.DefaultingDelegatingTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.NullTextStyle; +import kr.syeyoung.dungeonsguide.mod.features.richtext.TextHUDFeature; import kr.syeyoung.dungeonsguide.mod.guiv2.elements.richtext.TextSpan; import kr.syeyoung.dungeonsguide.mod.utils.TextUtils; @@ -35,10 +34,10 @@ public class FeatureDungeonRealTime extends TextHUDFeature { public FeatureDungeonRealTime() { super("Dungeon.HUDs", "Display Real Time-Dungeon Time", "Display how much real time has passed since dungeon run started", "dungeon.stats.realtime"); this.setEnabled(false); - registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); - registerDefaultStyle("discriminator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.EXTRA_INFO))); - registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); - registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive(() -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); + registerDefaultStyle("title", DefaultingDelegatingTextStyle.derive("Feature Default - Title", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.NAME))); + registerDefaultStyle("discriminator", DefaultingDelegatingTextStyle.derive("Feature Default - Discriminator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.EXTRA_INFO))); + registerDefaultStyle("separator", DefaultingDelegatingTextStyle.derive("Feature Default - Separator", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.SEPARATOR))); + registerDefaultStyle("number", DefaultingDelegatingTextStyle.derive("Feature Default - Number", () -> FeatureRegistry.DEFAULT_STYLE.getStyle(DefaultTextHUDFeatureStyleFeature.Styles.VALUE))); } private long started = -1; diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRoomName.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRoomName.java index 8aec7ab0..0fc877a7 100644 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRoomName.java +++ b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/dungeon/FeatureDungeonRoomName.java @@ -21,14 +21,13 @@ package kr.syeyoung.dungeonsguide.mod.features.impl.dungeon; import kr.syeyoung.dungeonsguide.mod.DungeonsGuide; import kr.syeyoung.dungeonsguide.mod.SkyblockStatus; -import kr.syeyoung.dungeonsguide.mod.config.types.AColor; import kr.syeyoung.dungeonsguide.mod.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.mod.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.mod.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultTextHUDFeatureStyleFeature; -import kr.syeyoung.dungeonsguide.mod.features.text.DefaultingDelegatingTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.NullTextStyle; -import kr.syeyoung.dungeonsguide.mod.features.text.TextHUDFeature; +import kr.syeyoung.dungeonsguide.mod.features.richtext.D