ILiquidStack
Link to iliquidstack
A LiquidStack consists of a Liquid Definition as well as an optional tag and an optional amount value.
Importing the package
Link to importing-the-package
It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import.
import crafttweaker.liquid.ILiquidStack;
Creating an ILiquidStack
Link to creating-an-iliquidstack
An ILiquidStack can be created by using the Liquid Bracket Handler
ZenScript Copy//see The liquid bracket Handler for further information
val lava = <liquid:lava>;
//liquid.withTag(Tag as IData)
val lavaWithTag = <liquid:lava>.withTag(DATA);
//liquid * amount in millibuckets (-> 1000 = 1 Bucket)
val lavaWithAmount = <liquid:lava> * 1000;
Get fluid properties
Link to get-fluid-properties
As an ILiquidStack represents a liquid, there surely must also be a way of retrieving the fluid's properties.
Check the table to see what you can retrieve from the ILiquidStack Object using ZenGetters.
Zengetter | What is this? | Return Type | Example |
---|---|---|---|
Zengetter nome | What is this? This returns the unlocalized liquid name | Return Type string | Example test = <liquid:lava>.name; |
Zengetter displayName | What is this? This returns the localized liquid name | Return Type string | Example test = <liquid:lava>.displayName; |
Zengetter amount | What is this? This returns the amount of the ILiquidObject | Return Type int | Example test = <liquid:lava>.amount; |
Zengetter luminosity | What is this? This returns the luminosity of the referred liquid | Return Type int | Example test = <liquid:lava>.luminosity; |
Zengetter density | What is this? This returns the density of the referred liquid | Return Type int | Example test = <liquid:lava>.density; |
Zengetter temperature | What is this? This returns the temperature of the referred liquid | Return Type int | Example test = <liquid:lava>.temperature; |
Zengetter viscosity | What is this? This returns the viscosity of the referred liquid | Return Type int | Example test = <liquid:lava>.viscosity; |
Zengetter gaseous | What is this? This returns whether the referred liquid is gaseous | Return Type boolean | Example test = <liquid:lava>.gaseous; |
Zengetter tag | What is this? This returns the ILiquidObject's tag | Return Type IData | Example test = <liquid:lava>.tag; |
Zengetter definition | What is this? This returns the referred liquid's definition (see below) | Return Type ILiquid Definition | Example test = <liquid:lava>.definition; |
IIngredient Implementaion
Link to iingredient-implementaion
Java Jargon: ILiquidStack implements IIngredient. In other words, all methods that can be used in IIngredients can also be used for ILiquidStacks Refer to the IIngredient entry for further information on this. Here are some special cases, as liquids just aren't items
- You can't mark ILiquidStacks, and you get null of you try to retrieve an ILiquidStack's mark
- .items returns an empty List
- .itemArray returns an empty Array
- .liquids returns this liquid as ILiquidStack (so, exactly this object)
- LiquidStacks can't have Transformers and asking for transformers always returns false
- LiquidStacks can't have Conditions (.only doesn't work)
- Matching with items always returns false