LootContextBuilder

Link to lootcontextbuilder

Creates a new LootContext using a builder style pattern.

Importing the class

Link to importing-the-class

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 at the very top of the file.

ZenScript
Copy
import crafttweaker.api.loot.LootContextBuilder;

Name: copy

Return Type: LootContextBuilder

ZenScript
Copy
LootContextBuilder.copy(context as LootContext) as LootContextBuilder
ParameterType
Parameter
context
Type
LootContext

Name: create

Creates a new builder with the given level.

Returns: A new builder.
Return Type: LootContextBuilder

ZenScript
Copy
LootContextBuilder.create(level as ServerLevel) as LootContextBuilder
ParameterTypeDescription
Parameter
level
Type
ServerLevel
Description
The level the loot will be rolled in.

Name: build

Creates a new LootContext with the given LootContextParamSet.

The given LootContextParamSet is used to determine what values are required for the context to be used.

Returns: a new LootContext
Return Type: LootContext

ZenScript
Copy
// LootContextBuilder.build(contextParamSet as LootContextParamSet) as LootContext

new LootContextBuilder(level).build(LootContextParamSets.gift());
ParameterTypeDescription
Parameter
contextParamSet
Type
LootContextParamSet
Description
The LootContextParamSet to use.

Name: create

Deprecated
Use this#build(LootContext.Builder, LootContextParamSet) instead to work around a bug in the ZenCode compiler.

Creates a new LootContext with the given LootContextParamSet.

The given LootContextParamSet is used to determine what values are required for the context to be used.

Returns: a new LootContext
Return Type: LootContext

ZenScript
Copy
// LootContextBuilder.create(contextParamSet as LootContextParamSet) as LootContext

new LootContextBuilder(level).create(LootContextParamSets.gift());
ParameterTypeDescription
Parameter
contextParamSet
Type
LootContextParamSet
Description
The LootContextParamSet to use.

Name: getLevel

Gets the level that this builder uses.

Returns: The level that this builder uses.
Return Type: ServerLevel

ZenScript
Copy
// LootContextBuilder.getLevel() as ServerLevel

new LootContextBuilder(level).getLevel();

Link to getOptionalParameter

Name: getOptionalParameter

Gets the provided value of the optional parameter.

Returns: The value if found, null otherwise.
Return Type: @org.openzen.zencode.java.ZenCodeType.Nullable T

ZenScript
Copy
LootContextBuilder.getOptionalParameter<T : Object>(contextParam as LootContextParam<T>) as @org.openzen.zencode.java.ZenCodeType.Nullable T
ParameterTypeDescription
Parameter
contextParam
Type
LootContextParam<T>
Description
The LootContextParam<T> to get the value of.
Parameter
T
Type
Object
Description
The type that the LootContextParam<T> uses

Name: getParameter

Gets the provided value of the parameter.

Returns: The found value.
Return Type: T

ZenScript
Copy
LootContextBuilder.getParameter<T : Object>(contextParam as LootContextParam<T>) as T
ParameterTypeDescription
Parameter
contextParam
Type
LootContextParam<T>
Description
The LootContextParam<T> to get the value of.
Parameter
T
Type
Object
Description
The type that the LootContextParam<T> uses

Name: withLuck

Provides the given luck value to the context.

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
// LootContextBuilder.withLuck(luck as float) as LootContextBuilder

new LootContextBuilder(level).withLuck(0.5);
ParameterTypeDescription
Parameter
luck
Type
float
Description
The luck value to use.

Link to withOptionalParameter

Name: withOptionalParameter

Provides an optional parameter to this builder.

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
LootContextBuilder.withOptionalParameter<T : Object>(contextParam as LootContextParam<T>, actor as @org.openzen.zencode.java.ZenCodeType.Nullable T) as LootContextBuilder
ParameterTypeDescription
Parameter
contextParam
Type
LootContextParam<T>
Description
The param to add.
Parameter
actor
Type
@org.openzen.zencode.java.ZenCodeType.Nullable T
Description
The optional actor used by the param.
Parameter
T
Type
Object
Description
The type of actor that the param uses.

Link to withOptionalRandomSeed

Name: withOptionalRandomSeed

Supplies a seed to be passed into a new Random.

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
// LootContextBuilder.withOptionalRandomSeed(seed as long) as LootContextBuilder

new LootContextBuilder(level).withOptionalRandomSeed(0);
ParameterTypeDescription
Parameter
seed
Type
long
Description
The seed to use.

Link to withOptionalRandomSeed

Name: withOptionalRandomSeed

Supplies either a seed to be passed into a new Random or if the seed is 0 use the given Random

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
// LootContextBuilder.withOptionalRandomSeed(seed as long, random as RandomSource) as LootContextBuilder

new LootContextBuilder(level).withOptionalRandomSeed(1, level.random);
ParameterTypeDescription
Parameter
seed
Type
long
Description
The seed to use.
Parameter
random
Type
RandomSource
Description
The random source to provide.

Name: withParameter

Provides a parameter to this builder.

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
LootContextBuilder.withParameter<T : Object>(contextParam as LootContextParam<T>, actor as T) as LootContextBuilder
ParameterTypeDescription
Parameter
contextParam
Type
LootContextParam<T>
Description
The param to add.
Parameter
actor
Type
T
Description
The actor used by the param.
Parameter
T
Type
Object
Description
The type of actor that the param uses.

Name: withRandom

Supplies a Random source to the built context.

Returns: This builder for chaining purposes.
Return Type: LootContextBuilder

ZenScript
Copy
// LootContextBuilder.withRandom(random as RandomSource) as LootContextBuilder

new LootContextBuilder(level).withRandom(level.random);
ParameterTypeDescription
Parameter
random
Type
RandomSource
Description
The random source to provide.
NameTypeHas GetterHas SetterDescription
Name
level
Type
ServerLevel
Has Getter
true
Has Setter
false
Description
Gets the level that this builder uses.