Skip to content

Commit 022ae01

Browse files
committed
fix: fix 50 50 branch cords
1 parent e911cd4 commit 022ae01

6 files changed

Lines changed: 51 additions & 25 deletions

File tree

src/main/java/zadudoder/spmhelper/mixin/GameHudMixin.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,14 @@ public void render(DrawContext context, RenderTickCounter tickCounter, CallbackI
4949
int screenHeight = client.getWindow().getScaledHeight();
5050

5151
if(branchCoords.branch == HubBranch.HUB) {
52-
// Для HUB
5352
int X = (int) (screenWidth * (SPmHelperConfig.get().SPmNavX / 100.0) - textRenderer.getWidth(branchName) / 2);
5453
int Y = (int) (screenHeight * (SPmHelperConfig.get().SPmNavY / 100.0));
5554
X = Math.max(0, Math.min(X, screenWidth - textRenderer.getWidth(branchName) - 4));
5655
Y = Math.max(0, Math.min(Y, screenHeight - 10));
5756

58-
// Сначала фон, потом текст
5957
context.fill(X - 4, Y - 4, X + textRenderer.getWidth(branchName) + 4, Y + textRenderer.fontHeight + 2, 0x60000000);
6058
context.drawTextWithShadow(textRenderer, branchName, X, Y, 0xFFFFFF);
6159
} else {
62-
// Для других веток
6360
Text fullText = branchName.copy().append(Text.literal(" | " + branchCoords.pos));
6461
int X = (int) (screenWidth * (SPmHelperConfig.get().SPmNavX / 100.0) - textRenderer.getWidth(fullText) / 2);
6562
int Y = (int) (screenHeight * (SPmHelperConfig.get().SPmNavY / 100.0));

src/main/java/zadudoder/spmhelper/utils/Misc.java

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,40 @@ public static boolean isNumeric(String str) {
1717
}
1818
}
1919

20-
public static BranchCoords getBranch(BlockPos blockPos){
21-
BranchCoords branchCoords = new BranchCoords();
22-
int absX = Math.abs(blockPos.getX());
23-
int absZ = Math.abs(blockPos.getZ());
24-
if(blockPos.getZ()<-40 && absZ>absX){
25-
branchCoords.branch = HubBranch.RED;
26-
branchCoords.pos = absZ;
27-
} else
28-
if(blockPos.getX()<-40 && absX>absZ){
29-
branchCoords.branch = HubBranch.BLUE;
30-
branchCoords.pos = absX;
31-
} else
32-
if(blockPos.getX()>40 && absX>absZ){
33-
branchCoords.branch = HubBranch.GREEN;
34-
branchCoords.pos = absX;
35-
} else
36-
if(blockPos.getZ()>40 && absZ>absX){
37-
branchCoords.branch = HubBranch.YELLOW;
38-
branchCoords.pos = absZ;
20+
public static BranchCoords getBranch(BlockPos blockPos) {
21+
int x = blockPos.getX();
22+
int z = blockPos.getZ();
23+
int absX = Math.abs(x);
24+
int absZ = Math.abs(z);
25+
26+
final int BRANCH_BORDER = 40;
27+
if (absX <= BRANCH_BORDER && absZ <= BRANCH_BORDER) {
28+
return new BranchCoords(HubBranch.HUB, 0);
29+
}
30+
boolean onDiagonal = (x == z) || (x == -z);
31+
32+
if (onDiagonal && absX > BRANCH_BORDER) {
33+
if (x < -BRANCH_BORDER && z < -BRANCH_BORDER) {
34+
return new BranchCoords(HubBranch.PURPLE, absX); // Красная+Синяя
35+
} else if (x > BRANCH_BORDER && z < -BRANCH_BORDER) {
36+
return new BranchCoords(HubBranch.ORANGE, absX); // Красная+Зелёная
37+
} else if (x > BRANCH_BORDER && z > BRANCH_BORDER) {
38+
return new BranchCoords(HubBranch.LIME, absX); // Жёлтая+Зелёная
39+
} else if (x < -BRANCH_BORDER && z > BRANCH_BORDER) {
40+
return new BranchCoords(HubBranch.CYAN, absX); // Жёлтая+Синяя
41+
}
3942
}
40-
return branchCoords;
43+
if (z < -BRANCH_BORDER && absZ >= absX) {
44+
return new BranchCoords(HubBranch.RED, absZ);
45+
} else if (x < -BRANCH_BORDER && absX >= absZ) {
46+
return new BranchCoords(HubBranch.BLUE, absX);
47+
} else if (x > BRANCH_BORDER && absX >= absZ) {
48+
return new BranchCoords(HubBranch.GREEN, absX);
49+
} else if (z > BRANCH_BORDER && absZ >= absX) {
50+
return new BranchCoords(HubBranch.YELLOW, absZ);
51+
}
52+
53+
return new BranchCoords(HubBranch.HUB, 0);
4154
}
4255
}
4356

src/main/java/zadudoder/spmhelper/utils/types/BranchCoords.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ public int getBranchColor(){
2020
case BLUE -> color = 0x3232FF;
2121
case GREEN -> color = 0x32FF32;
2222
case YELLOW -> color = 0xFFFF32;
23+
case PURPLE -> color = 0xA000FF; // Фиолетовый
24+
case ORANGE -> color = 0xFFAA32; // Оранжевый
25+
case LIME -> color = 0xAAFF32; // Лаймовый
26+
case CYAN -> color = 0x32FFFF; // Голубой
2327
}
2428
return color;
2529
}

src/main/java/zadudoder/spmhelper/utils/types/HubBranch.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,9 @@ public enum HubBranch {
55
BLUE,
66
GREEN,
77
YELLOW,
8+
PURPLE, // Фиолетовая (Красная + Синяя)
9+
ORANGE, // Оранжевая (Красная + Зелёная)
10+
LIME, // Лаймовая (Жёлтая + Зелёная)
11+
CYAN, // Циановая (Жёлтая + Синяя)
812
HUB
913
}

src/main/resources/assets/spmhelper/lang/en_us.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"text.spmhelper.config.category": "Mod settings",
1010

1111
"text.spmhelper.option.enableMenuButton": "Enable SPmHelper button in main menu: ",
12-
"text.spmhelper.option.enableSPmHelperNav" : "Enable SPmNav",
12+
"text.spmhelper.option.enableSPmHelperNav" : "Enable SPmHelperNav",
1313
"text.spmhelper.option.defaultScreen": "Select which screen the button will lead to: ",
1414
"text.spmhelper.option.numberOfCardInComment": "Show the card number in comments?",
1515
"text.spmhelper.option.SPmHelperNavX": "SPmHelperNav X-axis position (width):",
@@ -134,5 +134,9 @@
134134
"text.spmhelper.branch_name.blue": "Blue",
135135
"text.spmhelper.branch_name.green": "Green",
136136
"text.spmhelper.branch_name.yellow": "Yellow",
137+
"text.spmhelper.branch_name.purple": "Purple",
138+
"text.spmhelper.branch_name.orange": "Orange",
139+
"text.spmhelper.branch_name.lime": "Lime",
140+
"text.spmhelper.branch_name.cyan": "Cyan",
137141
"text.spmhelper.branch_name.hub": "Hub"
138142
}

