LootModifierManager

Link to lootmodifiermanager

Manager for loot modifiers.

An instance of this manager can be obtained via the LootManager.

The main usage of this manager is for registering "global loot modifiers", also known as "loot modifiers" for short. A global loot modifier runs on the loot drop of every loot table (unless otherwise specified by conditions) and is as such able to modify it according either to predetermined parameters (e.g. replacing items) or via completely customized code that leverages the dropping context.

For more information, refer to ILootModifier.

Importare la Classe

Link to importare-la-classe

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.modifier.LootModifierManager;

LootModifierManager is an enum. It has 1 enum constants. They are accessible using the code below.

ZenScript
Copy
LootModifierManager.INSTANCE

Name: getAll

Gets a list containing all currently registered loot modifiers.

Returns: A list containing all currently registered loot modifiers.
Return Type: stdlib.List<ILootModifier>

ZenScript
Copy
// LootModifierManager.getAll() as stdlib.List<ILootModifier>

loot.modifiers.getAll();

Name: getAllNames

Gets a list of all the names of the currently registered loot modifiers.

Returns: A list with all the names of the currently registered loot modifiers.
Return Type: stdlib.List<ResourceLocation>

ZenScript
Copy
// LootModifierManager.getAllNames() as stdlib.List<ResourceLocation>

loot.modifiers.getAllNames();

Name: getByName

Gets the loot modifier with the given name, if it exists.

If no loot modifier with that name exists, a default no-op instance is returned.

Returns: The ILootModifier with the given name, or a default one if no such instance exists.
Return Type: ILootModifier

ZenScript
Copy
LootModifierManager.getByName(name as string) as ILootModifier
ParametroTipoDescrizione
Parametro
nome
Tipo
string
Descrizione
The name of the loot modifier.

Name: register

Registers a new global loot modifier with the given name.

The loot modifier will be run only when the given set of conditions is satisfied.

ZenScript
Copy
LootModifierManager.register(name as string, conditions as LootConditions, modifier as ILootModifier)
ParametroTipoDescrizione
Parametro
nome
Tipo
string
Descrizione
The unique identifier for the loot modifier. It must be all lowercase and devoid of both spaces and
colons.
Parametro
conditions
Tipo
LootConditions
Descrizione
A set of conditions that restrict the context in which the loot modifier applies.
Parametro
modifier
Tipo
ILootModifier
Descrizione
The loot modifier itself. It may be created via CommonLootModifiers.

Name: removeAll

Removes all loot modifiers that have been registered up to this point.

ZenScript
Copy
// LootModifierManager.removeAll()

loot.modifiers.removeAll();

Name: removeByModId

Removes all loot modifiers that have been registered by the mod with the given ID.

ZenScript
Copy
LootModifierManager.removeByModId(modId as string)
ParametroTipoDescrizione
Parametro
modId
Tipo
string
Descrizione
The mod ID.

Name: removeByName

Removes the loot modifier with the given name.

The name may either contain a colon or not. If no colon is present, it is assumed that the loot modifier name is one of the modifiers that have been already registered in a script.

ZenScript
Copy
LootModifierManager.removeByName(name as string)
ParametroTipoDescrizione
Parametro
nome
Tipo
string
Descrizione
The name of the loot modifier to remove.

Name: removeByRegex

Removes all loot modifiers whose name matches the given regular expression.

The entire name is taken into consideration for the match, effectively matching the format of a ResourceLocation.

ZenScript
Copy
LootModifierManager.removeByRegex(regex as string)
ParametroTipoDescrizione
Parametro
regex
Tipo
string
Descrizione
The regular expression to match.