
I redone where the items/blocsks are stored and how the configs are handled to clean up it and give space. You can change the config line to AWWayofTime if you want to keep the compatibility with old configs. Now you reference the blocks from the ModBlocks and Items from the ModItems.
72 lines
2.1 KiB
Java
72 lines
2.1 KiB
Java
package thaumcraft.api.aspects;
|
|
|
|
/**
|
|
* @author azanor
|
|
* <p/>
|
|
* Used by blocks like the crucible and alembic to hold their aspects.
|
|
* Tiles extending this interface will have their aspects show up when viewed by goggles of revealing
|
|
*/
|
|
public interface IAspectContainer {
|
|
public AspectList getAspects();
|
|
|
|
public void setAspects(AspectList aspects);
|
|
|
|
/**
|
|
* This method is used to determine of a specific aspect can be added to this container.
|
|
*
|
|
* @param tag
|
|
* @return true or false
|
|
*/
|
|
public boolean doesContainerAccept(Aspect tag);
|
|
|
|
/**
|
|
* This method is used to add a certain amount of an aspect to the tile entity.
|
|
*
|
|
* @param tag
|
|
* @param amount
|
|
* @return the amount of aspect left over that could not be added.
|
|
*/
|
|
public int addToContainer(Aspect tag, int amount);
|
|
|
|
/**
|
|
* Removes a certain amount of a specific aspect from the tile entity
|
|
*
|
|
* @param tag
|
|
* @param amount
|
|
* @return true if that amount of aspect was available and was removed
|
|
*/
|
|
public boolean takeFromContainer(Aspect tag, int amount);
|
|
|
|
/**
|
|
* removes a bunch of different aspects and amounts from the tile entity.
|
|
*
|
|
* @param ot the ObjectTags object that contains the aspects and their amounts.
|
|
* @return true if all the aspects and their amounts were available and successfully removed
|
|
*/
|
|
public boolean takeFromContainer(AspectList ot);
|
|
|
|
/**
|
|
* Checks if the tile entity contains the listed amount (or more) of the aspect
|
|
*
|
|
* @param tag
|
|
* @param amount
|
|
* @return
|
|
*/
|
|
public boolean doesContainerContainAmount(Aspect tag, int amount);
|
|
|
|
/**
|
|
* Checks if the tile entity contains all the listed aspects and their amounts
|
|
*
|
|
* @param ot the ObjectTags object that contains the aspects and their amounts.
|
|
* @return
|
|
*/
|
|
public boolean doesContainerContain(AspectList ot);
|
|
|
|
/**
|
|
* Returns how much of the aspect this tile entity contains
|
|
*
|
|
* @param tag
|
|
* @return the amount of that aspect found
|
|
*/
|
|
public int containerContains(Aspect tag);
|
|
}
|