本文整理了Java中net.minecraft.item.ItemStack.getOrCreateSubCompound()
方法的一些代码示例,展示了ItemStack.getOrCreateSubCompound()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.getOrCreateSubCompound()
方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称: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);
}
}
内容来源于网络,如有侵权,请联系作者删除!