@@ -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
0 commit comments