/* * This file is free for everyone to use under the Creative Commons Zero license. */ /** * Provides resources to Minecraft, including resource access and provision. * *

"Data" as in "Data Packs" is considered resource as well. * *

Here is a quick overview on the resource access and provision APIs of Minecraft: *

* * * * * * * * * * * * * * * * * * * * * * * * *
Resource Access APIs
ClassUsage
{@link Resource}Accesses binary data.
{@link ResourceFactory}Provides a resource given an {@link net.minecraft.util.Identifier}.
{@link ResourceManager}Exposes more resource access in addition to being a {@link ResourceFactory}.
{@link ResourceReloader}The most common accessor to resources, acting during "reloads" to set up in-game contents. *
This is usually implemented by mods using resources.
{@link ReloadableResourceManager}Performs reloads and manages {@link ResourceReloader}s in addition to being a {@link ResourceManager}. *
Usually held by the game engine, it may be provided by the modding APIs as well.
* *
* * * * * * * * * * * * * * * * * * * * *
Resource Provision APIs
ClassUsage
{@link ResourcePack}Provides binary data based on queries. *
They are usually single-use, created by {@link ResourcePackManager} and provided * to {@link ReloadableResourceManager} in each reload.
{@link ResourcePackProfile}A user-friendly, persistent form of {@link ResourcePack}. Used to create resource * packs in reloads.
{@link ResourcePackProvider}Provides {@link ResourcePackProfile}s, so they are taken account of during reloads. *
This is usually implemented by mods providing resources.
{@link ResourcePackManager}Keeps track of {@link ResourcePackProvider}s and uses the profiles from the providers * to create {@link ResourcePack}s to send to {@link ReloadableResourceManager}s in each reload.
* *

In addition to these APIs, this package includes implementation details of the resource system. */ package net.minecraft.resource;