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

x33g5p2x  于2022-01-18 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(130)

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

Container.getSlot介绍

暂无

代码示例

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

public static IInventory getOpenContainerInventory(EntityPlayer p) {
 // a workaround since player does not reference the inventory, only the
 // container
 // and Container has no get method
 return p.openContainer.getSlot(0).inventory;
}

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

public static boolean hasValidOpenContainer(EntityPlayer p) {
 return p != null && p.openContainer != null && p.openContainer.inventorySlots.size() > 0 &&
   p.openContainer.getSlot(0) != null &&
   p.openContainer.getSlot(0).inventory != null;
}

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

@Override
public List<Slot> getRecipeSlots(C container) {
  List<Slot> slots = new ArrayList<>();
  for (int i = recipeSlotStart; i < recipeSlotStart + recipeSlotCount; i++) {
    Slot slot = container.getSlot(i);
    slots.add(slot);
  }
  return slots;
}

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

@Override
  public List<Slot> getInventorySlots(C container) {
    List<Slot> slots = new ArrayList<>();
    for (int i = inventorySlotStart; i < inventorySlotStart + inventorySlotCount; i++) {
      Slot slot = container.getSlot(i);
      slots.add(slot);
    }
    return slots;
  }
}

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

@Override
public void processPacket(EntityPlayer player) {
  if (player.openContainer != null && player.openContainer.getSlot(slotNumber) instanceof IFuzzySlot) {
    ((IFuzzySlot) player.openContainer.getSlot(slotNumber)).getFuzzyFlags().loadFromBitSet(flags);
  }
}

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

public static boolean checkFilter(Container container, int slotId, EntityPlayer player){
  if(slotId >= 0 && slotId < container.inventorySlots.size()){
    Slot slot = container.getSlot(slotId);
    if(slot instanceof SlotFilter){
      ((SlotFilter)slot).slotClick(player);
      return true;
    }
  }
  return false;
}

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

public <T extends Slot> T getSlot(EntityPlayer player, Class<T> clazz) {
  if (player.openContainer instanceof DummyContainer) {
    if (positionInt >= player.openContainer.inventorySlots.size()) {
      targetNotFound("The requested Slot was out of range");
    } else {
      Slot slot = player.openContainer.getSlot(positionInt);
      if (slot == null) {
        targetNotFound("The requested Slot was null");
      } else if (!clazz.isAssignableFrom(slot.getClass())) {
        targetNotFound("Couldn't find " + clazz.getName() + ", found slot with " + slot.getClass());
      } else {
        return (T) slot;
      }
    }
  }
  return null;
}

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

@Override
public void sendAllContents(Container containerToSend, NonNullList<ItemStack> itemsList) {
  sendSlotContents(containerToSend, 0, containerToSend.getSlot(0).getStack());
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
protected void handle(MessageSlotFilterSetFluid message, EntityPlayerMP player) {
  Container container = player.openContainer;
  if (container != null) {
    if (message.containerSlot >= 0 && message.containerSlot < container.inventorySlots.size()) {
      Slot slot = container.getSlot(message.containerSlot);
      if (slot instanceof SlotFilterFluid) {
        ((SlotFilterFluid) slot).getFluidInventory().setFluid(slot.getSlotIndex(), message.stack);
      }
    }
  }
}

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

public <T extends Slot> T getSlot(EntityPlayer player, Class<T> clazz) {
  if (player.openContainer instanceof DummyContainer) {
    if (getInteger() >= player.openContainer.inventorySlots.size()) {
      targetNotFound("The requested Slot was out of range");
    } else {
      Slot slot = player.openContainer.getSlot(getInteger());
      if (slot == null) {
        targetNotFound("The requested Slot was null");
      } else if (!clazz.isAssignableFrom(slot.getClass())) {
        targetNotFound("Couldn't find " + clazz.getName() + ", found slot with " + slot.getClass());
      } else {
        return (T) slot;
      }
    }
  }
  return null;
}

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

@Override
 public boolean shouldDraw() {
  return super.shouldDraw() && getTileEntity().canVoidItems() && !inventorySlots.getSlot(ContainerTank.trashcan).getHasStack();
 }
});

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

@Override
public void initGui() {
  super.initGui();
  pages.get(0).addElement(deleteAllBt);
  for (int i = 1; i < TileEntityAndroidSpawner.FLASH_DRIVE_COUNT; i++) {
    ElementInventorySlot flashDriveSlot = new ElementInventorySlot(this, (MOSlot) inventorySlots.getSlot(i), 60 + 24 * (i - 1), 32, 22, 22, "big");
    pages.get(0).addElement(flashDriveSlot);
  }
  AddMainPlayerSlots(inventorySlots, pages.get(0));
  AddHotbarPlayerSlots(inventorySlots, this);
}

代码示例来源:origin: WayofTime/BloodMagic

