Class RandomObjectTable<T>

    • Constructor Detail

      • RandomObjectTable

        protected RandomObjectTable​(int rolls)
        Creates a new RandomObjectTable with the provided number of rolls.
        Parameters:
        rolls - the rolls
        See Also:
        rolls()
    • Method Detail

      • rolls

        public VariableAmount rolls()
        Gets the number of times this table will roll while retrieving items. For each roll a complete pass through of the table will occur.
        Returns:
        The number of rolls
      • setRolls

        public void setRolls​(VariableAmount rolls)
        Sets the number of times this table will roll while retrieving items.
        Parameters:
        rolls - The new roll count
      • setRolls

        public void setRolls​(int rolls)
        Sets the number of times this table will roll while retrieving items.
        Parameters:
        rolls - The new roll count
      • add

        public boolean add​(T object,
                           double weight)
        Adds the given object to the table with the given weight.
        Parameters:
        object - The new object
        weight - The weight of the object
        Returns:
        If the object was successfully added
      • containsObject

        public boolean containsObject​(Object obj)
        Gets if this table contains the given object, the object may either be a TableEntry or the object contained within.
        Parameters:
        obj - The object to check for
        Returns:
        If the object is contained within the table
      • containsAllObjects

        public boolean containsAllObjects​(Collection<?> c)
        Gets if this table contains all of the given objects, the objects may either be TableEntrys or the objects contained within the entries.
        Parameters:
        c - The objects to check for
        Returns:
        If all of the objects are contained within the table
      • removeObject

        public boolean removeObject​(Object object)
        Removes the first instance of an entry in this table which is a WeightedObject entry and contains the given object.
        Parameters:
        object - The object to remove
        Returns:
        If the table was changed as a result
      • get

        public abstract List<T> get​(Random rand)
        Performs a number of rolls according to the number of rolls defined by rolls() and returns items from the table for each roll.
        Parameters:
        rand - The random object to use
        Returns:
        The returned items, may be empty but not null
      • entries

        public List<TableEntry<T>> entries()
        Gets the entries in the table. Note that the specific sub class of this abstract table will determine the context that the entry weights should be interpreted in (either weights or chances).
        Returns:
        The raw entries
      • toArray

        public <R> R[] toArray​(R[] a)
        Specified by:
        toArray in interface Collection<T>