本文整理了Java中net.minecraft.item.ItemStack.isItemStackDamageable()
方法的一些代码示例,展示了ItemStack.isItemStackDamageable()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.isItemStackDamageable()
方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称:ItemStack
方法名:isItemStackDamageable
暂无
代码示例来源:origin: Vazkii/Botania
public static boolean ignoreMeta(ItemStack stack) {
return stack.isItemStackDamageable() || stack.getItem() instanceof IManaItem || stack.getItemDamage() == OreDictionary.WILDCARD_VALUE;
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
public static List<ItemStack> toStackExpand( IItemStack iStack )
{
if( iStack == null )
{
return Collections.emptyList();
}
else
{
ItemStack is = (ItemStack) iStack.getInternal();
if( !is.isItemStackDamageable() && is.getItemDamage() == OreDictionary.WILDCARD_VALUE )
{
NonNullList<ItemStack> ret = NonNullList.create();
is.getItem().getSubItems( CreativeTabs.SEARCH, ret );
return ret.stream().map( i -> new ItemStack( i.getItem(), iStack.getAmount(), i.getItemDamage() ) ).collect( Collectors.toList() );
}
else
{
return Collections.singletonList( is );
}
}
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
/**
* Compare the two {@link ItemStack}s based on the same {@link Item} and damage value.
*
* In case of the item being damageable, only the {@link Item} will be considered.
* If not it will also compare both damage values.
*
* Ignores NBT.
*
* @return true, if both are equal.
*/
public boolean isEqualItemType( @Nonnull final ItemStack that, @Nonnull final ItemStack other )
{
if( !that.isEmpty() && !other.isEmpty() && that.getItem() == other.getItem() )
{
if( that.isItemStackDamageable() )
{
return true;
}
return that.getItemDamage() == other.getItemDamage();
}
return false;
}
代码示例来源:origin: CoFH/ThermalExpansion
private boolean canStartRepairItem() {
if (!inventory[1].isItemStackDamageable() || !augmentRepair) {
hasRepairItem = false;
return false;
}
return true;
}
代码示例来源:origin: Vazkii/Botania
public boolean canAcceptItem(ItemStack stack, List<ItemStack> filter, int filterType) {
if(stack.isEmpty())
return false;
if(filter.isEmpty())
return true;
switch(filterType) {
case 0 : { // Accept items in frames only
boolean anyFilter = false;
for(ItemStack filterEntry : filter) {
if(filterEntry == null)
continue;
anyFilter = true;
boolean itemEqual = stack.getItem() == filterEntry.getItem();
boolean damageEqual = stack.getItemDamage() == filterEntry.getItemDamage();
boolean nbtEqual = ItemStack.areItemStackTagsEqual(filterEntry, stack);
if(itemEqual && damageEqual && nbtEqual)
return true;
if(!stack.getHasSubtypes() && stack.isItemStackDamageable() && stack.getMaxStackSize() == 1 && itemEqual && nbtEqual)
return true;
if(stack.getItem() instanceof IManaItem && itemEqual)
return true;
}
return !anyFilter;
}
case 1 : return !canAcceptItem(stack, filter, 0); // Accept items not in frames only
default : return true; // Accept all items
}
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
public static ItemStack getContainerItem( final ItemStack stackInSlot )
{
if( stackInSlot == null )
{
return ItemStack.EMPTY;
}
final Item i = stackInSlot.getItem();
if( i == null || !i.hasContainerItem( stackInSlot ) )
{
if( stackInSlot.getCount() > 1 )
{
stackInSlot.setCount( stackInSlot.getCount() - 1 );
return stackInSlot;
}
return ItemStack.EMPTY;
}
ItemStack ci = i.getContainerItem( stackInSlot.copy() );
if( !ci.isEmpty() && ci.isItemStackDamageable() && ci.getItemDamage() == ci.getMaxDamage() )
{
ci = ItemStack.EMPTY;
}
return ci;
}
代码示例来源:origin: sinkillerj/ProjectE
public static boolean isDamageable(ItemStack stack)
{
return !stack.getHasSubtypes() && stack.isItemStackDamageable();
}
代码示例来源:origin: SleepyTrousers/EnderCore
public static void addDurabilityTooltip(@Nonnull List<String> toolTip, @Nonnull ItemStack itemStack) {
if (!itemStack.isItemStackDamageable()) {
return;
}
Item item = itemStack.getItem();
if (item instanceof ItemTool || item instanceof ItemArmor || item instanceof ItemSword || item instanceof ItemHoe || item instanceof ItemBow
|| item instanceof ItemShears) {
toolTip.add(ItemUtil.getDurabilityString(itemStack));
}
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
public static void damageItem(
@Nonnull final ItemStack is,
@Nonnull final Random r )
{
if ( is.isItemStackDamageable() )
{
if ( is.attemptDamageItem( 1, r, null ) )
{
is.func_190918_g( 1 );
}
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
public static boolean canDamage(@Nonnull ItemStack stack) {
return stack.isItemStackDamageable() && stack.getItem().isDamageable();
}
代码示例来源:origin: RS485/LogisticsPipes
public int getMaxStackSize() {
if (maxStackSize == 0) {
ItemStack tstack = unsafeMakeNormalStack(1);
int tstacksize = tstack.getMaxStackSize();
if (tstack.isItemStackDamageable() && tstack.isItemDamaged()) {
tstacksize = 1;
}
tstacksize = Math.max(1, Math.min(64, tstacksize));
maxStackSize = tstacksize;
}
return maxStackSize;
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
.hasTagCompound() || providedTemplate.isItemStackDamageable();
代码示例来源:origin: SleepyTrousers/EnderIO
public boolean passesFilter(@Nonnull ItemStack stack) {
return Prep.isValid(stack) && passesFilter(stack.isItemStackDamageable() ? (float) stack.getItemDamage() / (float) stack.getMaxDamage() : -1f);
}
代码示例来源:origin: RS485/LogisticsPipes
public ItemIdentifier getUndamaged() {
if (_IDIgnoringDamage == null) {
if (!unsafeMakeNormalStack(1).isItemStackDamageable()) {
_IDIgnoringDamage = this;
} else {
ItemStack tstack = makeNormalStack(1);
tstack.setItemDamage(0);
_IDIgnoringDamage = ItemIdentifier.get(tstack);
}
}
return _IDIgnoringDamage;
}
代码示例来源:origin: blay09/CookingForBlockheads
public static boolean areItemStacksEqualWithWildcardIgnoreDurability(ItemStack first, ItemStack second) {
return !(first.isEmpty() || second.isEmpty())
&& first.getItem() == second.getItem()
&& (
first.getItemDamage() == second.getItemDamage()
|| first.getItemDamage() == OreDictionary.WILDCARD_VALUE
|| second.getItemDamage() == OreDictionary.WILDCARD_VALUE
|| (first.isItemStackDamageable() && second.isItemStackDamageable()));
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
private void damageHelmet(ItemStack helmet) {
if (helmet.isItemStackDamageable()) {
helmet.setItemDamage(helmet.getItemDamage() + rand.nextInt(2));
if (helmet.getItemDamage() >= helmet.getMaxDamage()) {
renderBrokenItemStack(helmet);
setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
}
}
}
代码示例来源:origin: SleepyTrousers/EnderIO
private void damageTool(@Nonnull ItemStack tool, int toolIndex) {
if (Prep.isValid(tool) && tool.isItemStackDamageable()) {
tool.damageItem(1, getFakePlayer());
if (tool.getItemDamage() >= tool.getMaxDamage()) {
tool.shrink(1);
}
markDirty();
}
}
代码示例来源:origin: Direwolf20-MC/BuildingGadgets
public boolean canUse(ItemStack tool, EntityPlayer player) {
if (player.capabilities.isCreativeMode)
return true;
if (Config.poweredByFE) {
IEnergyStorage energy = CapabilityProviderEnergy.getCap(tool);
return this.getEnergyCost() <= energy.getEnergyStored();
}
return tool.getItemDamage() < tool.getMaxDamage() || tool.isItemStackDamageable();
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
public static boolean doItemStacksMatchRelaxed(ItemStack stack1, ItemStack stack2) {
if (stack1 == stack2) {
return true;
}
return OreDictionary.itemMatches(stack1, stack2, !stack1.isEmpty() && (stack1.isItemStackDamageable() || stack1.getItemDamage() != OreDictionary.WILDCARD_VALUE))
&& ItemStack.areItemsEqualIgnoreDurability(stack1, stack2)
&& ItemStack.areItemStackTagsEqual(stack1, stack2)
&& stack1.areCapsCompatible(stack2);
}
代码示例来源:origin: SleepyTrousers/EnderIO
private void updateCapacitorFromSlot() {
if (getEnergy().updateCapacitorFromSlot(getInventory().getSlot(CAPSLOT))) {
isCapacitorDamageable = getInventory().getSlot(CAPSLOT).get().isItemStackDamageable();
onCapacitorDataChange();
}
}
内容来源于网络,如有侵权,请联系作者删除!