Skip to content

Commit a78b783

Browse files
committed
Enable max tier to appear both earlier and at end of tiering
1 parent 6e0c104 commit a78b783

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/main/java/blockrenderer6343/client/utils/ConstructableData.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public boolean addItemTier(@NotNull ItemStack item, @NotNull String channel, int
4747
if (!channel.isEmpty()) {
4848
itemChannels.put(hash, channel);
4949
}
50-
return itemTiers.putIfAbsent(hash, tier) == itemTiers.defaultReturnValue();
50+
return itemTiers.put(hash, tier) == itemTiers.defaultReturnValue();
5151
}
5252

5353
public void setMaxTier(int tier, @NotNull String channel) {

src/main/java/blockrenderer6343/integration/nei/StructureHacks.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public class StructureHacks {
6868
/**
6969
* Add a tiered element that should be checked in
7070
* {@link #extractTieredBlocks(Object, IStructureElement, ConstructableData, String)}
71-
*
71+
*
7272
* @param className The class name of the element
7373
*/
7474
public static void addTieredElement(String className) {
@@ -115,6 +115,7 @@ private static <T> ObjectSet<ItemStack> extractTieredBlocks(T multi, IStructureE
115115
ObjectSet<ItemStack> result = new ObjectOpenHashSet<>();
116116
ItemStack holo = HOLO_STACK.copy();
117117
int tier = 0;
118+
boolean doBreak = false;
118119

119120
do {
120121
holo.stackSize = tier++ + 1;
@@ -125,17 +126,17 @@ private static <T> ObjectSet<ItemStack> extractTieredBlocks(T multi, IStructureE
125126
if (!iterator.hasNext()) break;
126127
ItemStack firstStack = iterator.next();
127128

128-
if (!data.addItemTier(firstStack, channel, tier)) break;
129+
if (!data.addItemTier(firstStack, channel, tier)) doBreak = true;
129130
result.add(firstStack);
130131

131132
while (iterator.hasNext()) {
132133
ItemStack stack = iterator.next();
133-
if (!data.addItemTier(stack, channel, tier)) break;
134+
data.addItemTier(stack, channel, tier);
134135
result.add(stack);
135136
}
136-
} while (tier < MAX_TIERS_TO_CHECK);
137+
} while (!doBreak && tier < MAX_TIERS_TO_CHECK);
137138

138-
data.setMaxTier(tier - 1, channel);
139+
data.setMaxTier(tier, channel);
139140
return result;
140141
}
141142

0 commit comments

Comments
 (0)