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

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

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

Slot.canTakeStack介绍

暂无

代码示例

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

  1. if( !s.canTakeStack( ( (AEBaseContainer) this.inventorySlots ).getPlayerInv().player ) )

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

  1. for( final Slot inventorySlot : slots )
  2. if( inventorySlot != null && inventorySlot.canTakeStack(
  3. this.mc.player ) && inventorySlot.getHasStack() && inventorySlot.isSameInventory( slot ) && Container.canAddItemToSlot(
  4. inventorySlot, this.dbl_whichItem, true ) )

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

  1. @Override
  2. public boolean canTakeStack(@Nonnull EntityPlayer playerIn) {
  3. ItemStack stackInSlot = inventory.getStackInSlot(getSlotIndex());
  4. if (stackInSlot.getItem() == Item.getItemFromBlock(Blocks.BARRIER)) {
  5. return false;
  6. }
  7. return super.canTakeStack(playerIn);
  8. }
  9. });

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

  1. if( !isA.isEmpty() && !a.canTakeStack( this.getInventoryPlayer().player ) )
  2. if( !isB.isEmpty() && !b.canTakeStack( this.getInventoryPlayer().player ) )

代码示例来源:origin: Ellpeck/ActuallyAdditions

  1. @Override
  2. public boolean canTakeStack(EntityPlayer player) {
  3. ItemStack itemstack = this.getStack();
  4. return !itemstack.isEmpty() && !player.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? false : super.canTakeStack(player);
  5. }

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

  1. @Override
  2. public boolean canTakeStack(EntityPlayer playerIn)
  3. {
  4. ItemStack itemstack = this.getStack();
  5. return !itemstack.isEmpty() && !playerIn.isCreative() && EnchantmentHelper.hasBindingCurse(itemstack) ? false : super.canTakeStack(playerIn);
  6. }
  7. @Override

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

  1. public boolean canTakeStack(EntityPlayer playerIn) {
  2. return (this.getStack().isEmpty() || playerIn.isCreative() || !EnchantmentHelper.hasBindingCurse(this.getStack())) && super.canTakeStack(playerIn);
  3. }

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

  1. public boolean canTakeStack(EntityPlayer playerIn) {
  2. return (this.getStack().isEmpty() || playerIn.isCreative() || !EnchantmentHelper.hasBindingCurse(this.getStack())) && super.canTakeStack(playerIn);
  3. }

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

  1. public boolean canTakeStack(EntityPlayer playerIn) {
  2. return (this.getStack().isEmpty() || playerIn.isCreative() || !EnchantmentHelper.hasBindingCurse(this.getStack())) && super.canTakeStack(playerIn);
  3. }

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

  1. public boolean canTakeStack(EntityPlayer playerIn) {
  2. return (this.getStack().isEmpty() || playerIn.isCreative() || !EnchantmentHelper.hasBindingCurse(this.getStack())) && super.canTakeStack(playerIn);
  3. }

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

  1. final ItemStack stack = slot.getStack();
  2. if (!stack.isEmpty()) {
  3. if (!slot.canTakeStack(player)) {
  4. Log.get().error("Recipe Transfer helper {} does not work for container {}. Player can't move item out of Crafting Slot number {}", transferHelper.getClass(), container.getClass(), slot.slotNumber);
  5. return handlerHelper.createInternalError();

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

  1. final ItemStack stack = slot.getStack();
  2. if (!stack.isEmpty()) {
  3. if (!slot.canTakeStack(player)) {
  4. Log.get().error("Recipe Transfer helper {} does not work for container {}. Player can't move item out of Crafting Slot number {}", transferHelper.getClass(), container.getClass(), slot.slotNumber);
  5. return handlerHelper.createInternalError();

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

  1. @Override
  2. public boolean canTakeStack(EntityPlayer playerIn) {
  3. CADTakeEvent event = new CADTakeEvent(getStack(), assembler, playerIn);
  4. float sound = event.getSound();
  5. if (MinecraftForge.EVENT_BUS.post(event)) {
  6. BlockPos assemblerPos = this.assembler.getPos();
  7. String cancelMessage = event.getCancellationMessage();
  8. if (!playerIn.world.isRemote) {
  9. if (cancelMessage != null && !cancelMessage.isEmpty())
  10. playerIn.sendMessage(new TextComponentTranslation(cancelMessage).setStyle(new Style().setColor(TextFormatting.RED)));
  11. playerIn.world.playSound(null, assemblerPos.getX(), assemblerPos.getY(), assemblerPos.getZ(), PsiSoundHandler.compileError, SoundCategory.BLOCKS, sound, 1F);
  12. }
  13. return false;
  14. }
  15. return super.canTakeStack(playerIn);
  16. }

代码示例来源:origin: gr8pefish/IronBackpacks

  1. @Nonnull
  2. @Override
  3. public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
  4. Slot slot = this.getSlot(slotIndex);
  5. if (!slot.canTakeStack(player))
  6. return slot.getStack();
  7. if (slotIndex == blocked)
  8. return ItemStack.EMPTY;
  9. if (!slot.getHasStack())
  10. return ItemStack.EMPTY;
  11. ItemStack stack = slot.getStack();
  12. if (!stack.isEmpty() && ItemStack.areItemStacksEqual(stack, blockedStack))
  13. return ItemStack.EMPTY;
  14. ItemStack newStack = stack.copy();
  15. if (InventoryBlacklist.INSTANCE.isBlacklisted(slot.getStack()))
  16. return ItemStack.EMPTY;
  17. else if (slotIndex < backpackSize.getTotalSize()) {
  18. if (!this.mergeItemStack(stack, backpackSize.getTotalSize(), this.inventorySlots.size(), true))
  19. return ItemStack.EMPTY;
  20. slot.onSlotChanged();
  21. } else if (!this.mergeItemStack(stack, 0, backpackSize.getTotalSize(), false))
  22. return ItemStack.EMPTY;
  23. if (stack.isEmpty())
  24. slot.putStack(ItemStack.EMPTY);
  25. else
  26. slot.onSlotChanged();
  27. return slot.onTake(player, newStack);
  28. }

代码示例来源:origin: PenguinSquad/Harvest-Festival

  1. if (slot6 != null && slot6.canTakeStack(player)) {
  2. ItemStack itemstack8 = slot6.getStack();
  3. } else if (slot7.canTakeStack(player)) {
  4. if (held == null) {
  5. if (inSlot.stackSize > 0) {
  6. if (itemstack7 != null || itemstack10 != null) {
  7. if (itemstack7 == null) {
  8. if (slot5.canTakeStack(player)) {
  9. inventoryplayer.setInventorySlotContents(dragType, itemstack10);
  10. slot5.putStack(null);
  11. } else if (slot5.canTakeStack(player) && slot5.isItemValid(itemstack7)) {
  12. int l1 = slot5.getItemStackLimit(itemstack7);
  13. if (slot3 != null && slot3.getHasStack() && slot3.canTakeStack(player)) {
  14. ItemStack itemstack5 = slot3.decrStackSize(dragType == 0 ? 1 : slot3.getStack().stackSize);
  15. slot3.onPickupFromSlot(player, itemstack5);
  16. if (itemstack4 != null && (slot2 == null || !slot2.getHasStack() || !slot2.canTakeStack(player))) {
  17. int i1 = dragType == 0 ? 0 : inventorySlots.size() - 1;
  18. int j1 = dragType == 0 ? 1 : -1;
  19. if (slot8.getHasStack() && canAddItemToSlot(slot8, itemstack4, true) && slot8.canTakeStack(player) && canMergeSlot(itemstack4, slot8) && (i3 != 0 || slot8.getStack().stackSize != slot8.getStack().getMaxStackSize())) {
  20. int l = Math.min(itemstack4.getMaxStackSize() - itemstack4.stackSize, slot8.getStack().stackSize);
  21. ItemStack itemstack2 = slot8.decrStackSize(l);

代码示例来源:origin: RS485/LogisticsPipes

  1. if (slot5 == null || !slot5.canTakeStack(player)) {
  2. return ItemStack.EMPTY;
  3. } else if (slot6.canTakeStack(player)) {
  4. if (itemstack11.isEmpty()) {
  5. if (itemstack8.isEmpty()) {
  6. if (slot4.canTakeStack(player)) {
  7. inventoryplayer.setInventorySlotContents(dragType, itemstack10);
  8. ReflectionHelper.invokePrivateMethod(Slot.class, slot4, "onSwapCraft", "func_190900_b", new Class[]{int.class}, new Object[] {itemstack10.getCount()});
  9. } else if (slot4.canTakeStack(player) && slot4.isItemValid(itemstack6)) {
  10. int i2 = slot4.getItemStackLimit(itemstack6);
  11. Slot slot2 = this.inventorySlots.get(slotId);
  12. if (slot2 != null && slot2.getHasStack() && slot2.canTakeStack(player)) {
  13. ItemStack itemstack4 = slot2.decrStackSize(dragType == 0 ? 1 : slot2.getStack().getCount());
  14. slot2.onTake(player, itemstack4);
  15. if (!itemstack1.isEmpty() && (slot == null || !slot.getHasStack() || !slot.canTakeStack(player))) {
  16. int i = dragType == 0 ? 0 : this.inventorySlots.size() - 1;
  17. int j = dragType == 0 ? 1 : -1;
  18. if (slot1.getHasStack() && canAddItemToSlot(slot1, itemstack1, true) && slot1.canTakeStack(player) && this
  19. .canMergeSlot(itemstack1, slot1)) {
  20. ItemStack itemstack2 = slot1.getStack();

代码示例来源:origin: p455w0rd/WirelessCraftingTerminal

  1. if (inventorySlot != null && inventorySlot.canTakeStack(Minecraft.getMinecraft().player) && inventorySlot.getHasStack() && inventorySlot.inventory == slot.inventory && Container.canAddItemToSlot(inventorySlot, dbl_whichItem, true)) {
  2. handleMouseClick(inventorySlot, inventorySlot.slotNumber, 1, clickType);

代码示例来源:origin: CoFH/CoFHCore

  1. if (slot2 != null && slot2.canTakeStack(player)) {
  2. itemstack3 = this.transferStackInSlot(player, slotIndex);
  3. } else if (slot2.canTakeStack(player)) {
  4. if (itemstack4.isEmpty()) {
  5. l1 = mouseButton == 0 ? itemstack3.getCount() : (itemstack3.getCount() + 1) / 2;
  6. slot2 = this.inventorySlots.get(slotIndex);
  7. if (slot2.canTakeStack(player)) {
  8. itemstack3 = inventoryPlayer.getStackInSlot(mouseButton);
  9. boolean flag = itemstack3.isEmpty() || slot2.inventory == inventoryPlayer && slot2.isItemValid(itemstack3);
  10. slot2 = this.inventorySlots.get(slotIndex);
  11. if (slot2 != null && slot2.getHasStack() && slot2.canTakeStack(player)) {
  12. itemstack3 = slot2.decrStackSize(mouseButton == 0 ? 1 : slot2.getStack().getCount());
  13. slot2.onTake(player, itemstack3);
  14. itemstack3 = inventoryPlayer.getItemStack();
  15. if (!itemstack3.isEmpty() && (slot2 == null || !slot2.getHasStack() || !slot2.canTakeStack(player))) {
  16. i1 = mouseButton == 0 ? 0 : this.inventorySlots.size() - 1;
  17. l1 = mouseButton == 0 ? 1 : -1;
  18. if (slot3.getHasStack() && canAddItemToSlot(slot3, itemstack3, true) && slot3.canTakeStack(player) && this.canMergeSlot(itemstack3, slot3) && (i2 != 0 || slot3.getStack().getCount() != slot3.getStack().getMaxStackSize())) {
  19. int k1 = Math.min(itemstack3.getMaxStackSize() - itemstack3.getCount(), slot3.getStack().getCount());
  20. ItemStack itemstack2 = slot3.decrStackSize(k1);

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

  1. @Override
  2. protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
  3. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  4. mc.getTextureManager().bindTexture(ANVIL_TEXTURE);
  5. int k = (width - xSize) / 2;
  6. int l = (height - ySize) / 2;
  7. drawTexturedModalRect(k, l, 0, 0, xSize, ySize);
  8. drawTexturedModalRect(k + 59, l + 20, 0, ySize + (container.getSlot(0).getHasStack() ? 0 : 16), 110, 16);
  9. if ((container.getSlot(0).getHasStack() || container.getSlot(1).getHasStack()) && !container.getSlot(2).getHasStack()) {
  10. drawTexturedModalRect(k + 99, l + 45, xSize, 0, 28, 21);
  11. }
  12. if (hammer.cost > 0 && hammer.getStackInSlot(2) != null) {
  13. mc.getTextureManager().bindTexture(ARROW);
  14. drawTexturedModalRect(k + 102, l + 48, 177, 14, MathHelper.floor(22.0F *
  15. (((float) hammer.progress + (float) hammer.hammerTicks / 360.0F) / (float) hammer.cost)), 16);
  16. }
  17. if (!this.container.getSlot(2).canTakeStack(this.playerInv.player) && this.container.getSlot(2).getHasStack()) {
  18. GL11.glPushMatrix();
  19. GL11.glColorMask(true, true, true, false);
  20. this.drawGradientRect(k + 134, l + 47, k + 134 + 16, l + 47 + 16, 0x59000000, 0x59000000);
  21. GL11.glColorMask(true, true, true, true);
  22. GL11.glPopMatrix();
  23. }
  24. }

相关文章