aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/gui
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-12-30 20:29:59 +0900
committerGitHub <noreply@github.com>2022-12-30 12:29:59 +0100
commit910437230b18d15a61a02cb31ce95f20a63dcade (patch)
treeefde15d87baa33cc6eb563d3c027fb8a29f9cbb5 /src/main/java/gregtech/common/gui
parentac802e0abae29b3f7d16dc6134a384200bc791da (diff)
downloadGT5-Unofficial-910437230b18d15a61a02cb31ce95f20a63dcade.tar.gz
GT5-Unofficial-910437230b18d15a61a02cb31ce95f20a63dcade.tar.bz2
GT5-Unofficial-910437230b18d15a61a02cb31ce95f20a63dcade.zip
Improve NEI customizability (#1583)
* Move descriptions to recipemap * Move tooltips to recipemap * Move overlays to recipemap * Use shared code for generating grid positions * 2 fluid inputs for freezer recipes * Add deprecation javadoc
Diffstat (limited to 'src/main/java/gregtech/common/gui')
-rw-r--r--src/main/java/gregtech/common/gui/modularui/UIHelper.java62
1 files changed, 35 insertions, 27 deletions
diff --git a/src/main/java/gregtech/common/gui/modularui/UIHelper.java b/src/main/java/gregtech/common/gui/modularui/UIHelper.java
index 1639cf023f..42d704bbf4 100644
--- a/src/main/java/gregtech/common/gui/modularui/UIHelper.java
+++ b/src/main/java/gregtech/common/gui/modularui/UIHelper.java
@@ -93,18 +93,18 @@ public class UIHelper {
case 0:
return Collections.emptyList();
case 1:
- return getItemGridPositions(itemInputCount, 52, 24, 1, 1);
+ return getGridPositions(itemInputCount, 52, 24, 1, 1);
case 2:
- return getItemGridPositions(itemInputCount, 34, 24, 2, 1);
+ return getGridPositions(itemInputCount, 34, 24, 2, 1);
case 3:
- return getItemGridPositions(itemInputCount, 16, 24, 3, 1);
+ return getGridPositions(itemInputCount, 16, 24, 3, 1);
case 4:
- return getItemGridPositions(itemInputCount, 34, 15, 2, 2);
+ return getGridPositions(itemInputCount, 34, 15, 2, 2);
case 5:
case 6:
- return getItemGridPositions(itemInputCount, 16, 15, 3, 2);
+ return getGridPositions(itemInputCount, 16, 15, 3, 2);
default:
- return getItemGridPositions(itemInputCount, 16, 6, 3, 3);
+ return getGridPositions(itemInputCount, 16, 6, 3);
}
}
@@ -116,18 +116,18 @@ public class UIHelper {
case 0:
return Collections.emptyList();
case 1:
- return getItemGridPositions(itemOutputCount, 106, 24, 1, 1);
+ return getGridPositions(itemOutputCount, 106, 24, 1, 1);
case 2:
- return getItemGridPositions(itemOutputCount, 106, 24, 2, 1);
+ return getGridPositions(itemOutputCount, 106, 24, 2, 1);
case 3:
- return getItemGridPositions(itemOutputCount, 106, 24, 3, 1);
+ return getGridPositions(itemOutputCount, 106, 24, 3, 1);
case 4:
- return getItemGridPositions(itemOutputCount, 106, 15, 2, 2);
+ return getGridPositions(itemOutputCount, 106, 15, 2, 2);
case 5:
case 6:
- return getItemGridPositions(itemOutputCount, 106, 15, 3, 2);
+ return getGridPositions(itemOutputCount, 106, 15, 3, 2);
default:
- return getItemGridPositions(itemOutputCount, 106, 6, 3, 3);
+ return getGridPositions(itemOutputCount, 106, 6, 3);
}
}
@@ -164,30 +164,38 @@ public class UIHelper {
return results;
}
- public static List<Pos2d> getItemGridPositions(
- int itemCount, int xOrigin, int yOrigin, int xDirMaxCount, int yDirMaxCount) {
+ public static List<Pos2d> getGridPositions(
+ int totalCount, int xOrigin, int yOrigin, int xDirMaxCount, int yDirMaxCount) {
// 18 pixels to get to a new grid for placing an item tile since they are 16x16 and have 1 pixel buffers
// around them.
- int distanceGrid = 18;
- int xMax = xOrigin + xDirMaxCount * distanceGrid;
+ int distance = 18;
List<Pos2d> results = new ArrayList<>();
- // Temp variables to keep track of current coordinates to place item at.
- int xCoord = xOrigin;
- int yCoord = yOrigin;
-
- for (int i = 0; i < itemCount; i++) {
- results.add(new Pos2d(xCoord, yCoord));
- xCoord += distanceGrid;
- if (xCoord == xMax) {
- xCoord = xOrigin;
- yCoord += distanceGrid;
+ int count = 0;
+ loop:
+ for (int j = 0; j < yDirMaxCount; j++) {
+ for (int i = 0; i < xDirMaxCount; i++) {
+ if (count >= totalCount) break loop;
+ results.add(new Pos2d(xOrigin + i * distance, yOrigin + j * distance));
+ count++;
}
}
-
return results;
}
+ public static List<Pos2d> getGridPositions(int totalCount, int xOrigin, int yOrigin, int xDirMaxCount) {
+ return getGridPositions(totalCount, xOrigin, yOrigin, xDirMaxCount, 100);
+ }
+
+ /**
+ * @deprecated Renamed to {@link #getGridPositions}
+ */
+ @Deprecated
+ public static List<Pos2d> getItemGridPositions(
+ int itemCount, int xOrigin, int yOrigin, int xDirMaxCount, int yDirMaxCount) {
+ return getGridPositions(itemCount, xOrigin, yOrigin, xDirMaxCount, yDirMaxCount);
+ }
+
private static IDrawable[] getBackgroundsForSlot(
IDrawable base,
GT_Recipe.GT_Recipe_Map recipeMap,