ILiquidStack
Link to iliquidstack
A LiquidStack consists of a Liquid Definition as well as an optional tag and an optional amount value.
导入相关包
Link to 导入相关包
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? | 返回值类型 | 例子 |
---|---|---|---|
Zengetter name(名称) | What is this? This returns the unlocalized liquid name | 返回值类型 string | 例子 test = <liquid:lava>.name; |
Zengetter displayName | What is this? This returns the localized liquid name | 返回值类型 string | 例子 test = <liquid:lava>.displayName; |
Zengetter amount | What is this? This returns the amount of the ILiquidObject | 返回值类型 int | 例子 test = <liquid:lava>.amount; |
Zengetter luminosity | What is this? This returns the luminosity of the referred liquid | 返回值类型 int | 例子 test = <liquid:lava>.luminosity; |
Zengetter density | What is this? This returns the density of the referred liquid | 返回值类型 int | 例子 test = <liquid:lava>.density; |
Zengetter temperature | What is this? This returns the temperature of the referred liquid | 返回值类型 int | 例子 test = <liquid:lava>.temperature; |
Zengetter viscosity | What is this? This returns the viscosity of the referred liquid | 返回值类型 int | 例子 test = <liquid:lava>.viscosity; |
Zengetter gaseous | What is this? This returns whether the referred liquid is gaseous | 返回值类型 布尔值 | 例子 test = <liquid:lava>.gaseous; |
Zengetter tag #标签 | What is this? This returns the ILiquidObject's tag | 返回值类型 IData #数据 | 例子 test = <liquid:lava>.tag; |
Zengetter definition | What is this? This returns the referred liquid's definition (see below) | 返回值类型 ILiquid Definition | 例子 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