net.minecraft.inventory.Slot.isItemValid()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(137)

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

Slot.isItemValid介绍

暂无

代码示例

代码示例来源:origin: Vazkii/Botania

  1. @Nonnull
  2. @Override
  3. public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
  4. ItemStack itemstack = ItemStack.EMPTY;
  5. Slot slot = inventorySlots.get(slotIndex);
  6. if(slot != null && slot.getHasStack()) {
  7. ItemStack itemstack1 = slot.getStack();
  8. itemstack = itemstack1.copy();
  9. if(slotIndex < 16) {
  10. if(!mergeItemStack(itemstack1, 16, 52, true))
  11. return ItemStack.EMPTY;
  12. } else {
  13. int i = itemstack.getItemDamage();
  14. if(i < 16) {
  15. Slot slot1 = inventorySlots.get(i);
  16. if(slot1.isItemValid(itemstack) && !mergeItemStack(itemstack1, i, i + 1, true))
  17. return ItemStack.EMPTY;
  18. }
  19. }
  20. if(itemstack1.isEmpty())
  21. slot.putStack(ItemStack.EMPTY);
  22. else slot.onSlotChanged();
  23. if(itemstack1.getCount() == itemstack.getCount())
  24. return ItemStack.EMPTY;
  25. slot.onTake(player, itemstack1);
  26. }
  27. return itemstack;
  28. }

代码示例来源:origin: Azanor/Baubles

  1. @Override
  2. public boolean isItemValid(ItemStack stack)
  3. {
  4. return super.isItemValid(stack);
  5. }
  6. @Override

代码示例来源:origin: PrinceOfAmber/Cyclic

  1. @Override
  2. public boolean isItemValid(@Nullable ItemStack stack) {
  3. return super.isItemValid(stack);
  4. }

代码示例来源:origin: PrinceOfAmber/Cyclic

  1. @Override
  2. public boolean isItemValid(@Nullable ItemStack stack) {
  3. return super.isItemValid(stack);
  4. }

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

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. if (stack == null || stack.getItem() instanceof IHeraldryItem){
  4. return super.isItemValid(stack);
  5. }
  6. return false;
  7. }
  8. }

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

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. if (type == null) {
  4. return super.isItemValid(stack);
  5. }
  6. return !stack.isEmpty() && stack.getItem() != type;
  7. }

代码示例来源:origin: Vazkii/Quark

  1. @Override
  2. public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) {
  3. Slot containerSlot = getSlot(slot);
  4. if(containerSlot == null || !containerSlot.isItemValid(stack))
  5. return stack;
  6. return super.insertItem(slot, stack, simulate);
  7. }

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

  1. if( !isB.isEmpty() && !a.isItemValid( isB ) )
  2. if( !isA.isEmpty() && !b.isItemValid( isA ) )

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

  1. if( d.isItemValid( tis ) )
  2. if( d.isItemValid( tis ) )

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. return super.isItemValid(stack) && !stack.isEmpty() && stack.getItem() != null && stack.getItem() instanceof ItemDragonArmor && stack.getMetadata() == 2;
  4. }
  5. });

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. return super.isItemValid(stack) && !stack.isEmpty() && stack.getItem() != null && stack.getItem() instanceof ItemDragonArmor && stack.getMetadata() == 1;
  4. }
  5. });

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. return super.isItemValid(stack) && !stack.isEmpty() && stack.getItem() != null && stack.getItem() instanceof ItemDragonArmor && stack.getMetadata() == 3;
  4. }
  5. });

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. @Override
  2. public boolean isItemValid(ItemStack stack) {
  3. return super.isItemValid(stack) && !stack.isEmpty() && stack.getItem() != null && stack.getItem() instanceof ItemDragonArmor && stack.getMetadata() == 0;
  4. }
  5. });

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

  1. private static boolean shiftToMachineInventory(List<Slot> inventorySlots, ItemStack stackToShift, int numSlots, boolean mergeOnly) {
  2. for (int machineIndex = playerInventorySize; machineIndex < numSlots; machineIndex++) {
  3. Slot slot = inventorySlots.get(machineIndex);
  4. if (mergeOnly && slot.getStack().isEmpty()) {
  5. continue;
  6. }
  7. if (slot instanceof SlotForestry) {
  8. SlotForestry slotForestry = (SlotForestry) slot;
  9. if (!slotForestry.canShift() || slotForestry.isPhantom()) {
  10. continue;
  11. }
  12. }
  13. if (!slot.isItemValid(stackToShift)) {
  14. continue;
  15. }
  16. if (shiftItemStackToRange(inventorySlots, stackToShift, machineIndex, 1)) {
  17. return true;
  18. }
  19. }
  20. return false;
  21. }
  22. }

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

  1. boolean isValid = s.isItemValid(
  2. is ) || s instanceof SlotOutput || s instanceof AppEngCraftingSlot || s instanceof SlotDisabled || s instanceof SlotInaccessible || s instanceof SlotFake || s instanceof SlotRestrictedInput || s instanceof SlotDisconnected;
  3. if( isValid && s instanceof SlotRestrictedInput )

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

  1. @Override
  2. public boolean isItemValid(ItemStack par1ItemStack) {
  3. if (par1ItemStack.isEmpty()) {
  4. return super.isItemValid(ItemStack.EMPTY);
  5. } else if(inventory instanceof InventoryPlayer){
  6. if(super.isItemValid(par1ItemStack)) {
  7. EntityPlayer player = ((InventoryPlayer) inventory).player;
  8. final boolean inBattle = BattlegearUtils.isPlayerInBattlemode(player);
  9. if(!inBattle){
  10. ((InventoryPlayer) inventory).currentItem += InventoryPlayerBattle.OFFSET;
  11. }
  12. boolean result;
  13. if (mainHand) {
  14. result = BattlegearUtils.isMainHand(par1ItemStack, partner.getStack(), player) && BattlegearUtils.isOffHand(partner.getStack(), par1ItemStack, player);
  15. } else {
  16. result = BattlegearUtils.isOffHand(par1ItemStack, partner.getStack() ,player) && BattlegearUtils.isMainHand(partner.getStack(), par1ItemStack, player);
  17. }
  18. if(!inBattle){
  19. ((InventoryPlayer) inventory).currentItem -= InventoryPlayerBattle.OFFSET;
  20. }
  21. return result;
  22. }
  23. }
  24. return false;
  25. }
  26. }

