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

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

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

ItemStack.getOrCreateSubCompound介绍

暂无

代码示例

代码示例来源:origin: SonarSonic/Calculator

@Override
public NBTTagCompound getModuleTag(ItemStack stack, int slot) {
  return stack.getOrCreateSubCompound(String.valueOf(slot));
}

代码示例来源:origin: Mine-and-blade-admin/Battlegear2

@Override
public void setColor(ItemStack par1ItemStack, int par2)
{
  par1ItemStack.getOrCreateSubCompound("display").setInteger("color", par2);
}

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

public EssentiaCellConfig(ItemStack stack) {
  super(63);
  this.cell = stack;
  this.deserializeNBT(this.cell.getOrCreateSubCompound("filter"));
}

代码示例来源:origin: Mine-and-blade-admin/Battlegear2

@Override
public void setColor(ItemStack par1ItemStack, int par2) {
  par1ItemStack.getOrCreateSubCompound("display").setInteger("color", par2);
}

代码示例来源:origin: SonarSonic/Calculator

@Override
public long addEnergy(ItemStack stack, long maxReceive, ActionType action) {
  long received = maxReceive;
  int slot = 0;
  for (IModule module : (ArrayList<IModule>) getModules(stack).clone()) {
    if (module instanceof IModuleEnergy) {
      received -= ((IModuleEnergy) module).receiveEnergy(stack, stack.getOrCreateSubCompound(String.valueOf(slot)), maxReceive, action);
    }
    slot++;
  }
  return maxReceive - received;
}

代码示例来源:origin: SonarSonic/Calculator

@Override
public long getFullCapacity(ItemStack stack) {
  long stored = 0;
  int slot = 0;
  for (IModule module : (ArrayList<IModule>) getModules(stack).clone()) {
    if (module instanceof IModuleEnergy) {
      stored += ((IModuleEnergy) module).getMaxEnergyStored(stack, stack.getOrCreateSubCompound(String.valueOf(slot)));
    }
    slot++;
  }
  return stored;
}

代码示例来源:origin: SonarSonic/Calculator

@Override
public long getEnergyLevel(ItemStack stack) {
  long stored = 0;
  int slot = 0;
  for (IModule module : (ArrayList<IModule>) getModules(stack).clone()) {
    if (module instanceof IModuleEnergy) {
      stored += ((IModuleEnergy) module).getEnergyStored(stack, stack.getOrCreateSubCompound(String.valueOf(slot)));
    }
    slot++;
  }
  return stored;
}

代码示例来源:origin: SonarSonic/Calculator

