| package li.cil.oc.api.internal; |
| |
| import li.cil.oc.api.network.Environment; |
| import net.minecraft.inventory.IInventory; |
| |
| /** |
| * This interface is implemented as a marker by adapters. |
| * <p/> |
| * This is implemented by adapter tile entities, which also serve as its |
| * components' environment. That means you can use this to check for |
| * adapters by using either: |
| * <pre> |
| * if (tileEntity instanceof Adapter) { |
| * </pre> |
| * or |
| * <pre> |
| * if (node.host() instanceof Adapter) { |
| * </pre> |
| * <p/> |
| * This can also be used by {@link li.cil.oc.api.driver.item.HostAware} item |
| * drivers to check if the provided environment class is an adapter by checking |
| * for assignability, which allows for items that make no sense in adapters to |
| * deny being placed into them, for example. |
| * <p/> |
| * The only purpose is to allow identifying tile entities as adapters |
| * via the API, i.e. without having to link against internal classes. This |
| * also means that <em>you should not implement this</em>. |
| */ |
| public interface Adapter extends Environment, IInventory { |
| } |