@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
  this.fontRenderer.drawString("" + getCurrentActiveSlotPriority(), 143 + 5, 51 + 4, 0xFFFFFF);
  String s = "";
  if (container.lastGhostSlotClicked != -1) {
    ItemStack clickedStack = inventorySlots.getSlot(1 + container.lastGhostSlotClicked).getStack();
    if (!clickedStack.isEmpty()) {
      s = clickedStack.getDisplayName();
    }
  }
  this.fontRenderer.drawStringWithShadow(s.substring(0, Math.min(16, s.length())), 81, 19, 0xFFFFFF);
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
  public IMessage onMessage(MessageSlotFilterFluidUpdate message, MessageContext ctx) {
    GuiBase.executeLater(gui -> {
      if (message.containerSlot >= 0 && message.containerSlot < gui.inventorySlots.inventorySlots.size()) {
        Slot slot = gui.inventorySlots.getSlot(message.containerSlot);

        if (slot instanceof SlotFilterFluid) {
          ((SlotFilterFluid) slot).getFluidInventory().setFluid(slot.getSlotIndex(), message.stack);
        }
      }
    });

    return null;
  }
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
protected void handle(MessageSlotFilterSet message, EntityPlayerMP player) {
  if (message.stack.isEmpty() || message.stack.getCount() > message.stack.getMaxStackSize()) {
    return;
  }
  Container container = player.openContainer;
  if (container != null) {
    if (message.containerSlot >= 0 && message.containerSlot < container.inventorySlots.size()) {
      Slot slot = container.getSlot(message.containerSlot);
      if (slot instanceof SlotFilter || slot instanceof SlotLegacyFilter) {
        slot.putStack(message.stack);
      }
    }
  }
}

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

@Override
  protected void drawGuiContainerForegroundLayer(int par1, int par2) {
    super.drawGuiContainerForegroundLayer(par1, par2);
    if (inventorySlots.getSlot(0).getStack() == null) {
      mc.fontRenderer.drawString(StringUtils.translate("gui.fluidbasic.Empty"), 50, 18, 0x404040);
    } else {
      mc.fontRenderer.drawString(ItemIdentifier.get(inventorySlots.getSlot(0).getStack()).getFriendlyName(), 50, 18, 0x404040);
    }
  }
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
protected void handle(MessageSlotFilterFluidSetAmount message, EntityPlayerMP player) {
  Container container = player.openContainer;
  if (container != null) {
    if (message.containerSlot >= 0 && message.containerSlot < container.inventorySlots.size()) {
      Slot slot = container.getSlot(message.containerSlot);
      if (slot instanceof SlotFilterFluid) {
        FluidInventory inventory = ((SlotFilterFluid) slot).getFluidInventory();
        FluidStack stack = inventory.getFluid(slot.getSlotIndex());
        if (stack != null && message.amount > 0 && message.amount <= inventory.getMaxAmount()) {
          inventory.setFluid(slot.getSlotIndex(), StackUtils.copy(stack, message.amount));
        }
      }
    }
  }
}

代码示例来源:origin: ldtteam/minecolonies

@Override
protected void mouseClicked(final int mouseX, final int mouseY, final int mouseButton) throws IOException
{
  super.mouseClicked(mouseX, mouseY, mouseButton);
  if (building.canRecipeBeAdded() && doneButton.isMouseOver())
  {
    final List<ItemStack> input = new ArrayList<>();
    input.add(inventorySlots.getInventory().get(0));
    final ItemStack primaryOutput =  inventorySlots.getSlot(1).getStack().copy();
    if(!ItemStackUtils.isEmpty(primaryOutput))
    {
      MineColonies.getNetwork().sendToServer(new AddRemoveRecipeMessage(input, 1, primaryOutput, building, false));
    }
  }
}

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

public MatterNetworkConfigPage(MOGuiMachine gui, int posX, int posY, int width, int height) {
  super(gui, posX, posY, width, height);
  destinationTextField = new MOElementTextField(gui, this, 4, 42, 96, 16);
  destinationTextField.setName("Destination");
  destinationTextField.setBackground(MOElementButton.HOVER_TEXTURE_DARK);
  destinationTextField.setTextOffset(4, 3);
  this.componentMatterNetworkConfigs = gui.getMachine().getComponent(ComponentMatterNetworkConfigs.class);
  filterSlot = new ElementInventorySlot(gui, (MOSlot) machineGui.inventorySlots.getSlot(componentMatterNetworkConfigs.getDestinationFilterSlot()), 104, 37, 22, 22, "big");
}

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

@Override
protected void drawForegroundImpl(int mouseX, int mouseY) {
 super.drawForegroundImpl(mouseX, mouseY);
 if (!isConfigOverlayEnabled()) {
  for (int i = TileFarmStation.minSupSlot; i <= TileFarmStation.maxSupSlot; i++) {
   if (getTileEntity().isSlotLocked(i)) {
    Slot slot = inventorySlots.getSlot(i);
    GlStateManager.enableBlend();
    GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    RenderUtil.renderQuad2D(slot.xPos, slot.yPos, 0, 16, 16, new Vector4f(0, 0, 0, 0.25));
    GlStateManager.disableBlend();
   }
  }
 }
}

相关文章