org.bukkit.inventory.ItemStack.setType()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(6.3k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.bukkit.inventory.ItemStack.setType()方法的一些代码示例,展示了ItemStack.setType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.setType()方法的具体详情如下:
包路径:org.bukkit.inventory.ItemStack
类名称:ItemStack
方法名:setType

ItemStack.setType介绍

[英]Sets the type of this item

Note that in doing so you will reset the MaterialData for this stack
[中]设置此项目的类型
请注意,这样做会重置此堆栈的MaterialData

代码示例

代码示例来源:origin: GlowstoneMC/Glowstone

@Override
  public boolean eat(GlowPlayer player, ItemStack item) {
    if (!handleEat(player, item)) {
      return false;
    }

    item.setType(Material.BOWL);
    return true;
  }
}

代码示例来源:origin: GlowstoneMC/Glowstone

private void fillCauldron(GlowPlayer player, GlowBlock block) {
  // fired when a player fills the cauldron using a water bucket
  if (block.getData() < LEVEL_FULL) {
    if (!setCauldronLevel(block, LEVEL_FULL, player,
        CauldronLevelChangeEvent.ChangeReason.BUCKET_EMPTY)) {
      return;
    }
    if (player.getGameMode() != GameMode.CREATIVE) {
      player.getItemInHand().setType(Material.BUCKET);
    }
  }
}

代码示例来源:origin: GlowstoneMC/Glowstone

/**
 * Convert an ItemStack which may have a type that is unrepresentable as an item to one that
 * does, or to an empty stack if this is not possible.
 *
 * @param stack The stack to sanitize.
 * @return The sanitized stack, or null.
 */
public static ItemStack sanitize(ItemStack stack) {
  if (InventoryUtil.isEmpty(stack) || stack.getType() == null) {
    return InventoryUtil.createEmptyStack();
  }
  Material item = getItem(getName(stack.getType()));
  if (item == null) {
    return null;
  }
  if (item != stack.getType()) {
    stack = stack.clone();
    stack.setType(item);
  }
  return stack;
}

代码示例来源:origin: GlowstoneMC/Glowstone

@Override
protected ItemStack dispenseStack(GlowBlock block, ItemStack stack) {
  ItemFilledBucket bucket = (ItemFilledBucket) ItemTable.instance().getItem(stack.getType());
  BlockLiquid liquid = (BlockLiquid) bucket.getLiquid();
  BlockFace facing = BlockDispenser.getFacing(block);
  GlowBlock target = block.getRelative(facing);
  if (canPlace(target, facing, stack)) {
    target.setType(liquid.getMaterial());
    stack.setType(Material.BUCKET);
    stack.setAmount(1);
    return stack;
  } else {
    return INSTANCE.dispense(block, stack);
  }
}

代码示例来源:origin: GlowstoneMC/Glowstone

@Override
  public boolean eat(GlowPlayer player, ItemStack item) {
    PlayerItemConsumeEvent event1 = new PlayerItemConsumeEvent(player, item);
    EventFactory.getInstance().callEvent(event1);
    if (event1.isCancelled()) {
      return false;
    }

    player.setUsageItem(null);
    player.setUsageTime(0);

    for (PotionEffect potionEffect : player.getActivePotionEffects()) {
      player.removePotionEffect(potionEffect.getType());
    }

    player.getInventory().getItemInHand().setType(Material.BUCKET);

    return true;
  }
}

代码示例来源:origin: GlowstoneMC/Glowstone

item.setType(Material.ENCHANTED_BOOK);

代码示例来源:origin: GlowstoneMC/Glowstone

@Override
protected ItemStack dispenseStack(GlowBlock block, ItemStack stack) {
  GlowDispenser dispenser = (GlowDispenser) block.getState();
  GlowBlock target = block.getRelative(BlockDispenser.getFacing(block));
  BlockLiquid liquid = collectableLiquidAtBlock(target);
  if (liquid == null) {
    return super.dispenseStack(block, stack);
  }
  Material bucket = liquid.getBucketType();
  target.setType(Material.AIR);
  stack.setAmount(stack.getAmount() - 1);
  if (stack.getAmount() == 0) {
    stack.setAmount(1);
    stack.setType(bucket);
  } else {
    ItemStack toPlace = new ItemStack(bucket);
    ItemStack remaining = dispenser.placeInDispenser(toPlace);
    if (remaining != null) {
      INSTANCE.dispense(block, remaining);
    }
  }
  return stack;
}

