MCItemStackMutable

Link to mcitemstackmutable

An MCItemStackMutable object is the same as any other IItemStack. The only difference is that changes made to it will not create a new ItemStack, but instead modify the stack given.

This is useful for example when you are dealing with Event Handlers and need to shrink the stack the player is using without assigning a new stack.

Импорт класса

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

ZenScript
Copy
import crafttweaker.api.item.MCItemStackMutable;

Implemented Interfaces

Link to implemented-interfaces

MCItemStackMutable implements the following interfaces. That means all methods defined in these interfaces are also available in MCItemStackMutable

Static Properties

Link to static-properties

НазваниеТипИмеет GetterИмеет SetterОписание
Название
CRAFTTWEAKER_DATA_KEY
Тип
string
Имеет Getter
true
Имеет Setter
false
Описание
No Description Provided
Тип результатаЯвляется неявным
Тип результата
IData
Является неявным
true
Тип результата
IIngredientWithAmount
Является неявным
true
Тип результата
MapData
Является неявным
true
Тип результата
MCItemDefinition
Является неявным
true
Тип результата
MCWeightedItemStack
Является неявным
true

Link to addGlobalAttributeModifier

Name: addGlobalAttributeModifier

Adds an AttributeModifier to this IIngredient.

Attributes added with this method appear on all ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to have the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withAttributeModifier

Return Type: void

ZenScript
Copy
// MCItemStackMutable.addGlobalAttributeModifier(attribute as Attribute, name as string, value as double, operation as AttributeOperation, slotTypes as MCEquipmentSlotType[]) as void

<item:minecraft:dirt>.mutable().addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslottype:chest>]);
ПараметрТипОписание
Параметр
attribute
Тип
Attribute
Описание
The Attribute of the modifier.
Параметр
name
Тип
string
Описание
The name of the modifier.
Параметр
value
Тип
double
Описание
The value of the modifier.
Параметр
operation
Тип
AttributeOperation
Описание
The operation of the modifier.
Параметр
slotTypes
Тип
MCEquipmentSlotType[]
Описание
What slots the modifier is valid for.

Link to addGlobalAttributeModifier

Name: addGlobalAttributeModifier

Adds an AttributeModifier to this IIngredient using a specific UUID.

The UUID can be used to override an existing attribute on an ItemStack with this new modifier. You can use /ct hand attributes to get the UUID of the attributes on an ItemStack.

Attributes added with this method appear on all ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to have the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withAttributeModifier

Return Type: void

ZenScript
Copy
// MCItemStackMutable.addGlobalAttributeModifier(attribute as Attribute, uuid as string, name as string, value as double, operation as AttributeOperation, slotTypes as MCEquipmentSlotType[]) as void

<item:minecraft:dirt>.mutable().addGlobalAttributeModifier(<attribute:minecraft:generic.attack_damage>, "8c1b5535-9f79-448b-87ae-52d81480aaa3", "Extra Power", 10, AttributeOperation.ADDITION, [<equipmentslottype:chest>]);
ПараметрТипОписание
Параметр
attribute
Тип
Attribute
Описание
The Attribute of the modifier.
Параметр
uuid
Тип
string
Описание
The unique identifier of the modifier to replace.
Параметр
name
Тип
string
Описание
The name of the modifier.
Параметр
value
Тип
double
Описание
The value of the modifier.
Параметр
operation
Тип
AttributeOperation
Описание
The operation of the modifier.
Параметр
slotTypes
Тип
MCEquipmentSlotType[]
Описание
What slots the modifier is valid for.

Name: addShiftTooltip

Return Type: void

ZenScript
Copy
MCItemStackMutable.addShiftTooltip(content as MCTextComponent, showMessage as MCTextComponent) as void
ПараметрТипОписаниеOptionalDefaultValue
Параметр
контент
Тип
Компонент MCTextcomponent
Описание
No Description Provided
Optional
false
DefaultValue
Параметр
showMessage
Тип
Компонент MCTextcomponent
Описание
No Description Provided
Optional
true
DefaultValue

Name: addTooltip

Return Type: void

ZenScript
Copy
MCItemStackMutable.addTooltip(content as MCTextComponent) as void
ПараметрТипОписание
Параметр
контент
Тип
Компонент MCTextcomponent
Описание
No Description Provided

Name: anyDamage

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
// MCItemStackMutable.anyDamage() as MCIngredientConditioned<IIngredient>

<item:minecraft:dirt>.mutable().anyDamage();

Link to asIIngredientWithAmount

Name: asIIngredientWithAmount

Return Type: IIngredientWithAmount

ZenScript
Copy
// MCItemStackMutable.asIIngredientWithAmount() as IIngredientWithAmount

<item:minecraft:dirt>.mutable().asIIngredientWithAmount();

Name: clearCustomName