代码示例来源:origin: Alex-the-666/Ice_and_Fire

  1. @Override
  2. public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) {
  3. ItemStack itemstack = ItemStack.EMPTY;
  4. Slot slot = this.inventorySlots.get(index);
  5. if (slot != null && slot.getHasStack()) {
  6. ItemStack itemstack1 = slot.getStack();
  7. itemstack = itemstack1.copy();
  8. if (index < this.dragonInv.getSizeInventory()) {
  9. if (!this.mergeItemStack(itemstack1, this.dragonInv.getSizeInventory(), this.inventorySlots.size(), true)) {
  10. return ItemStack.EMPTY;
  11. }
  12. } else if (this.getSlot(1).isItemValid(itemstack1) && !this.getSlot(1).getHasStack()) {
  13. if (!this.mergeItemStack(itemstack1, 1, 2, false)) {
  14. return ItemStack.EMPTY;
  15. }
  16. } else if (this.getSlot(0).isItemValid(itemstack1)) {
  17. if (!this.mergeItemStack(itemstack1, 0, 1, false)) {
  18. return ItemStack.EMPTY;
  19. }
  20. } else if (this.dragonInv.getSizeInventory() <= 2 || !this.mergeItemStack(itemstack1, 2, this.dragonInv.getSizeInventory(), false)) {
  21. return ItemStack.EMPTY;
  22. }
  23. if (itemstack1.isEmpty()) {
  24. slot.putStack((ItemStack) ItemStack.EMPTY);
  25. } else {
  26. slot.onSlotChanged();
  27. }
  28. }
  29. return itemstack;
  30. }

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

  1. GlStateManager.disableBlend();
  2. GlStateManager.disableDepth();
  3. if (!gui.getDraggedItem().isEmpty() && !this.slot.isItemValid(gui.getDraggedItem())) {
  4. RenderUtil.drawGradientRect(new Area(1, 1, 16, 16), -1426089575, -1426089575);
  5. } else {

代码示例来源:origin: Vazkii/Quark

  1. if(inventorySlots.get(0).getHasStack() || !inventorySlots.get(0).isItemValid(itemstack1))
  2. return ItemStack.EMPTY;

代码示例来源:origin: MatterOverdrive/MatterOverdrive-Legacy-Edition

  1. public static ItemStack addItemInContainer(Container container, ItemStack itemStack) {
  2. for (int i = 0; i < container.inventorySlots.size(); i++) {
  3. if (container.getSlot(i).isItemValid(itemStack)) {
  4. if (StackUtils.isNullOrEmpty(container.getSlot(i).getStack())) {
  5. container.getSlot(i).putStack(itemStack);
  6. if (itemStack.getCount() > itemStack.getMaxStackSize()) {
  7. itemStack.setCount(itemStack.getMaxStackSize());
  8. } else {
  9. return null;
  10. }
  11. } else if (ItemStack.areItemStacksEqual(container.getSlot(i).getStack(), itemStack) && container.getSlot(i).getStack().getCount() < container.getSlot(i).getStack().getMaxStackSize()) {
  12. int newStackSize = Math.min(container.getSlot(i).getStack().getCount() + itemStack.getCount(), container.getSlot(i).getStack().getMaxStackSize());
  13. int leftStackSize = container.getSlot(i).getStack().getCount() + itemStack.getCount() - newStackSize;
  14. container.getSlot(i).getStack().setCount(newStackSize);
  15. if (leftStackSize <= 0) {
  16. return null;
  17. }
  18. itemStack.setCount(newStackSize);
  19. }
  20. }
  21. }
  22. return itemStack;
  23. }

相关文章