#インベントリ内でアイテム合成

1 messages · Page 1 of 1 (latest)

tough trail
#
  onInventoryChange(ev: PlayerInventoryItemChangeAfterEvent) {
    const oldItem = ev.beforeItemStack;
    const newItem = ev.itemStack;
    const player = ev.player;
    const cursor = player.getComponent(EntityComponentTypes.CursorInventory);
    const slot = player.getComponent(EntityComponentTypes.Inventory)?.container.getSlot(ev.slot);
    if (!cursor || !slot) return;
    if (newItem?.amount !== 2) return;
    if (oldItem?.amount === 1 && oldItem.typeId === "minecraft:stick") {
      cursor.clear();
      const item = new ItemStack("minecraft:iron_sword");
      player.playSound("smithing_table.use", {location: player.location, pitch: 1.2});
      slot.setItem(item);
    }
#

(cursorを使っているのでスマホ勢はできないみたいです)