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