net.minecraft.item.ItemStack.serializeNBT()方法的使用及代码示例

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

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

ItemStack.serializeNBT介绍

暂无

代码示例

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

@Override
public void writeToPacket( final ByteBuf i )
{
  final byte mask = (byte) ( ( this.getType( this.getStackSize() ) << 2 ) | ( this
      .getType( this.getCountRequestable() ) << 4 ) | ( (byte) ( this.isCraftable() ? 1 : 0 ) << 6 ) | ( this.hasTagCompound() ? 1 : 0 ) << 7 );
  i.writeByte( mask );
  ByteBufUtils.writeTag( i, this.getDefinition().serializeNBT() );
  this.putPacketValue( i, this.getStackSize() );
  this.putPacketValue( i, this.getCountRequestable() );
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

@Nonnull
@Override
public ItemStack[] getMatchingStacks() {
  if (array == null) {
    List<ItemStack> matchingStacks = Arrays.stream(super.getMatchingStacks()).map(s -> new ItemStack(s.serializeNBT())).collect(Collectors.toList());
    matchingStacks.forEach(s -> s.setCount(count));
    array = matchingStacks.toArray(new ItemStack[matchingStacks.size()]);
  }
  return array;
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

@Override
public ItemStack[] getMatchingStacks() {
  if (array == null) {
    List<ItemStack> matchingStacks = Arrays.stream(super.getMatchingStacks()).map(s -> new ItemStack(s.serializeNBT())).collect(Collectors.toList());
    matchingStacks.forEach(s -> s.setCount(count));
    array = matchingStacks.toArray(new ItemStack[matchingStacks.size()]);
  }
  return array;
}

代码示例来源:origin: FTBTeam/FTB-Utilities

@Override
  public NBTTagCompound editNBT(EntityPlayerMP player, NBTTagCompound info, String[] args)
  {
    info.setString("type", "item");
    return player.getHeldItem(EnumHand.MAIN_HAND).serializeNBT();
  }
}

代码示例来源:origin: ForestryMC/Binnie

@Override
public void syncToNBT(NBTTagCompound nbt) {
  ItemStack stack = getStack();
  nbt.setTag("Item", stack.serializeNBT());
}

代码示例来源:origin: mezz/JustEnoughItems

@Override
public void writePacketData(PacketBuffer buf) {
  NBTTagCompound nbt = itemStack.serializeNBT();
  buf.writeCompoundTag(nbt);
  buf.writeVarInt(hotbarSlot);
}

代码示例来源:origin: mezz/JustEnoughItems

@Override
public void writePacketData(PacketBuffer buf) {
  NBTTagCompound nbt = itemStack.serializeNBT();
  buf.writeCompoundTag(nbt);
  buf.writeEnumValue(giveMode);
}

代码示例来源:origin: Nividica/ThaumicEnergistics

@Override
public NBTTagList serializeNBT() {
  NBTTagList nbt = new NBTTagList();
  this.slots.forEach(slot -> nbt.appendTag(slot.serializeNBT()));
  return nbt;
}

代码示例来源:origin: SquidDev-CC/plethora

@Override
public void setCosmeticItem(@Nonnull ItemStack stack, @Nonnull ItemStack cosmetic) {
  NBTTagCompound tag = stack.getTagCompound();
  if (tag == null) stack.setTagCompound(tag = new NBTTagCompound());
  if (cosmetic.isEmpty()) {
    tag.removeTag("cosmetic");
  } else {
    tag.setTag("cosmetic", cosmetic.serializeNBT());
  }
}

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public void writeToNBT(@Nonnull NBTTagCompound nbtRoot) {
 nbtRoot.setBoolean("isBlacklist", isBlacklist);
 nbtRoot.setBoolean("sticky", sticky);
 nbtRoot.setByte("speciesMode", (byte) speciesMode.ordinal());
 int i = 0;
 for (ItemStack item : items) {
  if (item != null) {
   nbtRoot.setTag("item" + i, item.serializeNBT());
  }
  i++;
 }
}

代码示例来源:origin: raoulvdberge/refinedstorage

public static void setOutputSlot(ItemStack pattern, int slot, ItemStack stack) {
  if (!pattern.hasTagCompound()) {
    pattern.setTagCompound(new NBTTagCompound());
  }
  pattern.getTagCompound().setTag(String.format(NBT_OUTPUT_SLOT, slot), stack.serializeNBT());
}

代码示例来源:origin: raoulvdberge/refinedstorage

public NBTTagList writeToNbt() {
  NBTTagList list = new NBTTagList();
  for (Map.Entry<EnumFacing, Cover> entry : covers.entrySet()) {
    NBTTagCompound tag = new NBTTagCompound();
    tag.setInteger(NBT_DIRECTION, entry.getKey().ordinal());
    tag.setTag(NBT_ITEM, entry.getValue().getStack().serializeNBT());
    tag.setInteger(NBT_TYPE, entry.getValue().getType().ordinal());
    list.appendTag(tag);
  }
  return list;
}

代码示例来源:origin: ldtteam/minecolonies

public static NBTTagCompound serialize(final IFactoryController controller, final SmeltableOre food)
{
  final NBTTagCompound compound = new NBTTagCompound();
  compound.setInteger(NBT_COUNT, food.count);
  if (!ItemStackUtils.isEmpty(food.result))
  {
    compound.setTag(NBT_RESULT, food.result.serializeNBT());
  }
  return compound;
}

代码示例来源:origin: Esteemed-Innovation/Esteemed-Innovation

@Override
public NBTTagCompound writeToNBT(NBTTagCompound access) {
  super.writeToNBT(access);
  access.setInteger(MODE_KEY, mode.ordinal());
  if (inventory != null) {
    access.setTag(INV_KEY, inventory.serializeNBT());
  }
  return access;
}

代码示例来源:origin: raoulvdberge/refinedstorage

public static void setItem(ItemStack cover, ItemStack item) {
  if (!cover.hasTagCompound()) {
    cover.setTagCompound(new NBTTagCompound());
  }
  cover.getTagCompound().setTag(NBT_ITEM, item.serializeNBT());
}

代码示例来源:origin: raoulvdberge/refinedstorage

public static void setIcon(ItemStack stack, ItemStack icon) {
  if (!stack.hasTagCompound()) {
    stack.setTagCompound(new NBTTagCompound());
  }
  stack.getTagCompound().setTag(NBT_ICON, icon.serializeNBT());
}

代码示例来源:origin: SquidDev-CC/plethora

@Override
public void setStackInSlot(int slot, @Nonnull ItemStack stack) {
  validateSlotIndex(slot);
  NBTTagCompound tag = ItemBase.getTag(this.stack);
  NBTTagCompound items = getItems(tag);
  if (stack.isEmpty()) {
    items.removeTag("item" + slot);
  } else {
    items.setTag("item" + slot, stack.serializeNBT());
  }
  tag.setShort(DIRTY, (short) (tag.getShort(DIRTY) | 1 << slot));
}

代码示例来源:origin: ForestryMC/ForestryMC

@Override
public NBTTagCompound writeToNBT(NBTTagCompound nbttagcompound) {
  nbttagcompound = super.writeToNBT(nbttagcompound);
  if (!fuel.isEmpty()) {
    nbttagcompound.setTag("EngineFuelItemStack", fuel.serializeNBT());
  }
  nbttagcompound.setInteger("EngineBurnTime", burnTime);
  nbttagcompound.setInteger("EngineTotalTime", totalBurnTime);
  nbttagcompound.setInteger("AshProduction", ashProduction);
  return nbttagcompound;
}

代码示例来源:origin: raoulvdberge/refinedstorage

static NBTTagCompound writePatternToNbt(ICraftingPattern pattern) {
  NBTTagCompound tag = new NBTTagCompound();
  tag.setTag(NBT_PATTERN_STACK, pattern.getStack().serializeNBT());
  tag.setLong(NBT_PATTERN_CONTAINER_POS, pattern.getContainer().getPosition().toLong());
  return tag;
}

代码示例来源:origin: McJtyMods/RFToolsControl

private void requestItem(ItemStack stack, int amount) {
  sendServerCommand(RFToolsCtrlMessages.INSTANCE, CraftingStationTileEntity.CMD_REQUEST,
      TypedMap.builder()
          .put(PARAM_ITEMNAME, stack.getItem().getRegistryName().toString())
          .put(PARAM_META, stack.getItemDamage())
          .put(PARAM_NBT, stack.hasTagCompound() ? stack.serializeNBT().toString() : "")
          .put(PARAM_AMOUNT, amount)
          .build());
}

相关文章

微信公众号

最新文章

更多

ItemStack类方法