Skip to content

Commit

Permalink
Make ModifierNBT an iterator over modifier entries
Browse files Browse the repository at this point in the history
Saves a getter call mostly
  • Loading branch information
KnightMiner committed Jan 19, 2025
1 parent 1929780 commit e8b3d13
Showing 1 changed file with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,20 @@
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Spliterator;
import java.util.function.Consumer;
import java.util.stream.Collectors;

/**
* NBT object containing all current modifiers
*/
@EqualsAndHashCode
@RequiredArgsConstructor
public class ModifierNBT {
public class ModifierNBT implements Iterable<ModifierEntry> {

/** Instance containing no modifiers */
public static final ModifierNBT EMPTY = new ModifierNBT(Collections.emptyList());
Expand Down Expand Up @@ -65,6 +68,24 @@ public int getLevel(ModifierId modifier) {
}


/* Iterator */

@Override
public Iterator<ModifierEntry> iterator() {
return modifiers.iterator();
}

@Override
public void forEach(Consumer<? super ModifierEntry> action) {
modifiers.forEach(action);
}

@Override
public Spliterator<ModifierEntry> spliterator() {
return modifiers.spliterator();
}


/* Withers */

/**
Expand Down

0 comments on commit e8b3d13

Please sign in to comment.