yoni-mcscripts-lib
Version:
为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。
202 lines (201 loc) • 8.24 kB
TypeScript
import { Minecraft } from "../basis.js";
/**
* 允许开发者调用一连串方法来调整出需要的物品对象。
*/
export declare class ItemCreator {
#private;
/**
* 正在修改中的物品对象。所有修改都会直接应用到此物品对象当中。
* @types {Minecraft.ItemStack}
*/
get itemStack(): Minecraft.ItemStack;
set itemStack(itemStack: Minecraft.ItemStack);
/**
* 传入一个物品对象,然后复制它,随后可以修改它的副本。
* @param {Minecraft.ItemStack} itemStack
*/
constructor(itemStack: Minecraft.ItemStack);
/**
* 创建一个新的物品对象,随后可以修改它。
* @param {Minecraft.ItemStack} itemStack
*/
constructor(itemType: Minecraft.ItemType | string, amount?: number);
/**
* 转换物品的类型,这可能会导致错误。
* @param {Minecraft.ItemType|string} type 新的物品类型。
* @param {boolean} [ignoreError] 指示忽略过程中的所有错误。
* @returns {this} 返回 this
*/
setType(type: Minecraft.ItemType | string, ignoreError?: boolean): this;
/**
* 增减物品数量。
* @param {number} amount 一个数字,将会在现有数量上加上它。
* @returns {this} 返回 this
*/
changeAmount(amount: number): this;
/**
* 修改物品数量,将数量减为0将导致物品消失。
* @param {number} amount 一个数字,代表新的数量。
* @returns {this} 返回 this
*/
setAmount(amount: number): this;
/**
* 删除物品的 lore 文本。
* @returns {this} 返回 this
*/
removeLore(): this;
/**
* 修改物品的 lore 文本。
* @param {string[]} loreList lore 文本列表。
* @returns {this} 返回 this
*/
setLore(loreList: string[]): this;
/**
* 修改物品的 lore 文本。
* @param {string} loreList lore 文本。
* @returns {this} 返回 this
*/
setLore(loreList: string): this;
/**
* 设置物品存在于物品栏中时,使用的锁定模式。
* @param {Minecraft.ItemLockMode} mode 模式。
* @returns {this} 返回 this
*/
setLockMode(mode: Minecraft.ItemLockMode): this;
/**
* 设置物品存在于玩家的物品栏中时,是否会在玩家死亡时掉落。
* @param {boolean} keepOnDeath 是否启用。
* @returns {this} 返回 this
*/
setKeepOnDeath(keepOnDeath: boolean): this;
/**
* 设置物品的名称。
* @param {string} [nameTag] 物品的名称,为空时清除。
* @returns {this} 返回 this
*/
setNameTag(nameTag?: string): this;
/**
* 清除物品设置的名称。
* @returns {this} 返回 this
*/
removeNameTag(): this;
/**
* 对物品造成耐久消耗,这会受到耐久附魔的影响。如果需要直接修改耐久,请使用{@link ItemCreator#setDurability}。
* @param {number} damage 要造成耐久消耗的次数。
* @param {number} [unbreaking] 可选,额外指定耐久附魔的等级。
* @returns {this} 返回 this
*/
takeDamage(damage: number, unbreaking?: number): this;
/**
* 增减物品的耐久消耗度。
* @param {number} damage 一个数字,将会在现有耐久消耗度上加上它。
* @returns {this} 返回 this
*/
changeDurability(damage: number): this;
/**
* 修改物品耐久消耗度。
* @param {number} amount 一个数字,代表新的耐久消耗度。
* @returns {this} 返回 this
*/
setDurability(damage: number): this;
/**
* 为物品增添新的附魔。
* @param newEnchantment 新添加的附魔。
* @param override 如果为真,则替换现有附魔(如果附魔存在);否则,为现有附魔条目提升附魔等级。默认为替换附魔。
* @returns 返回 this
*/
addEnchant(newEnchantment: Enchantment, override?: boolean): this;
/**
* 为物品增添新的附魔。
* @param newEnchantment 新添加的附魔类型。
* @param level 新添加的附魔的等级,默认为 1 级。
* @param override 如果为真,则替换现有附魔(如果附魔存在);否则,为现有附魔条目提升附魔等级。默认为替换附魔。
* @returns 返回 this
*/
addEnchant(newEnchantment: string | Minecraft.EnchantmentType, level: number, override?: boolean): this;
/**
* 为物品增添一系列新的附魔。
* @param {Enchantment[]} newEnchantments 新添加的附魔。
* @param {boolean} [override] 如果为真,则替换现有附魔(如果附魔存在);否则,为现有附魔条目提升附魔等级。默认为替换附魔。
* @returns {this} 返回 this
*/
addEnchants(newEnchantments: Enchantment[], override?: boolean): this;
/**
* 从物品上移除附魔。
* @param enchantment 要移除的附魔类型,将物品上拥有的附魔的等级与指定附魔条目的等级相减。
* @param completelyMatches 如果为真,则只有在附魔完全相同时才会移除。默认为真。
* @returns 返回 this
*/
removeEnchant(enchantment: Enchantment, completelyMatches?: boolean): this;
/**
* 从物品上移除附魔。
* @param enchantmentType 要移除的附魔类型。
* @param level 要移除的附魔的等级,不设置 或 设置为 0 则以已有的附魔等级为此参数的值。
* @param completelyMatches 如果为真,则只有在附魔完全相同时才会移除。默认为真。
* @returns 返回 this
*/
removeEnchant(enchantmentType: string | Minecraft.EnchantmentType, level?: number, completelyMatches?: boolean): this;
/**
* 从物品上移除所有附魔。
* @returns {this} 返回 this
*/
removeAllEnchants(): this;
/**
* 复制物品对象。
* @returns {this} 返回 this
*/
cloneItem(): this;
/**
* 创建此 ItemCreator 以及其内部的物品对象的副本。
* @returns {ItemCreator} 返回新的 ItemCreator。
*/
clone(): ItemCreator;
/**
* 复制附魔列表。
* @param {Minecraft.EnchantmentList} list 要复制的附魔列表。
* @returns {Minecraft.EnchantmentList}
*/
static cloneEnchantmentList(list: Minecraft.EnchantmentList): Minecraft.EnchantmentList;
/**
* 获取附魔类型对象。
* @param {Minecraft.EnchantmentType|string} ench
* @returns {Minecraft.EnchantmentType}
*/
static getEnchantmentType(ench: string | Minecraft.EnchantmentType): Minecraft.EnchantmentType;
/**
* 获取附魔对象。
* @param {Minecraft.EnchantmentType|string} enchantmentType 附魔类型。
* @param {Minecraft.EnchantmentType|string} level 附魔等级。
* @returns {Minecraft.Enchantment}
*/
static getEnchantment(enchantmentType: string | Minecraft.EnchantmentType, level?: number): Minecraft.Enchantment;
/**
* 获取物品的附魔列表。
* @param {Minecraft.ItemStack} itemStack 物品。
* @returns {Minecraft.EnchantmentList}
*/
static getEnchantmentList(itemStack: Minecraft.ItemStack): Minecraft.EnchantmentList;
/**
* 设置物品的附魔列表。
* @param {Minecraft.ItemStack} itemStack 物品。
* @param {Minecraft.EnchantmentList} list 要使用的附魔列表。
* @returns {Minecraft.ItemStack}
*/
static setEnchantmentList(itemStack: Minecraft.ItemStack, list: Minecraft.EnchantmentList): Minecraft.ItemStack;
/**
* 对物品造成耐久消耗,这会受到耐久附魔的影响。
* @param {Minecraft.ItemStack} itemStack 物品。
* @param {number} damage 要造成耐久消耗的次数。
* @param {number} [unbreaking] 可选,额外指定耐久附魔的等级。
* @returns {this} 返回 this
*/
static takeDurability(itemStack: Minecraft.ItemStack, damage: number, unbreaking?: number): Minecraft.ItemStack;
}
/**
" 代表附魔。
*/
interface Enchantment {
type: Minecraft.EnchantmentType | string;
level: number;
}
export {};