From fbef1f6f84d5f5501f071ffdf64619acddf74e75 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 4 Mar 2025 20:09:41 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=BC=D0=B0=D0=BB=D0=B5=D0=BD=D1=8C=D0=BA?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=88=D1=80=D0=B8=D1=84=D1=82=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=85=D1=83=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbotthepony/mc/otm/client/MatteryGUI.kt | 13 +++++--- .../dbotthepony/mc/otm/config/ClientConfig.kt | 4 +++ .../mc/otm/core/util/Formatting.kt | 10 +++--- .../overdrive_that_matters/font/small.json | 30 ++++++++++++++++++ .../textures/font/small.pdn | Bin 0 -> 11139 bytes .../textures/font/small.png | Bin 0 -> 1239 bytes 6 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/overdrive_that_matters/font/small.json create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/font/small.pdn create mode 100644 src/main/resources/assets/overdrive_that_matters/textures/font/small.png diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt index d17add084..f36b45cd6 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt @@ -12,6 +12,7 @@ import net.minecraft.client.gui.screens.DeathScreen import net.minecraft.client.gui.screens.InBedChatScreen import net.minecraft.client.player.LocalPlayer import net.minecraft.network.chat.Component +import net.minecraft.network.chat.Style import net.minecraft.world.effect.MobEffects import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.player.Player @@ -112,6 +113,9 @@ object MatteryGUI { event.registerAbove(VanillaGuiLayers.CAMERA_OVERLAYS, loc("android_low_power"), AndroidLowPowerLayer()) } + private val SMALL_FONT = loc("small") + private val SMALL_FONT_STYLE = Style.EMPTY.withFont(SMALL_FONT) + class AndroidEnergyBarLayer : LayeredDraw.Layer { override fun render( graphics: GuiGraphics, @@ -163,9 +167,8 @@ object MatteryGUI { } val formattedPower = mattery.androidEnergy.batteryLevel.formatPower() - - val scale = ClientConfig.HUD.BAR_TEXT_SCALE.toFloat() - guiGraphics.draw(formattedPower, left + CHARGE_BG.width + 2f + scale, top + CHARGE_BG.height / 2f + scale, font = gui.font, scale = scale, gravity = RenderGravity.CENTER_LEFT, color = RGBAColor.YELLOW, drawOutline = true) + val scale = if (ClientConfig.HUD.USE_SMALL_FONT) 1f else ClientConfig.HUD.BAR_TEXT_SCALE.toFloat() + guiGraphics.draw(formattedPower.withStyle(if (ClientConfig.HUD.USE_SMALL_FONT) SMALL_FONT_STYLE else Style.EMPTY), left + CHARGE_BG.width + 2f + scale, top + CHARGE_BG.height / 2f + scale, font = gui.font, scale = scale, gravity = RenderGravity.CENTER_LEFT, color = RGBAColor.YELLOW, drawOutline = true) RenderSystem.disableBlend() RenderSystem.enableDepthTest() @@ -230,8 +233,8 @@ object MatteryGUI { if (ply.absorptionAmount > 0) formattedHealth = TextComponent("%d+%d/%d".format(ply.health.toInt(), ply.absorptionAmount.toInt(), ply.maxHealth.toInt())) - val scale = ClientConfig.HUD.BAR_TEXT_SCALE.toFloat() - guiGraphics.draw(formattedHealth, left - 2f, top + HEALTH_BG.height / 2f + 1f * scale, scale = scale, gravity = RenderGravity.CENTER_RIGHT, color = getHealthColorForPlayer(ply), drawOutline = true) + val scale = if (ClientConfig.HUD.USE_SMALL_FONT) 1f else ClientConfig.HUD.BAR_TEXT_SCALE.toFloat() + guiGraphics.draw(formattedHealth.withStyle(if (ClientConfig.HUD.USE_SMALL_FONT) SMALL_FONT_STYLE else Style.EMPTY), left - 2f, top + HEALTH_BG.height / 2f + 1f * scale, scale = scale, gravity = RenderGravity.CENTER_RIGHT, color = getHealthColorForPlayer(ply), drawOutline = true) RenderSystem.disableBlend() RenderSystem.enableDepthTest() diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/config/ClientConfig.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/config/ClientConfig.kt index 03c74878e..b3048cde8 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/config/ClientConfig.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/config/ClientConfig.kt @@ -69,6 +69,10 @@ object ClientConfig : AbstractConfig("client", ModConfig.Type.CLIENT) { var BAR_TEXT_SCALE: Double by builder .defineInRange("BAR_TEXT_SCALE", 0.5, 0.5, 1.0) + var USE_SMALL_FONT: Boolean by builder + .comment("Use smaller font on HUD bars", "(Scale is ignored)") + .define("USE_SMALL_FONT", false) + init { builder.pop() } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt index 7999f0f88..961540d14 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/core/util/Formatting.kt @@ -25,7 +25,7 @@ import kotlin.math.absoluteValue import kotlin.math.max import kotlin.math.roundToInt -private fun concat(numbers: String, suffix: Any): Component { +private fun concat(numbers: String, suffix: Any): MutableComponent { if (suffix == "") return TextComponent(numbers) else if (suffix is Component) @@ -177,7 +177,7 @@ private fun resplice(number: String, decimals: Int): String { return String(resplice) } -fun Long.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): Component { +fun Long.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): MutableComponent { require(decimalPlaces >= 0) { "Invalid amount of decimal places required: $decimalPlaces" } if (formatAsReadable.asBoolean) { @@ -193,18 +193,18 @@ fun Long.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsRea return TranslatableComponent(prefix.neighbour(bias).formatLocaleKey, "%.${decimalPlaces}f".format(this.toDouble() / prefix.long!!.toDouble()), suffix) } -fun Int.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): Component { +fun Int.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): MutableComponent { return toLong().formatSiComponent(suffix, decimalPlaces, formatAsReadable, bias) } -fun Double.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): Component { +fun Double.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): MutableComponent { require(decimalPlaces >= 0) { "Invalid amount of decimal places required: $decimalPlaces" } if (formatAsReadable.asBoolean && this.absoluteValue >= 1.0) return concat(reformat("%.${decimalPlaces}f".format(this)), suffix) val prefix = SiPrefix.determine(this) return TranslatableComponent(prefix.neighbour(bias).formatLocaleKey, "%.${decimalPlaces}f".format(this / prefix.double), suffix) } -fun Decimal.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): Component { +fun Decimal.formatSiComponent(suffix: Any = "", decimalPlaces: Int = 3, formatAsReadable: BooleanSupplier = never, bias: Int = 0): MutableComponent { require(decimalPlaces >= 0) { "Invalid amount of decimal places required: $decimalPlaces" } if (this == Decimal.POSITIVE_INFINITY) return concat("∞", suffix) if (this == Decimal.NEGATIVE_INFINITY) return concat("-∞", suffix) diff --git a/src/main/resources/assets/overdrive_that_matters/font/small.json b/src/main/resources/assets/overdrive_that_matters/font/small.json new file mode 100644 index 000000000..612ba26a3 --- /dev/null +++ b/src/main/resources/assets/overdrive_that_matters/font/small.json @@ -0,0 +1,30 @@ +{ + "providers": [ + { + "type": "space", + "advances": { + " ": 4 + } + }, + { + "type": "bitmap", + "file": "overdrive_that_matters:font/small.png", + "chars": [ + "\u0020\u0021\u0022\u0023\u0024\u0025\u0026\u0027\u0028\u0029\u002a\u002b\u002c\u002d\u002e\u002f", + "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003d\u003e\u003f", + "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f", + "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a\u005b\u005c\u005d\u005e\u005f", + "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006a\u006b\u006c\u006d\u006e\u006f", + "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007a\u007b\u007c\u007d\u007e\u0000", + "\u0410\u0411\u0412\u0413\u0414\u0415\u0401\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E", + "\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E", + "\u042F\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", + "\u0430\u0431\u0432\u0433\u0434\u0435\u0451\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E", + "\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E", + "\u044F\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + ], + "height": 6, + "ascent": 6 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/overdrive_that_matters/textures/font/small.pdn b/src/main/resources/assets/overdrive_that_matters/textures/font/small.pdn new file mode 100644 index 0000000000000000000000000000000000000000..8a8ddabb70b6edcdff805848d36c627ed34d190e GIT binary patch literal 11139 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/overdrive_that_matters/textures/font/small.png b/src/main/resources/assets/overdrive_that_matters/textures/font/small.png new file mode 100644 index 0000000000000000000000000000000000000000..46a23eb360a334c828df53f8899cd6ac01115b81 GIT binary patch literal 1239 zcmeAS@N?(olHy`uVBq!ia0vp^2|(<@!3-qrb}|G4DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoB=)|uK)l4KXBjxkoV!?MiU^#ToU9L{Qp10^;5h+wG5mE9+AZi419+` zm{C;2s{tq|QQ{g=5}cn_Ql40p$`Fv4nOCCc=Nh75s%NNY^m`BUHlUhqsS%!Oo}O9^ z96$~$gA^kx10#^-1;o-&Hps;qjLcwhCLr68k%>V7NJjy2W;+X5JPXJMflpx>8!#?_m$Nv;eZ8x(p2rK(c+- z2g5Im@9_f$M3SeAV@QPi)fu-ZJu={NIsE6pd%mmr{An@^8f@0g*fe+B62CiA)&+lN z%3h4hzgsxxvC}E{WBR&}rarKEd;ZgLpGms@cTO5_`|OtOvSXftkxI1kjWf5-UJX6} z=9|UaH|Gi!X1IPok(b}b-uNS8&O{e3`Rh5~<2Ur|y=!wY-Awat(b)~N*2qtszB%Hh zN$l^ZlAS48f*u+l4YOlAcr-Y&etFJjbeZy@>%9j7PO0%PtK@!5uQN)^-W#8@_)qYT{OqFZDm!+S z3vF59Heu4th9GH~^7%Psf&V=JtWjF6-MnO)j>9&aC5zPsg(QUftL7h#E4kU#lU%#J zNRyQ#itFNg)<)}#^8*>PTUoBecna+J;i45cC3n>duO$yfE-ZhzRzQc-&6cIHPd-X< zjd^+W<3QKuU+!X?j{=g*Nq*YXG|%vb@wJIIaKCXa z6kdF3*_(|w8;x>*9h&FY6+16u-+|ayf3jRBy7JfSKgwZK)>+{lsB-G3s?y8XY8@x? z9_w;OsNXnY(yH_|?YYN#;VaG4d~zARk>=i0QWMK+tOF6lPzJa*YX zI^_P%RMFO+;-j-?tX}u%yphY4{XdP)JfAqFC{|#}f29xmUf2evo@21#)hzz6=$H~= z8n*HHszsNR&R#rgJ}AlKiH_OuiUw2?IX|E^IgjJi>I2kJEYB@BUa;`uz920QaOvL#NE&vsP-+w}M4;19YrX<{a;f*D<_rdvQWY z#e`q0g>{P#HEn8?-Eknnv0(n)`UiV9E7v6-uiIFk{{MgHH~s?(x?-NEeguGWo~Nsy J%Q~loCIBM1@MQo1 literal 0 HcmV?d00001 From 44a1ae32634dc4b752475b5db0e21c609d784baa Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Tue, 4 Mar 2025 20:14:30 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B9?= =?UTF-8?q?=20Bsky=20=E2=80=94=20=D0=A1=D0=B5=D0=B3=D0=BE=D0=B4=D0=BD?= =?UTF-8?q?=D1=8F,=20=D0=B2=2020:10=20=D0=B0=20=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=B4=D1=80=D1=83=D0=B3=D0=BE=D0=B9=20=D1=86=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=20=D1=84=D0=BE=D0=BD=D1=82=D0=B0=20=D1=8D=D0=BD?= =?UTF-8?q?=D0=B5=D1=80=D0=B3=D0=B8=D0=B8=20=F0=9F=92=80=20=D0=B8=D0=B1?= =?UTF-8?q?=D0=BE=20=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=BB=D0=BE=D1=81=D0=BA?= =?UTF-8?q?=D0=B5=20=D1=8D=D0=BD=D0=B5=D1=80=D0=B3=D0=B8=D1=8F=20=D1=87?= =?UTF-8?q?=D1=83=D1=82=D1=8C=20=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=BE?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=B6=D0=B5=D0=B2=D0=BE-=D0=B6=D0=B5=D0=BB?= =?UTF-8?q?=D1=82=D0=B0=D1=8F=20=D0=B0=20=D0=BD=D0=B0=20=D1=84=D0=BE=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=20=D0=B7=D0=B5=D0=BB=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=20=D0=B6=D0=B5=D0=BB=D1=82=D1=8B=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt index f36b45cd6..b7f561691 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/client/MatteryGUI.kt @@ -168,7 +168,7 @@ object MatteryGUI { val formattedPower = mattery.androidEnergy.batteryLevel.formatPower() val scale = if (ClientConfig.HUD.USE_SMALL_FONT) 1f else ClientConfig.HUD.BAR_TEXT_SCALE.toFloat() - guiGraphics.draw(formattedPower.withStyle(if (ClientConfig.HUD.USE_SMALL_FONT) SMALL_FONT_STYLE else Style.EMPTY), left + CHARGE_BG.width + 2f + scale, top + CHARGE_BG.height / 2f + scale, font = gui.font, scale = scale, gravity = RenderGravity.CENTER_LEFT, color = RGBAColor.YELLOW, drawOutline = true) + guiGraphics.draw(formattedPower.withStyle(if (ClientConfig.HUD.USE_SMALL_FONT) SMALL_FONT_STYLE else Style.EMPTY), left + CHARGE_BG.width + 2f + scale, top + CHARGE_BG.height / 2f + scale, font = gui.font, scale = scale, gravity = RenderGravity.CENTER_LEFT, color = RGBAColor.FULL_POWER, drawOutline = true) RenderSystem.disableBlend() RenderSystem.enableDepthTest()