Clears any custom name set for this ItemStack

Return Type: void

ZenScript
Copy
// MCItemStackMutable.clearCustomName() as void

<item:minecraft:dirt>.mutable().clearCustomName();

Name: clearTooltip

Return Type: void

ZenScript
Copy
// MCItemStackMutable.clearTooltip() as void

<item:minecraft:dirt>.mutable().clearTooltip();

Name: contains

Does the ingredient contain the given ingredient?

Return Type: boolean

ZenScript
Copy
// MCItemStackMutable.contains(ingredient as IIngredient) as boolean

<item:minecraft:dirt>.mutable().contains((<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>));
ПараметрТипОписание
Параметр
ingredient
Тип
IIngredient
Описание
The ingredient to check

Name: getAttributes

Gets the Attributes and the AttributeModifiers on this IItemStack for the given EquipmentSlotType

Returns: A Map of Attribute to a List of AttributeModifier for the given EquipmentSlotType.
Return Type: stdlib.List<AttributeModifier>[Attribute]

ZenScript
Copy
// MCItemStackMutable.getAttributes(slotType as MCEquipmentSlotType) as stdlib.List<AttributeModifier>[Attribute]

<item:minecraft:dirt>.mutable().getAttributes(<equipmentslottype:chest>);
ПараметрТипОписание
Параметр
slotType
Тип
MCEquipmentSlotType
Описание
The slot to get the Attributes for.

Name: getDefinition

Return Type: MCItemDefinition

ZenScript
Copy
// MCItemStackMutable.getDefinition() as MCItemDefinition

<item:minecraft:dirt>.mutable().getDefinition();

Link to getEnchantmentLevel

Name: getEnchantmentLevel

Gets the level of the given enchantment on the item. Returns 0 if the item doesn't have the given enchantment.

Return Type: int

ZenScript
Copy
MCItemStackMutable.getEnchantmentLevel(enchantment as MCEnchantment) as int
ПараметрТипОписание
Параметр
enchantment
Тип
MCEnchantment
Описание
No Description Provided

Name: getEnchantments

Return Type: int?[MCEnchantment]

ZenScript
Copy
// MCItemStackMutable.getEnchantments() as int?[MCEnchantment]

<item:minecraft:dirt>.mutable().getEnchantments();

Name: getMaxStackSize

Returns the max stack size of the Item in the ItemStack

Returns: Max stack size of the Item.
Return Type: int

ZenScript
Copy
// MCItemStackMutable.getMaxStackSize() as int

<item:minecraft:dirt>.mutable().getMaxStackSize();

Name: getRarity

Returns the rarity of the Item in the ItemStack

Returns: Rarity of the Item.
Return Type: Rarity

ZenScript
Copy
// MCItemStackMutable.getRarity() as Rarity

<item:minecraft:dirt>.mutable().getRarity();

Link to getRemainingItem

Name: getRemainingItem

When this ingredient stack is crafted, what will remain in the grid? Does not check if the stack matches though! Used e.g. in Crafting Table recipes.

Return Type: IItemStack

ZenScript
Copy
// MCItemStackMutable.getRemainingItem(stack as IItemStack) as IItemStack

<item:minecraft:dirt>.mutable().getRemainingItem(<item:minecraft:iron_ingot>);
ПараметрТипОписание
Параметр
stack
Тип
IItemStack
Описание
The stack to provide for this ingredient.

Name: isFood

Return Type: boolean

ZenScript
Copy
// MCItemStackMutable.isFood() as boolean

<item:minecraft:dirt>.mutable().isFood();

Name: isImmuneToFire

Checks if this IItemStack burns when thrown into fire / lava or damaged by fire.

Returns: True if this IItemStack is immune to fire. False otherwise.
Return Type: boolean

ZenScript
Copy
// MCItemStackMutable.isImmuneToFire() as boolean

<item:minecraft:dirt>.mutable().isImmuneToFire();

Name: matches

Does the given stack match the ingredient?

Return Type: boolean

ZenScript
Copy
// MCItemStackMutable.matches(stack as IItemStack) as boolean

<item:minecraft:dirt>.mutable().matches(<item:minecraft:iron_ingot>);
ПараметрТипОписание
Параметр
stack
Тип
IItemStack
Описание
The stack to check

Link to modifyShiftTooltip

Name: modifyShiftTooltip

Return Type: void

ZenScript
Copy
MCItemStackMutable.modifyShiftTooltip(shiftedFunction as ITooltipFunction, unshiftedFunction as ITooltipFunction) as void
ПараметрТипОписаниеOptionalDefaultValue
Параметр
shiftedFunction
Тип
ITooltipFunction
Описание
No Description Provided
Optional
false
DefaultValue
Параметр
unshiftedFunction
Тип
ITooltipFunction
Описание
No Description Provided
Optional
true
DefaultValue

