2012-11-14 02:54:57 +00:00
|
|
|
package net.minecraftforge.liquids;
|
|
|
|
|
2012-12-13 05:58:35 +00:00
|
|
|
import net.minecraft.nbt.NBTTagCompound;
|
2012-11-14 02:54:57 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Implementors of this interface are a liquid which may receive a block implementation and can be placed in the world.
|
|
|
|
*
|
|
|
|
* @author cpw
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public interface IBlockLiquid extends ILiquid {
|
2013-01-22 02:56:04 +00:00
|
|
|
/**
|
|
|
|
* Controls the type of block that is generated by this IBlockLiquid
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public enum BlockType {
|
|
|
|
/**
|
|
|
|
* No block. Completeness really.
|
|
|
|
*/
|
|
|
|
NONE,
|
|
|
|
/**
|
|
|
|
* Vanilla style block, up to 8 flowing states. May be able to generate new sources.
|
|
|
|
*/
|
|
|
|
VANILLA,
|
|
|
|
/**
|
|
|
|
* Finite liquid style, uses cellular automata to model flowing behaviour.
|
|
|
|
*/
|
|
|
|
FINITE;
|
|
|
|
}
|
2012-11-14 02:54:57 +00:00
|
|
|
|
2013-01-22 02:56:04 +00:00
|
|
|
/**
|
|
|
|
* Can this liquid, when placed in a specific configuration, generate new source blocks of the liquid.
|
|
|
|
* @return if this liquid will generate new sources
|
|
|
|
*/
|
|
|
|
public boolean willGenerateSources();
|
2012-11-14 02:54:57 +00:00
|
|
|
|
2013-01-22 02:56:04 +00:00
|
|
|
/**
|
|
|
|
* @return the distance this liquid will flow if placed in the world. Maximum of 7 levels for vanilla types.
|
|
|
|
*/
|
|
|
|
public int getFlowDistance();
|
2012-11-14 02:54:57 +00:00
|
|
|
|
2013-01-22 02:56:04 +00:00
|
|
|
/**
|
|
|
|
* @return the RGB rendering for this liquid
|
|
|
|
*/
|
|
|
|
public byte[] getLiquidRGB();
|
2012-11-14 02:54:57 +00:00
|
|
|
|
2013-01-22 02:56:04 +00:00
|
|
|
/**
|
|
|
|
* Get the texture file for rendering the liquid
|
|
|
|
* @return the texture file for this liquid
|
|
|
|
*/
|
|
|
|
public String getLiquidBlockTextureFile();
|
|
|
|
/**
|
|
|
|
* Custom properties of the liquid.
|
|
|
|
* @return a compound tag of custom liquid properties
|
|
|
|
*/
|
|
|
|
public NBTTagCompound getLiquidProperties();
|
2012-11-14 02:54:57 +00:00
|
|
|
|
|
|
|
}
|