src/main/resources/assets/spmhelper/lang/ru_ru.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"text.spmhelper.config.category": "Настройки мода",
1010

1111
"text.spmhelper.option.enableMenuButton": "Включить кнопку SPmHelper в основном меню: ",
12-
"text.spmhelper.option.enableSPmHelperNav": "Включить SPmNav",
12+
"text.spmhelper.option.enableSPmHelperNav": "Включить SPmHelperNav",
1313
"text.spmhelper.option.defaultScreen": "На какой экран будет вести эта кнопка: ",
1414
"text.spmhelper.option.numberOfCardInComment": "Указывать номер карты куда вы переводите в комментарии?",
1515
"text.spmhelper.option.SPmHelperNavX": "Расположение SPmHelperNav по оси Х (ширина):",
@@ -132,5 +132,9 @@
132132
"text.spmhelper.branch_name.blue": "Синяя",
133133
"text.spmhelper.branch_name.green": "Зелёная",
134134
"text.spmhelper.branch_name.yellow": "Жёлтая",
135+
"text.spmhelper.branch_name.purple": "Фиолетовая",
136+
"text.spmhelper.branch_name.orange": "Оранжевая",
137+
"text.spmhelper.branch_name.lime": "Лаймовая",
138+
"text.spmhelper.branch_name.cyan": "Голубая",
135139
"text.spmhelper.branch_name.hub": "Хаб"
136140
}

0 commit comments

Comments
 (0)