Name: modifyTooltip

Return Type: void

ZenScript
Copy
MCItemStackMutable.modifyTooltip(function as ITooltipFunction) as void
ПараметрТипОписание
Параметр
function
Тип
ITooltipFunction
Описание
No Description Provided

Name: only

Use this if you already have the condition from another ingredient

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
MCItemStackMutable.only(condition as IIngredientCondition<IIngredient>) as MCIngredientConditioned<IIngredient>
ПараметрТипОписание
Параметр
condition
Тип
IIngredientCondition<IIngredient>
Описание
No Description Provided

Name: onlyDamaged

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
// MCItemStackMutable.onlyDamaged() as MCIngredientConditioned<IIngredient>

<item:minecraft:dirt>.mutable().onlyDamaged();

Link to onlyDamagedAtLeast

Name: onlyDamagedAtLeast

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
MCItemStackMutable.onlyDamagedAtLeast(minDamage as int) as MCIngredientConditioned<IIngredient>
ПараметрТипОписание
Параметр
minDamage
Тип
int
Описание
No Description Provided

Link to onlyDamagedAtMost

Name: onlyDamagedAtMost

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
MCItemStackMutable.onlyDamagedAtMost(maxDamage as int) as MCIngredientConditioned<IIngredient>
ПараметрТипОписание
Параметр
maxDamage
Тип
int
Описание
No Description Provided

Name: onlyIf

Return Type: MCIngredientConditioned<IIngredient>

ZenScript
Copy
MCItemStackMutable.onlyIf(uid as string, function as Predicate<IItemStack>) as MCIngredientConditioned<IIngredient>
ПараметрТипОписаниеOptionalDefaultValue
Параметр
uid
Тип
string
Описание
No Description Provided
Optional
false
DefaultValue
Параметр
function
Тип
Predicate<IItemStack>
Описание
No Description Provided
Optional
true
DefaultValue

Link to removeGlobalAttribute

Name: removeGlobalAttribute

Removes all AttributeModifiers that use the given Attribute from this IIngredient.

Attributes removed with this method are removed from ItemStacks that match this IIngredient, regardless of how or when the ItemStack was made, if you want to remove the attribute on a single specific ItemStack (such as a specific Diamond Sword made in a recipe), then you should use IItemStack#withoutAttribute.

This method can only remove default Attributes from an ItemStack, it is still possible that an ItemStack can override it.

Return Type: void

ZenScript
Copy
// MCItemStackMutable.removeGlobalAttribute(attribute as Attribute, slotTypes as MCEquipmentSlotType[]) as void

<item:minecraft:dirt>.mutable().removeGlobalAttribute(<attribute:minecraft:generic.attack_damage>, [<equipmentslottype:chest>]);
ПараметрТипОписание
Параметр
attribute
Тип
Attribute
Описание
The attribute to remove.
Параметр
slotTypes
Тип
MCEquipmentSlotType[]
Описание
The slot types to remove it from.

Link to removeGlobalAttributeModifier

Name: removeGlobalAttributeModifier

Removes all AttributeModifiers who's ID is the same as the given uuid from this IIngredient.

Return Type: void

ZenScript
Copy
// MCItemStackMutable.removeGlobalAttributeModifier(uuid as string, slotTypes as MCEquipmentSlotType[]) as void

<item:minecraft:dirt>.mutable().removeGlobalAttributeModifier("8c1b5535-9f79-448b-87ae-52d81480aaa3", [<equipmentslottype:chest>]);
ПараметрТипОписание
Параметр
uuid
Тип
string
Описание
The unique id of the AttributeModifier to remove.
Параметр
slotTypes
Тип
MCEquipmentSlotType[]
Описание
The slot types to remove it from.

Name: removeTooltip

Return Type: void

ZenScript
Copy
MCItemStackMutable.removeTooltip(regex as string) as void
ПараметрТипОписание
Параметр
regex
Тип
string
Описание
No Description Provided

Name: setImmuneToFire

Sets if this IItemStack is immune to fire / lava.

If true, the item will not burn when thrown into fire or lava.

Return Type: void

ZenScript
Copy
// MCItemStackMutable.setImmuneToFire(immuneToFire as boolean) as void

<item:minecraft:dirt>.mutable().setImmuneToFire(true);
ПараметрТипОписание
Параметр
immuneToFire
Тип
boolean
Описание
Should the item be immune to fire.

Name: setMaxStackSize

Sets the max stacksize of the Item.

Return Type: void

ZenScript
Copy
// MCItemStackMutable.setMaxStackSize(newMaxStackSize as int) as void

<item:minecraft:dirt>.mutable().setMaxStackSize(16);
ПараметрТипОписание
Параметр
newMaxStackSize
Тип
int
Описание
The new max stack size of the Item.