代码示例来源:origin: GlowstoneMC/Glowstone

holding.setType(replaceWith);
} else {
  holding.setAmount(holding.getAmount() - 1);

代码示例来源:origin: GlowstoneMC/Glowstone

handBook.setTitle(book.getTitle());
handBook.setPages(book.getPages());
inHand.setType(Material.WRITTEN_BOOK);
inHand.setItemMeta(handBook);
session.getPlayer().setItemInHand(inHand);

代码示例来源:origin: GlowstoneMC/Glowstone

holding.setType(Material.BUCKET);

代码示例来源:origin: Bkm016/TabooLib

public ItemBuilder material(Material material) {
  itemStack.setType(material);
  return this;
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public void setType(MCMaterial type) {
  if(is == null) {
    return;
  }
  is.setType((Material) type.getHandle());
}

代码示例来源:origin: dzikoysk/WildSkript

public void patcher() {
  for (Integer i = 0; i < 9; i++) {
    if (this.ingredients[i] != null) {
      Material m = this.ingredients[i].getType();
      if (m == Material.REDSTONE_TORCH_OFF) {
        this.ingredients[i].setType(Material.REDSTONE_TORCH_ON);
      }
    }
  }
}

代码示例来源:origin: lucko/helper

public ItemStackBuilder type(Material material) {
  return transform(itemStack -> itemStack.setType(material));
}

代码示例来源:origin: artex-development/Lukkit

@Override
  public LuaValue call(LuaValue value) {
    item.setType((Material) value.checkuserdata(Material.class));
    return NIL;
  }
});

代码示例来源:origin: NyaaCat/RPGItems-reloaded

private <TEvent extends Event, TPower extends Power, TResult, TReturn> void triggerPostFire(Player player, ItemStack itemStack, TEvent event, Trigger<TEvent, TPower, TResult, TReturn> trigger, Map<Power, PowerResult> resultMap, TReturn ret) {
  RPGItemsPowersPostFireEvent<TEvent, TPower, TResult, TReturn> postFire = new RPGItemsPowersPostFireEvent<>(player, itemStack, event, this, trigger, resultMap, ret);
  Bukkit.getServer().getPluginManager().callEvent(postFire);
  Context.instance().cleanTemp(player.getUniqueId());
  if (getItemStackDurability(itemStack).map(d -> d <= 0).orElse(false)) {
    itemStack.setAmount(0);
    itemStack.setType(Material.AIR);
  }
}

代码示例来源:origin: NyaaCat/RPGItems-reloaded

@Override
public PowerResult<Double> hit(final Player player, ItemStack stack, LivingEntity entity, double damage, EntityDamageByEntityEvent event) {
  if (!checkCooldown(this, player, cooldown, false, true)) return PowerResult.cd();
  int count = stack.getAmount() - 1;
  if (count == 0) {
    stack.setAmount(0);
    stack.setType(Material.AIR);
  } else {
    stack.setAmount(count);
  }
  return PowerResult.ok(damage);
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
  public void setItem(MCItemStack i) {
    ItemStack item = pie.getItem();
    ItemStack is = ((BukkitMCItemStack) i).asItemStack();
    item.setAmount(is.getAmount());
    item.setType(is.getType());
    item.setItemMeta(is.getItemMeta());
  }
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public void setItem(MCItemStack i) {
  ItemStack item = ei.getItem();
  ItemStack is = ((BukkitMCItemStack) i).asItemStack();
  item.setAmount(is.getAmount());
  item.setType(is.getType());
  item.setItemMeta(is.getItemMeta());
}

代码示例来源:origin: NyaaCat/RPGItems-reloaded

public PowerResult<Void> fire(final Player player, ItemStack s) {
  if (!checkCooldown(this, player, cooldown, false, true)) return PowerResult.cd();
  if (!getItem().consumeDurability(s, cost)) return PowerResult.cost();
  int count = s.getAmount() - 1;
  if (count == 0) {
    s.setAmount(0);
    s.setType(Material.AIR);
  } else {
    s.setAmount(count);
  }
  return PowerResult.ok();
}

相关文章