Skip to content

Commit 8fd30f1

Browse files
committed
Wait a new hysentials update?
1 parent d5a9229 commit 8fd30f1

File tree

10 files changed

+645
-661
lines changed

10 files changed

+645
-661
lines changed

src/main/java/llc/redstone/hysentials/handlers/imageicons/ImageIcon.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ public ImageIcon(String name, String path, boolean emoji) {
6666
ImageIcon.imageIcons.put(name, this);
6767
}
6868

69+
public ImageIcon(String name, String path, boolean emoji, boolean handles) {
70+
this.name = name;
71+
this.emoji = emoji;
72+
this.path = path;
73+
if (!handles) {
74+
ImageIcon.imageIcons.put(name, this);
75+
return;
76+
}
77+
try {
78+
handleImageIcon();
79+
} catch (IOException e) {
80+
throw new RuntimeException(e);
81+
}
82+
ImageIcon.imageIcons.put(name, this);
83+
}
84+
6985
public ImageIcon(String name, ResourceLocation resourceLocation) {
7086
this(name, resourceLocation, false);
7187
}

src/main/java/llc/redstone/hysentials/hook/FontRendererAcessor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,7 @@ public interface FontRendererAcessor {
5353

5454
float renderChar(char c, boolean shadow);
5555

56+
void renderStringAtPosA(String text, boolean shadow);
57+
5658

5759
}

src/main/java/llc/redstone/hysentials/mixin/FontRendererMixin.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/*
1515
Font Renderer Accessor Mixin
1616
*/
17-
@Mixin(value = FontRenderer.class, priority = Integer.MIN_VALUE)
17+
@Mixin(value = FontRenderer.class, priority = Integer.MAX_VALUE)
1818
public abstract class FontRendererMixin implements FontRendererAcessor {
1919

2020
@Shadow
@@ -71,6 +71,9 @@ public abstract class FontRendererMixin implements FontRendererAcessor {
7171
@Shadow
7272
public abstract float renderChar(char ch, boolean italic);
7373

74+
@Shadow
75+
public abstract void renderStringAtPos(String text, boolean shadow);
76+
7477
@Shadow
7578
protected abstract void doDraw(float f);
7679

src/main/java/llc/redstone/hysentials/mixin/GuiUtilRCMixin.java

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,54 @@
22

33
import llc.redstone.hysentials.Hysentials;
44
import llc.redstone.hysentials.config.hysentialmods.FormattingConfig;
5+
import llc.redstone.hysentials.renderer.text.FancyFormatting2;
6+
import llc.redstone.hysentials.renderer.text.FancyFormatting2Kt;
57
import llc.redstone.hysentials.util.ImageIconRenderer;
68
import net.minecraft.client.gui.FontRenderer;
79
import net.minecraft.client.gui.GuiUtilRenderComponents;
10+
import net.minecraft.util.IChatComponent;
811
import org.spongepowered.asm.mixin.Mixin;
912
import org.spongepowered.asm.mixin.injection.At;
13+
import org.spongepowered.asm.mixin.injection.Inject;
1014
import org.spongepowered.asm.mixin.injection.Redirect;
15+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
16+
17+
import java.util.ArrayList;
18+
import java.util.List;
1119

1220
@Mixin(value = GuiUtilRenderComponents.class)
1321
public class GuiUtilRCMixin {
14-
@Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getFormatFromString(Ljava/lang/String;)Ljava/lang/String;"))
15-
private static String onGetStringWidth(String c0) {
16-
if (!FormattingConfig.fancyRendering()) {
17-
return FontRenderer.getFormatFromString(c0);
18-
}
19-
return ImageIconRenderer.getFormatFromString(c0);
20-
}
22+
// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getFormatFromString(Ljava/lang/String;)Ljava/lang/String;"))
23+
// private static String getFormatString(String c0) {
24+
// if (!FormattingConfig.fancyRendering()) {
25+
// return FontRenderer.getFormatFromString(c0);
26+
// }
27+
// return FancyFormatting2.Companion.getLastFormat(c0);
28+
// }
29+
//
30+
// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;getStringWidth(Ljava/lang/String;)I"))
31+
// private static int onGetStringWidth(FontRenderer fr, String c0) {
32+
// if (!FormattingConfig.fancyRendering()) {
33+
// return fr.getStringWidth(c0);
34+
// }
35+
// c0 = FancyFormatting2.Companion.replaceString(c0, true);
36+
// return fr.getStringWidth(c0);
37+
// }
38+
//
39+
// @Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;trimStringToWidth(Ljava/lang/String;IZ)Ljava/lang/String;"))
40+
// private static String onTrimStringToWidth(FontRenderer fr, String c0, int c1, boolean c2) {
41+
// if (!FormattingConfig.fancyRendering()) {
42+
// return fr.trimStringToWidth(c0, c1, c2);
43+
// }
44+
// c0 = FancyFormatting2.Companion.replaceString(c0, true);
45+
// return fr.trimStringToWidth(c0, c1, c2);
46+
//// return fr.trimStringToWidth(c0, c1, c2);
47+
// }
2148

22-
@Redirect(method = "splitText", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/FontRenderer;trimStringToWidth(Ljava/lang/String;IZ)Ljava/lang/String;"))
23-
private static String onTrimStringToWidth(FontRenderer fr, String c0, int c1, boolean c2) {
24-
if (!FormattingConfig.fancyRendering()) {
25-
return fr.trimStringToWidth(c0, c1, c2);
49+
@Inject(method="splitText", at=@At("HEAD"), cancellable = true)
50+
private static void onSplitText(IChatComponent p_178908_0_, int p_178908_1_, FontRenderer p_178908_2_, boolean p_178908_3_, boolean p_178908_4_, CallbackInfoReturnable<List<IChatComponent>> cir) {
51+
if (FormattingConfig.fancyRendering()) {
52+
cir.setReturnValue(ImageIconRenderer.splitText(p_178908_0_, p_178908_1_, p_178908_2_, p_178908_3_, p_178908_4_));
2653
}
27-
// return Hysentials.INSTANCE.imageIconRenderer.trimStringToWidth(c0, c1, c2);
28-
return fr.trimStringToWidth(c0, c1, c2);
2954
}
3055
}

src/main/java/llc/redstone/hysentials/mixin/fancyformatting/HexColorMixin.java

Lines changed: 0 additions & 105 deletions
This file was deleted.

0 commit comments

Comments
 (0)