Name: setRarity

Sets the rarity of the Item.

Return Type: void

ZenScript
Copy
// MCItemStackMutable.setRarity(newRarity as Rarity) as void

<item:minecraft:dirt>.mutable().setRarity(Rarity.UNCOMMON);
ПараметрТипОписание
Параметр
newRarity
Тип
Rarity
Описание
The new rarity of the Item.

Name: weight

Return Type: MCWeightedItemStack

ZenScript
Copy
MCItemStackMutable.weight(weight as double) as MCWeightedItemStack
ПараметрТипОписание
Параметр
weight
Тип
double
Описание
No Description Provided

Операторы

Link to операторы

Name: CONTAINS

Does the ingredient contain the given ingredient?

ZenScript
Copy
ingredient as IIngredient in myMCItemStackMutable
(<item:minecraft:iron_ingot> | <item:minecraft:gold_ingot>) in <item:minecraft:dirt>.mutable()

Name: EQUALS

ZenScript
Copy
myMCItemStackMutable == o as Object

Name: MOD

ZenScript
Copy
myMCItemStackMutable % percentage as int

Name: OR

ZenScript
Copy
myMCItemStackMutable | other as IIngredient

Свойства

Link to свойства

НазваниеТипИмеет GetterИмеет SetterОписание
Название
amount
Тип
int
Имеет Getter
true
Имеет Setter
false
Описание
Gets the amount of Items in the ItemStack
Название
burnTime
Тип
int
Имеет Getter
true
Имеет Setter
true
Описание
No Description Provided
Название
damageable
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns if the ItemStack is damageable
I.E Swords and tools are damageable, sticks are not.
Название
damaged
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns if the ItemStack is damaged
I.E a Swords that is no at full durability is damaged.
Название
definition
Тип
MCItemDefinition
Имеет Getter
true
Имеет Setter
false
Описание
No Description Provided
Название
displayName
Тип
string
Имеет Getter
true
Имеет Setter
false
Описание
Gets the display name of the ItemStack
Название
empty
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns if the ItemStack is empty
Название
enchantments
Тип
int?[MCEnchantment]
Имеет Getter
true
Имеет Setter
false
Описание
No Description Provided
Название
food
Тип
MCFood?
Имеет Getter
true
Имеет Setter
true
Описание
No Description Provided
Название
getOrCreate
Тип
IData
Имеет Getter
true
Имеет Setter
false
Описание
Returns the NBT tag attached to this ItemStack or makes a new tag.
Название
getRepairCost
Тип
int
Имеет Getter
true
Имеет Setter
false
Описание
Gets the repair cost of the ItemStack, or 0 if no repair is defined.
Название
hasDisplayName
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns true if the ItemStack has a display name.
Название
hasEffect
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns true if this ItemStack has an effect.
Название
hasTag
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns true if this ItemStack has a Tag
Название
immuneToFire
Тип
void
Имеет Getter
true
Имеет Setter
true
Описание
Sets if this IItemStack is immune to fire / lava.

If true, the item will not burn when thrown into fire or lava.
Название
isCrossbow
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns true if this stack is considered a crossbow item
Название
isEnchantable
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Can this ItemStack be enchanted?
Название
isEnchanted
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Is this ItemStack enchanted?
Название
maxDamage
Тип
int
Имеет Getter
true
Имеет Setter
true
Описание
Returns the max damage of the ItemStack
This is the max durability of the ItemStack.
Название
maxStackSize
Тип
int
Имеет Getter
true
Имеет Setter
true
Описание
Returns the max stack size of the Item in the ItemStack
Название
owner
Тип
string
Имеет Getter
true
Имеет Setter
false
Описание
Gets owning mod for the Item in this IItemStack
Название
rarity
Тип
Rarity
Имеет Getter
true
Имеет Setter
true
Описание
Returns the rarity of the Item in the ItemStack
Название
registryName
Тип
Расположение MCResource-ресурсов
Имеет Getter
true
Имеет Setter
false
Описание
Gets the registry name for the Item in this IItemStack
Название
stackable
Тип
boolean
Имеет Getter
true
Имеет Setter
false
Описание
Returns if the ItemStack can have an amount greater than 1
I.E Swords and tools are not stackable, sticks are.
Название
tag
Тип
IData
Имеет Getter
true
Имеет Setter
false
Описание
Returns the NBT tag attached to this ItemStack.
Название
toolTypes
Тип
ToolType[]
Имеет Getter
true
Имеет Setter
false
Описание
No Description Provided
Название
translationKey
Тип
string
Имеет Getter
true
Имеет Setter
false
Описание
Returns the unlocalized Name of the Item in the ItemStack
Название
useDuration
Тип
int
Имеет Getter
true
Имеет Setter
false
Описание
Gets the use duration of the ItemStack