@Override
public long removeEnergy(ItemStack stack, long maxExtract, ActionType action) {
  long extracted = maxExtract;
  int slot = 0;
  for (IModule module : (ArrayList<IModule>) getModules(stack).clone()) {
    if (module instanceof IModuleEnergy) {
      extracted -= ((IModuleEnergy) module).extractEnergy(stack, stack.getOrCreateSubCompound(String.valueOf(slot)), maxExtract, action);
    }
    slot++;
  }
  return maxExtract - extracted;
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void getIngredients(IIngredients ingredients) {
  ingredients.setInput(ItemStack.class, input.stack);
  List<ItemStack> list = Lists.newArrayList();
  input.grind.getChancedOutputs(input.stack).forEach(pair -> {
    ItemStack stack = pair.getRight();
    stack.getOrCreateSubCompound("jei_rendering_info").setFloat("Chance", Math.round(pair.getLeft() * 10F) / 10F);
    list.add(stack);
  });
  List<List<ItemStack>> outputs = new ArrayList<>();
  outputs.add(list);
  ingredients.setOutputLists(ItemStack.class, outputs);
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void getIngredients(IIngredients ingredients) {
  ingredients.setInputs(ItemStack.class, Lists.newArrayList(input.stack, new ItemStack(ItemHandler.STORAGE_DISC)));
  List<ItemStack> list = Lists.newArrayList();
  input.item.getChancedOutputs(input.stack).forEach(pair -> {
    ItemStack stack = pair.getRight();
    stack.getOrCreateSubCompound("jei_rendering_info").setFloat("Chance", Math.round(pair.getLeft() * 10F) / 10F);
    list.add(stack);
  });
  List<List<ItemStack>> outputs = new ArrayList<>();
  outputs.add(list);
  ingredients.setOutputLists(ItemStack.class, outputs);
}

代码示例来源:origin: TeamLapen/Vampirism

/**
 * Sets the stored trained value for the given player
 *
 * @param value Clamped between 0 and 1
 */
public void setTrained(@Nonnull ItemStack stack, @Nonnull EntityLivingBase player, float value) {
  NBTTagCompound nbt = stack.getOrCreateSubCompound("trained");
  nbt.setFloat(player.getPersistentID().toString(), MathHelper.clamp(value, 0f, 1f));
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

public static ItemStack getDartItem(ItemStack dartGun) {
  NBTTagCompound nbt = dartGun.getOrCreateSubCompound("dart_gun");
  ItemStack stack = new ItemStack(nbt.getCompoundTag("itemstack"));
  stack.setCount(Math.min(stack.getCount(), MAX_CARRY_SIZE));
  return stack;
}

代码示例来源:origin: GregTechCE/GregTech

private boolean setInternalDamage(ItemStack itemStack, int damage) {
  NBTTagCompound statsTag = itemStack.getOrCreateSubCompound("GT.ToolStats");
  statsTag.setInteger("Damage", damage);
  return getInternalDamage(itemStack) < getMaxInternalDamage(itemStack);
}

代码示例来源:origin: NanamiArihara/FoodCraft-Reloaded

@Nullable
@Override
public IItemColor getItemColorMultiplier() {
  return (stack, tintIndex) -> {
    if (stack.getSubCompound("cyl") == null)
      stack.getOrCreateSubCompound("cyl");
    return tintIndex == 1 ? FoodCraftReloadedMod.getLoader(FruitEnumLoader.class).get().getInstanceMap(ItemFruitIcecream.class)
    .get(FruitType.values()[stack.getSubCompound("cyl").getInteger("value")]).getType().getColor().getRGB() : -1; };
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

public static boolean setDartItem(ItemStack dartGun, ItemStack dartItem) {
    boolean hadItem = !dartItem.isEmpty();
    ItemStack dartItem2 = dartItem.splitStack(MAX_CARRY_SIZE);
    dartGun.getOrCreateSubCompound("dart_gun").setTag("itemstack", dartItem2.serializeNBT());
    return hadItem;
  }
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void drawExtras(Minecraft minecraft) {
  this.arrow.draw(minecraft, 64, 28);
  ItemStack stack = outPutSupplier.get();
  if(stack != null && !stack.isEmpty()) {
    float value = stack.getOrCreateSubCompound("jei_rendering_info").getFloat("Chance");
    String text = value + "%";
    if(value != 100) {
      int width = minecraft.fontRenderer.getStringWidth(text);
      minecraft.fontRenderer.drawString(text, 72 - width / 2, 47, Color.GRAY.getRGB());
    }
  }
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void drawExtras(Minecraft minecraft) {
  this.arrow.draw(minecraft, 57, 14);
  ItemStack stack = outPutSupplier.get();
  if(stack != null && !stack.isEmpty()) {
    float value = stack.getOrCreateSubCompound("jei_rendering_info").getFloat("Chance");
    String text = value + "%";
    if(value != 100) {
      int width = minecraft.fontRenderer.getStringWidth(text);
      minecraft.fontRenderer.drawString(text, 72 - width / 2, 47, Color.GRAY.getRGB());
    }
  }
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void drawExtras(Minecraft minecraft) {
  this.arrow.draw(minecraft, 61, 14);
  ItemStack stack = outPutSupplier.get();
  if(stack != null && !stack.isEmpty()) {
    float value = stack.getOrCreateSubCompound("jei_rendering_info").getFloat("Chance");
    String text = value + "%";
    if( value >= 100.0F ) {
      int width = minecraft.fontRenderer.getStringWidth(text);
      minecraft.fontRenderer.drawString(text, 100 - width / 2, 42, Color.GRAY.getRGB());
    }
  }
}

代码示例来源:origin: JurassiCraftTeam/JurassiCraft2

@Override
public void drawExtras(Minecraft minecraft) {
  GlStateManager.enableBlend();
  this.arrow.draw(minecraft, 33, 18);
  this.water.draw(minecraft, 0, 2);
  ItemStack stack = outPutSupplier.get();
  if(stack != null && !stack.isEmpty()) {
    float value = stack.getOrCreateSubCompound("jei_rendering_info").getFloat("Chance");
    String text = value + "%";
    if(value != 100) {
      int width = minecraft.fontRenderer.getStringWidth(text);
      minecraft.fontRenderer.drawString(text, 72 - width / 2, 47, Color.GRAY.getRGB());
    }
  }
}

代码示例来源:origin: NanamiArihara/FoodCraft-Reloaded

@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
  super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
  NBTTagCompound compound = stack.getOrCreateSubCompound("cyl");
  if (compound.getInteger("time") == 29) {
    if (compound.getInteger("value") == FruitType.values().length - 1)
      compound.setInteger("value", 0);
    else
      compound.setInteger("value", compound.getInteger("value") + 1);
    compound.setInteger("time", 0);
  } else {
    compound.setInteger("time", compound.getInteger("time") + 1);
  }
}

相关文章

微信公众号

最新文章

更多

ItemStack类方法