Skip to content

Commit e3ce5d5

Browse files
authored
Clean up bedrock ore fallback comments (#4635)
1 parent 9a9283d commit e3ce5d5

File tree

3 files changed

+31
-32
lines changed

3 files changed

+31
-32
lines changed

src/main/java/com/gregtechceu/gtceu/api/gui/misc/ProspectorMode.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -309,16 +309,12 @@ public int getItemColor(OreInfo item) {
309309
@Override
310310
public IGuiTexture getItemIcon(OreInfo item) {
311311
Material material = item.material;
312-
ItemStack stack = ChemicalHelper.get(TagPrefix.get(ConfigHolder.INSTANCE.machines.bedrockOreDropTagPrefix),
313-
material);
314-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.crushed, material); // backup 1: crushed; if raw
315-
// ore doesn't exist
316-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.gem, material); // backup 2: gem; if crushed ore
317-
// doesn't exist
318-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.ore, material); // backup 3: ore; if gem doesn't
319-
// exist
320-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.dust, material); // backup 4: just fallback to
321-
// dust...
312+
ItemStack stack = GTUtil.getFirstNonEmpty(
313+
ChemicalHelper.get(TagPrefix.get(ConfigHolder.INSTANCE.machines.bedrockOreDropTagPrefix), material),
314+
ChemicalHelper.get(TagPrefix.crushed, material),
315+
ChemicalHelper.get(TagPrefix.gem, material),
316+
ChemicalHelper.get(TagPrefix.ore, material),
317+
ChemicalHelper.get(TagPrefix.dust, material));
322318
return new ItemStackTexture(stack).scale(0.8f);
323319
}
324320

src/main/java/com/gregtechceu/gtceu/common/machine/trait/BedrockOreMinerLogic.java

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,12 @@ private GTRecipe getOreMinerRecipe() {
7272
WeightedMaterial wm = GTUtil.getRandomItem(serverLevel.random, veinMaterials);
7373
if (wm == null) return null;
7474
Material material = wm.material();
75-
ItemStack stack = ChemicalHelper.get(TagPrefix.get(ConfigHolder.INSTANCE.machines.bedrockOreDropTagPrefix),
76-
material, getOreToProduce());
77-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.crushed, material, getOreToProduce()); // backup
78-
// 1:
79-
// crushed;
80-
// if raw
81-
// ore
82-
// doesn't
83-
// exist
84-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.gem, material, getOreToProduce()); // backup 2:
85-
// gem; if
86-
// crushed ore
87-
// doesn't
88-
// exist
89-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.ore, material, getOreToProduce()); // backup 3:
90-
// normal ore;
91-
// if gem
92-
// doesn't
93-
// exist.
94-
if (stack.isEmpty()) stack = ChemicalHelper.get(TagPrefix.dust, material, getOreToProduce()); // backup 4:
95-
// fallback to
96-
// dust
75+
ItemStack stack = GTUtil.getFirstNonEmpty(
76+
ChemicalHelper.get(TagPrefix.get(ConfigHolder.INSTANCE.machines.bedrockOreDropTagPrefix), material),
77+
ChemicalHelper.get(TagPrefix.crushed, material),
78+
ChemicalHelper.get(TagPrefix.gem, material),
79+
ChemicalHelper.get(TagPrefix.ore, material),
80+
ChemicalHelper.get(TagPrefix.dust, material));
9781
if (stack.isEmpty()) {
9882
return null;
9983
}

src/main/java/com/gregtechceu/gtceu/utils/GTUtil.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,25 @@ public static byte getFloorTierByVoltage(long voltage) {
300300
return ItemStack.EMPTY;
301301
}
302302

303+
/**
304+
* Returns first non-empty ItemStack from {@code stacks}.
305+
*
306+
* @param stacks list of candidates
307+
* @return an ItemStack, or {@link ItemStack#EMPTY} if all the candidates are empty
308+
* @throws IllegalArgumentException if {@code stacks} is empty
309+
*/
310+
public static @NotNull ItemStack getFirstNonEmpty(@NotNull ItemStack... stacks) {
311+
if (stacks.length == 0) {
312+
throw new IllegalArgumentException("Empty ItemStack candidates");
313+
}
314+
for (ItemStack stack : stacks) {
315+
if (!stack.isEmpty()) {
316+
return stack;
317+
}
318+
}
319+
return ItemStack.EMPTY;
320+
}
321+
303322
public static <M> M getItem(List<? extends M> list, int index, M replacement) {
304323
if (index >= 0 && index < list.size())
305324
return list.get(index);

0 commit comments

Comments
 (0)