Class TypeFilterableList<T>

java.lang.Object
java.util.AbstractCollection<T>
net.minecraft.util.collection.TypeFilterableList<T>
Type Parameters:
T - the common element type
All Implemented Interfaces:
Iterable<T>, Collection<T>

public class TypeFilterableList<T> extends AbstractCollection<T>
A collection allowing getting all elements of a specific type. Backed by ArrayLists.

This implementation is not efficient for frequent modifications. You shouldn't use this if you don't call getAllOfType(Class).

See Also:
Mappings:
Namespace Name
official ath
intermediary net/minecraft/class_3509
named net/minecraft/util/collection/TypeFilterableList
  • Field Details

    • elementsByType

      private final Map<Class<?>,List<T>> elementsByType
      Mappings:
      Namespace Name Mixin selector
      official a Lath;a:Ljava/util/Map;
      intermediary field_15636 Lnet/minecraft/class_3509;field_15636:Ljava/util/Map;
      named elementsByType Lnet/minecraft/util/collection/TypeFilterableList;elementsByType:Ljava/util/Map;
    • elementType

      private final Class<T> elementType
      Mappings:
      Namespace Name Mixin selector
      official b Lath;b:Ljava/lang/Class;
      intermediary field_15637 Lnet/minecraft/class_3509;field_15637:Ljava/lang/Class;
      named elementType Lnet/minecraft/util/collection/TypeFilterableList;elementType:Ljava/lang/Class;
    • allElements

      private final List<T> allElements
      Mappings:
      Namespace Name Mixin selector
      official c Lath;c:Ljava/util/List;
      intermediary field_15635 Lnet/minecraft/class_3509;field_15635:Ljava/util/List;
      named allElements Lnet/minecraft/util/collection/TypeFilterableList;allElements:Ljava/util/List;
  • Constructor Details

    • TypeFilterableList

      public TypeFilterableList(Class<T> elementType)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lath;<init>(Ljava/lang/Class;)V
      intermediary <init> Lnet/minecraft/class_3509;<init>(Ljava/lang/Class;)V
      named <init> Lnet/minecraft/util/collection/TypeFilterableList;<init>(Ljava/lang/Class;)V
  • Method Details

    • add

      public boolean add(T e)
      Specified by:
      add in interface Collection<T>
      Overrides:
      add in class AbstractCollection<T>
      Mappings:
      Namespace Name Mixin selector
      official add Lath;add(Ljava/lang/Object;)Z
      intermediary add Lnet/minecraft/class_3509;add(Ljava/lang/Object;)Z
      named add Lnet/minecraft/util/collection/TypeFilterableList;add(Ljava/lang/Object;)Z
    • remove

      public boolean remove(Object o)
      Specified by:
      remove in interface Collection<T>
      Overrides:
      remove in class AbstractCollection<T>
      Mappings:
      Namespace Name Mixin selector
      official remove Lath;remove(Ljava/lang/Object;)Z
      intermediary remove Lnet/minecraft/class_3509;remove(Ljava/lang/Object;)Z
      named remove Lnet/minecraft/util/collection/TypeFilterableList;remove(Ljava/lang/Object;)Z
    • contains

      public boolean contains(Object o)
      Specified by:
      contains in interface Collection<T>
      Overrides:
      contains in class AbstractCollection<T>
      Throws:
      IllegalArgumentException - if o is not an instance of elementType
      Mappings:
      Namespace Name Mixin selector
      official contains Lath;contains(Ljava/lang/Object;)Z
      intermediary contains Lnet/minecraft/class_3509;contains(Ljava/lang/Object;)Z
      named contains Lnet/minecraft/util/collection/TypeFilterableList;contains(Ljava/lang/Object;)Z
    • getAllOfType

      public <S> Collection<S> getAllOfType(Class<S> type)
      Returns all elements in this collection that are instances of type. The result is unmodifiable.

      The type, or S, must extend the class' type parameter T.

      Type Parameters:
      S - the specialized type, effectively S extends T
      Parameters:
      type - the specialized type, must extend elementType
      Returns:
      this collection's elements that are instances of type
      Throws:
      IllegalArgumentException - when type does not extend elementType
      Mappings:
      Namespace Name Mixin selector
      official a Lath;a(Ljava/lang/Class;)Ljava/util/Collection;
      intermediary method_15216 Lnet/minecraft/class_3509;method_15216(Ljava/lang/Class;)Ljava/util/Collection;
      named getAllOfType Lnet/minecraft/util/collection/TypeFilterableList;getAllOfType(Ljava/lang/Class;)Ljava/util/Collection;
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Collection<T>
      Specified by:
      iterator in interface Iterable<T>
      Specified by:
      iterator in class AbstractCollection<T>
    • copy

      public List<T> copy()
      Mappings:
      Namespace Name Mixin selector
      official a Lath;a()Ljava/util/List;
      intermediary method_34897 Lnet/minecraft/class_3509;method_34897()Ljava/util/List;
      named copy Lnet/minecraft/util/collection/TypeFilterableList;copy()Ljava/util/List;
    • size

      public int size()
      Specified by:
      size in interface Collection<T>
      Specified by:
      size in class AbstractCollection<T>