diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-07-20 06:48:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-20 12:48:46 +0200 |
commit | 6541bb6aa43a7141ac259ee34a597891d6a45689 (patch) | |
tree | 00b7aec82df8d8c32775bde86527a4042e0b02c3 /src/main | |
parent | 85f29b21170a79d707584e6bc4bccb2827d3b8e5 (diff) | |
download | Skyblocker-6541bb6aa43a7141ac259ee34a597891d6a45689.tar.gz Skyblocker-6541bb6aa43a7141ac259ee34a597891d6a45689.tar.bz2 Skyblocker-6541bb6aa43a7141ac259ee34a597891d6a45689.zip |
Fix Memory Leak (#853)
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java index ab61b684..500f1e8c 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/itemlist/ItemStackBuilder.java @@ -6,7 +6,7 @@ import de.hysky.skyblocker.utils.TextTransformer; import io.github.moulberry.repo.constants.PetNumbers; import io.github.moulberry.repo.data.NEUItem; import io.github.moulberry.repo.data.Rarity; -import it.unimi.dsi.fastutil.ints.IntArrayList; +import it.unimi.dsi.fastutil.ints.IntList; import net.minecraft.component.DataComponentTypes; import net.minecraft.component.type.*; import net.minecraft.item.ItemStack; @@ -87,8 +87,11 @@ public class ItemStackBuilder { // Add firework star color Matcher explosionColorMatcher = EXPLOSION_COLOR_PATTERN.matcher(nbttag); if (explosionColorMatcher.find()) { + //We used create an IntArrayList and took the color as the list's capacity and not add anything to the list which y'know casually leaked a lot of memory... + IntList color = IntList.of(Integer.parseInt(explosionColorMatcher.group("color"))); + //Forget about the actual ball type because it probably doesn't matter - stack.set(DataComponentTypes.FIREWORK_EXPLOSION, new FireworkExplosionComponent(FireworkExplosionComponent.Type.SMALL_BALL, new IntArrayList(Integer.parseInt(explosionColorMatcher.group("color"))), new IntArrayList(), false, false)); + stack.set(DataComponentTypes.FIREWORK_EXPLOSION, new FireworkExplosionComponent(FireworkExplosionComponent.Type.SMALL_BALL, color, IntList.of(), false, false)); } // Attach custom nbt data |