package buildcraft.api; import java.util.Set; import org.apache.commons.lang3.tuple.Triple; import net.minecraft.item.Item; public interface ITripleRegistry<T extends ObjectDefinition> extends ISimpleRegistry<T> { /** @return An unmodifiable set containing all the current mappings of the registry */ Set<Triple<String, Item, T>> getDefinitions(); // Specifics /** @param definition The pipe definition to look up. Can be null. * @return The item the has been mapped to the definition, or null if the definition was not mapped */ Item getItem(T definition); /** @param item The item to look up the definition of. Can be null. * @return The definition associated with that item, or null if the item was not mapped. */ T getDefinition(Item item); /** @param item The item to look up the tag of. Can be null. * @return The unique tag associated with that item, or null if the item was not mapped. */ String getUniqueTag(Item item); /** @param tag The tag to look up the item with. * @return The item associated with that tag, or null if the tag was not mapped. */ Item getItem(String tag); }