教程:编写脚本API/ItemStack类基础

来自Minecraft基岩版开发Wiki
ItemStack类基础
系列教程
所属系列
难度
初级
实践设备
WindowsAndroid
所需软件

引言[编辑]

ItemStack 类是 server 模块的一部分,拥有强大的功能,我们将帮助您了解和使用此类。

在此之前我们需要先了解 ItemStack 是什么。

ItemStack是物品数据的保存方式,各种不同的物品堆叠组件共同影响了一个物品的具体行为。

我们现在暂时把它粗略的理解为一个物品。

在正式开始前,我们可以用下面的方法来创建一个物品:

new ItemStack(itemType: ItemType | string, amount?: number)

import { ItemStack, DimensionLocation } from "@minecraft/server";
import { MinecraftItemTypes } from "@minecraft/vanilla-data";

function itemStacks(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
  const oneItemLoc = { x: targetLocation.x + targetLocation.y + 3, y: 2, z: targetLocation.z + 1 };
  const fiveItemsLoc = { x: targetLocation.x + 1, y: targetLocation.y + 2, z: targetLocation.z + 1 };
  const diamondPickaxeLoc = { x: targetLocation.x + 2, y: targetLocation.y + 2, z: targetLocation.z + 4 };

  const oneEmerald = new ItemStack(MinecraftItemTypes.Emerald, 1);
  const onePickaxe = new ItemStack(MinecraftItemTypes.DiamondPickaxe, 1);
  const fiveEmeralds = new ItemStack(MinecraftItemTypes.Emerald, 5);

  log(`Spawning an emerald at (${oneItemLoc.x}, ${oneItemLoc.y}, ${oneItemLoc.z})`);
  targetLocation.dimension.spawnItem(oneEmerald, oneItemLoc);

  log(`Spawning five emeralds at (${fiveItemsLoc.x}, ${fiveItemsLoc.y}, ${fiveItemsLoc.z})`);
  targetLocation.dimension.spawnItem(fiveEmeralds, fiveItemsLoc);

  log(`Spawning a diamond pickaxe at (${diamondPickaxeLoc.x}, ${diamondPickaxeLoc.y}, ${diamondPickaxeLoc.z})`);
  targetLocation.dimension.spawnItem(onePickaxe, diamondPickaxeLoc);
}

这些内容取自官方文档,使用TypeScript语言编写。

构建和组件[编辑]

管理容器[编辑]

引用[编辑]

  1. 我的世界wiki:物品堆叠组件
  2. 官方文档:itemStack类