Skip to content

Commit 7a9e9b6

Browse files
committed
feat: add x and y offset for trading hud
1 parent b3f060b commit 7a9e9b6

File tree

7 files changed

+38
-13
lines changed

7 files changed

+38
-13
lines changed

common/src/main/java/com/euphony/better_client/client/events/BiomeTitleEvent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private static void renderBiomeTitle(GuiGraphics guiGraphics, Minecraft mc) {
147147

148148
Component biomeName = getBiomeName(displayBiome);
149149
int textWidth = font.width(biomeName);
150-
int y = -font.wordWrapHeight(biomeName.getString(), 999) / 2 + config.yOffset;
150+
int y = -font.wordWrapHeight(biomeName.getString(), 999) / 2 + config.biomeTitleYOffset;
151151

152152
guiGraphics.drawString(font, biomeName, (-textWidth / 2), y,
153153
0xffffff | (alpha << 24), true);

common/src/main/java/com/euphony/better_client/client/renderer/TradingHudRenderer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public static void renderHud(GuiGraphics guiGraphics, DeltaTracker deltaTracker)
3939
MerchantInfo.getInstance().getLastEntityId().ifPresent(lastId -> {
4040
MerchantOffers merchantOffers = MerchantInfo.getInstance().getOffers();
4141
if (!merchantOffers.isEmpty()) {
42-
int i = 0;
43-
int k = 5;
42+
int i = config.tradingHudXOffset;
43+
int k = 5 + config.tradingHudYOffset;
4444
int l = i + 5 + 5;
4545
int m = 0;
4646

common/src/main/java/com/euphony/better_client/config/Config.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class Config {
4848
public int fadeInTime = 20;
4949
public int fadeOutTime = 20;
5050
public double scale = 2.1D;
51-
public int yOffset = -10;
51+
public int biomeTitleYOffset = -10;
5252
public int color = 0xFFFFFF;
5353
public double cooldownTime = 1.5D;
5454
public boolean enableModName = false;
@@ -74,6 +74,8 @@ public class Config {
7474
public boolean showDurabilityHint = true;
7575

7676
public boolean enableTradingHud = true;
77+
public int tradingHudXOffset = 0;
78+
public int tradingHudYOffset = 0;
7779
public boolean renderRealCostDirectly = true;
7880

7981
public boolean enableAxolotlBucketFix = true;

common/src/main/java/com/euphony/better_client/config/screen/category/MerchantConfigScreen.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dev.isxander.yacl3.api.Option;
77
import dev.isxander.yacl3.api.OptionGroup;
88
import dev.isxander.yacl3.api.YetAnotherConfigLib;
9+
import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
910
import net.minecraft.client.gui.screens.Screen;
1011
import net.minecraft.network.chat.Component;
1112

@@ -42,6 +43,18 @@ public static Screen generateScreen(Screen parent) {
4243
() -> config.enableTradingHud,
4344
newVal -> config.enableTradingHud = newVal
4445
);
46+
Option<Integer> tradingHudXOffset = ConfigUtils.<Integer>getGenericOption("tradingHudXOffset")
47+
.binding(DEFAULTS.tradingHudXOffset,
48+
() -> config.tradingHudXOffset,
49+
newVal -> config.tradingHudXOffset = newVal)
50+
.controller(IntegerFieldControllerBuilder::create)
51+
.build();
52+
Option<Integer> tradingHudYOffset = ConfigUtils.<Integer>getGenericOption("tradingHudYOffset")
53+
.binding(DEFAULTS.tradingHudYOffset,
54+
() -> config.tradingHudYOffset,
55+
newVal -> config.tradingHudYOffset = newVal)
56+
.controller(IntegerFieldControllerBuilder::create)
57+
.build();
4558
Option<Boolean> renderRealCostDirectlyOpt = ConfigUtils.buildBooleanOption(
4659
"renderRealCostDirectly",
4760
DEFAULTS.renderRealCostDirectly,
@@ -71,6 +84,8 @@ public static Screen generateScreen(Screen parent) {
7184
.name(ConfigUtils.getGroupName(CLIENT_CATEGORY, TRADING_HUD_GROUP))
7285
.options(List.of(
7386
enableTradingHudOpt,
87+
tradingHudXOffset,
88+
tradingHudYOffset,
7489
renderRealCostDirectlyOpt
7590
))
7691
.build())

common/src/main/java/com/euphony/better_client/config/screen/category/ScreenConfigScreen.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ public static Screen generateScreen(Screen parent) {
9696
.range(0.3, 3.0))
9797
.build();
9898

99-
Option<Integer> yOffsetOpt = ConfigUtils.<Integer>getGenericOption("yOffset")
100-
.binding(DEFAULTS.yOffset,
101-
() -> config.yOffset,
102-
newVal -> config.yOffset = newVal)
99+
Option<Integer> biomeTitleYOffset = ConfigUtils.<Integer>getGenericOption("biomeTitleYOffset")
100+
.binding(DEFAULTS.biomeTitleYOffset,
101+
() -> config.biomeTitleYOffset,
102+
newVal -> config.biomeTitleYOffset = newVal)
103103
.controller(opt -> IntegerFieldControllerBuilder.create(opt)
104104
.range(-60, 60))
105105
.build();
@@ -197,7 +197,7 @@ public static Screen generateScreen(Screen parent) {
197197
fadeInTimeOpt,
198198
fadeOutTimeOpt,
199199
scaleOpt,
200-
yOffsetOpt,
200+
biomeTitleYOffset,
201201
colorOpt,
202202
cooldownTimeOpt,
203203
enableModNameOpt,

common/src/main/resources/assets/better_client/lang/en_us.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@
9898
"yacl3.config.better_client:config.fadeOutTime.desc": "Title fade-out time.",
9999
"yacl3.config.better_client:config.scale": "Font Size",
100100
"yacl3.config.better_client:config.scale.desc": "Title font size.",
101-
"yacl3.config.better_client:config.yOffset": "Y-coordinate Offset",
102-
"yacl3.config.better_client:config.yOffset.desc": "Y-axis offset relative to the screen center minus the title height.",
101+
"yacl3.config.better_client:config.biomeTitleYOffset": "Y-coordinate Offset",
102+
"yacl3.config.better_client:config.biomeTitleYOffset.desc": "Y-axis offset relative to the screen center minus the title height.",
103103
"yacl3.config.better_client:config.color": "Title Color",
104104
"yacl3.config.better_client:config.color.desc": "Title color.",
105105
"yacl3.config.better_client:config.cooldownTime": "Cooldown Time",
@@ -146,6 +146,10 @@
146146
"yacl3.config.better_client:config.category.client.group.trading_hud": "Trading HUD",
147147
"yacl3.config.better_client:config.enableTradingHud": "Enable Trading HUD",
148148
"yacl3.config.better_client:config.enableTradingHud.desc": "Hover over a villager to display their trade offers in the upper-left corner.",
149+
"yacl3.config.better_client:config.tradingHudXOffset": "X-coordinate Offset",
150+
"yacl3.config.better_client:config.tradingHudXOffset.desc": "X-axis offset relative to the screen left-right corner.",
151+
"yacl3.config.better_client:config.tradingHudYOffset": "Y-coordinate Offset",
152+
"yacl3.config.better_client:config.tradingHudYOffset.desc": "Y-axis offset relative to the screen left-right corner.",
149153
"yacl3.config.better_client:config.renderRealCostDirectly": "Show Only Real Prices",
150154
"yacl3.config.better_client:config.renderRealCostDirectly.desc": "Show only real prices instead of both base and real prices.",
151155

common/src/main/resources/assets/better_client/lang/zh_cn.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@
9898
"yacl3.config.better_client:config.fadeOutTime.desc": "标题淡出时间。",
9999
"yacl3.config.better_client:config.scale": "字体大小",
100100
"yacl3.config.better_client:config.scale.desc": "标题字体大小。",
101-
"yacl3.config.better_client:config.yOffset": "Y 轴坐标偏移",
102-
"yacl3.config.better_client:config.yOffset.desc": "相对于屏幕中心减去标题高度的 Y 轴坐标偏移。",
101+
"yacl3.config.better_client:config.biomeTitleYOffset": "Y 轴坐标偏移",
102+
"yacl3.config.better_client:config.biomeTitleYOffset.desc": "相对于屏幕中心减去标题高度的 Y 轴坐标偏移。",
103103
"yacl3.config.better_client:config.color": "标题颜色",
104104
"yacl3.config.better_client:config.color.desc": "标题颜色。",
105105
"yacl3.config.better_client:config.cooldownTime": "冷却时间",
@@ -146,6 +146,10 @@
146146
"yacl3.config.better_client:config.category.client.group.trading_hud": "交易界面",
147147
"yacl3.config.better_client:config.enableTradingHud": "启用交易界面",
148148
"yacl3.config.better_client:config.enableTradingHud.desc": "将鼠标悬停在村民上方,其交易列表将显示在左上角。",
149+
"yacl3.config.better_client:config.tradingHudXOffset": "X 轴坐标偏移",
150+
"yacl3.config.better_client:config.tradingHudXOffset.desc": "相对于屏幕左上角的 X 轴偏移量。",
151+
"yacl3.config.better_client:config.tradingHudYOffset": "Y 轴坐标偏移",
152+
"yacl3.config.better_client:config.tradingHudYOffset.desc": "相对于屏幕左上角的 Y 轴偏移量。",
149153
"yacl3.config.better_client:config.renderRealCostDirectly": "仅显示实际价格",
150154
"yacl3.config.better_client:config.renderRealCostDirectly.desc": "仅显示实际价格而非基础与实际价格。",
151155

0 commit comments

Comments
 (0)