Skip to content

Commit 8be58bf

Browse files
committed
Fix itemstack papi setting
1 parent be1fca6 commit 8be58bf

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

src/main/java/me/rothes/protocolstringreplacer/packetlisteners/server/AbstractServerPacketListener.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import javax.annotation.Nonnull;
2525
import javax.annotation.Nullable;
2626
import java.util.ArrayList;
27+
import java.util.Arrays;
2728
import java.util.Collections;
2829
import java.util.List;
2930
import java.util.function.BiPredicate;
@@ -290,11 +291,11 @@ protected static boolean replaceItemStack(@Nonnull PacketEvent packetEvent, @Non
290291
ReplacerManager replacerManager = ProtocolStringReplacer.getInstance().getReplacerManager();
291292
ItemStackContainer container = new ItemStackContainer(itemStack);
292293

293-
boolean fromCache = container.isFromCache();
294-
if (!fromCache) {
294+
if (!container.isFromCache()) {
295295
if (cacheItemStack(container, replacers)) {
296296
return true;
297297
}
298+
container.reset();
298299
}
299300
if (container.getMetaCache().isBlocked()) {
300301
packetEvent.setCancelled(true);
@@ -304,11 +305,9 @@ protected static boolean replaceItemStack(@Nonnull PacketEvent packetEvent, @Non
304305
int[] papiIndexes = container.getMetaCache().getPlaceholderIndexes();
305306
if (papiIndexes.length != 0) {
306307
container.cloneItem();
307-
if (fromCache) {
308-
container.createDefaultChildren();
309-
container.createDefaultChildrenDeep();
310-
container.createTexts(container);
311-
}
308+
container.createDefaultChildren();
309+
container.createDefaultChildrenDeep();
310+
container.createTexts(container);
312311

313312
replacerManager.setPapi(user, container.getTexts(), papiIndexes);
314313
}

src/main/java/me/rothes/protocolstringreplacer/replacer/containers/AbstractContainer.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ public void addText(@NotNull Replaceable replaceable) {
9898
}
9999
}
100100

101+
@Override
102+
public void reset() {
103+
children = new ArrayList<>();
104+
jsonReplaceables = null;
105+
textReplaceables = null;
106+
}
107+
101108
@Override
102109
public Container<?> getRoot() {
103110
return root;

src/main/java/me/rothes/protocolstringreplacer/replacer/containers/Container.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ public interface Container<T> {
2020

2121
void addText(@NotNull Replaceable replaceable);
2222

23+
void reset();
24+
2325
@NotNull
2426
Container<?> getRoot();
2527

0 commit comments

Comments
 (0)