use of net.minecraft.client.gui.GuiButton in project MinecraftForge by MinecraftForge.
the class GuiModList method initGui.
@Override
public void initGui() {
int slotHeight = 35;
for (ModContainer mod : mods) {
listWidth = Math.max(listWidth, getFontRenderer().getStringWidth(mod.getName()) + 10);
listWidth = Math.max(listWidth, getFontRenderer().getStringWidth(mod.getVersion()) + 5 + slotHeight);
}
listWidth = Math.min(listWidth, 150);
this.modList = new GuiSlotModList(this, mods, listWidth, slotHeight);
this.buttonList.add(new GuiButton(6, ((modList.right + this.width) / 2) - 100, this.height - 38, I18n.format("gui.done")));
configModButton = new GuiButton(20, 10, this.height - 49, this.listWidth, 20, "Config");
disableModButton = new GuiButton(21, 10, this.height - 27, this.listWidth, 20, "Disable");
this.buttonList.add(configModButton);
this.buttonList.add(disableModButton);
search = new GuiTextField(0, getFontRenderer(), 12, modList.bottom + 17, modList.listWidth - 4, 14);
search.setFocused(true);
search.setCanLoseFocus(true);
int width = (modList.listWidth / numButtons);
int x = 10, y = 10;
GuiButton normalSort = new GuiButton(SortType.NORMAL.buttonID, x, y, width - buttonMargin, 20, I18n.format("fml.menu.mods.normal"));
normalSort.enabled = false;
buttonList.add(normalSort);
x += width + buttonMargin;
buttonList.add(new GuiButton(SortType.A_TO_Z.buttonID, x, y, width - buttonMargin, 20, "A-Z"));
x += width + buttonMargin;
buttonList.add(new GuiButton(SortType.Z_TO_A.buttonID, x, y, width - buttonMargin, 20, "Z-A"));
updateCache();
}
use of net.minecraft.client.gui.GuiButton in project BluePower by Qmunity.
the class GuiGateCounter method initGui.
@SuppressWarnings("unchecked")
@Override
public void initGui() {
super.initGui();
int buttonWidth = 35;
for (int y = 0; y < 3; y++) {
for (int i = 0; i < buttonTexts.length; i++) {
buttonList.add(new GuiButton(y * buttonTexts.length + i, guiLeft + 4 + i * (buttonWidth + 2), guiTop + 25 + (y * 35), buttonWidth, 20, buttonTexts[i]));
}
}
}
use of net.minecraft.client.gui.GuiButton in project BluePower by Qmunity.
the class GuiGateSingleCounter method initGui.
@SuppressWarnings("unchecked")
@Override
public void initGui() {
String[] text = getButtonText();
super.initGui();
int buttonWidth = 35;
for (int i = 0; i < text.length; i++) {
buttonList.add(new GuiButton(i, guiLeft + 4 + i * (buttonWidth + 2), guiTop + 35, buttonWidth, 20, text[i]));
}
}
use of net.minecraft.client.gui.GuiButton in project LogisticsPipes by RS485.
the class GuiRequestTable method drawGuiContainerBackgroundLayer.
@Override
public void drawGuiContainerBackgroundLayer(float f, int i, int j) {
for (GuiButton sycleButton : sycleButtons) {
sycleButton.visible = _table.targetType != null;
}
GuiGraphics.drawGuiBackGround(mc, guiLeft, guiTop, right - (showRequest ? 0 : 105), bottom, zLevel, true);
drawRect(guiLeft + 162, guiTop + 23, guiLeft + 182, guiTop + 43, Color.BLACK);
drawRect(guiLeft + 164, guiTop + 25, guiLeft + 180, guiTop + 41, Color.DARKER_GREY);
if (showRequest) {
mc.fontRenderer.drawString(_title, guiLeft + 180 + mc.fontRenderer.getStringWidth(_title) / 2, guiTop + 6, 0x404040);
itemDisplay.renderPageNumber(right - 47, guiTop + 6);
if (buttonList.get(9) instanceof GuiCheckBox && ((GuiCheckBox) buttonList.get(9)).getState()) {
mc.fontRenderer.drawString("Popup", guiLeft + 225, bottom - 56, 0x404040);
} else {
mc.fontRenderer.drawString("Popup", guiLeft + 225, bottom - 56, Color.getValue(Color.GREY));
}
itemDisplay.renderAmount(right - 103, bottom - 24, getStackAmount());
//SearchInput
search.renderSearchBar();
itemDisplay.renderSortMode(right - 103, bottom - 52);
itemDisplay.renderItemArea(zLevel);
}
for (int x = 0; x < 9; x++) {
for (int y = 0; y < 3; y++) {
GuiGraphics.drawSlotBackground(mc, guiLeft + (x * 18) + 19, guiTop + (y * 18) + 79);
}
}
for (int x = 0; x < 3; x++) {
for (int y = 0; y < 3; y++) {
GuiGraphics.drawSlotBackground(mc, guiLeft + (x * 18) + 19, guiTop + (y * 18) + 14);
}
}
mc.fontRenderer.drawString("Sort:", guiLeft + 136, guiTop + 55, 0xffffff);
GuiGraphics.drawSlotBackground(mc, guiLeft + 100, guiTop + 32);
GuiGraphics.drawSlotBackground(mc, guiLeft + 163, guiTop + 50);
drawRect(guiLeft + 75, guiTop + 38, guiLeft + 95, guiTop + 43, Color.DARKER_GREY);
for (int a = 0; a < 10; a++) {
drawRect(guiLeft + 97 - a, guiTop + 40 - a, guiLeft + 98 - a, guiTop + 41 + a, Color.DARKER_GREY);
}
for (int a = 0; a < 15; a++) {
drawRect(guiLeft + 164 + a, guiTop + 51 + a, guiLeft + 166 + a, guiTop + 53 + a, Color.DARKER_GREY);
drawRect(guiLeft + 164 + a, guiTop + 65 - a, guiLeft + 166 + a, guiTop + 67 - a, Color.DARKER_GREY);
}
GuiGraphics.drawPlayerInventoryBackground(mc, guiLeft + 20, guiTop + 150);
for (final Entry<Integer, Pair<IResource, LinkedLogisticsOrderList>> entry : _table.watchedRequests.entrySet()) {
if (!handledExtention.get(entry.getKey())) {
handledExtention.set(entry.getKey());
extentionControllerLeft.addExtention(new GuiExtention() {
private Map<Pair<Integer, Integer>, IOrderInfoProvider> ordererPosition = new HashMap<>();
private int height;
private int width = 4;
private GuiButton localControlledButton;
@SuppressWarnings("unchecked")
@Override
public void renderForground(int left, int top) {
if (!_table.watchedRequests.containsKey(entry.getKey())) {
extentionControllerLeft.removeExtention(this);
if (isFullyExtended() && localControlledButton != null) {
buttonList.remove(localControlledButton);
localControlledButton = null;
orderIdForButton = -1;
}
return;
}
ordererPosition.clear();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240 / 1.0F, 240 / 1.0F);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
RenderHelper.enableGUIStandardItemLighting();
ItemStack stack = null;
IResource resource = entry.getValue().getValue1();
String s = null;
if (resource != null) {
stack = resource.getDisplayItem().makeNormalStack();
GuiScreen.itemRender.renderItemAndEffectIntoGUI(mc.fontRenderer, getMC().renderEngine, stack, left + 5, top + 5);
GuiScreen.itemRender.renderItemOverlayIntoGUI(mc.fontRenderer, getMC().renderEngine, stack, left + 5, top + 5, "");
s = StringUtils.getFormatedStackSize(stack.stackSize, false);
} else {
s = "List";
}
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GuiScreen.itemRender.zLevel = 0.0F;
// Draw number
mc.fontRenderer.drawStringWithShadow(s, left + 22 - mc.fontRenderer.getStringWidth(s), top + 14, 16777215);
if (isFullyExtended()) {
if (localControlledButton == null || orderIdForButton != entry.getKey()) {
if (localControlledButton != null) {
buttonList.remove(localControlledButton);
}
localControlledButton = new SmallGuiButton(100, guiLeft - 35, guiTop + 10, 30, 10, "more");
buttonList.add(localControlledButton);
orderIdForButton = entry.getKey();
}
List<IOrderInfoProvider> list = entry.getValue().getValue2().getList();
calculateSize(left, top, list);
String ident = "ID: " + Integer.toString(entry.getKey());
mc.fontRenderer.drawStringWithShadow(ident, left + 25, top + 7, 16777215);
int x = left + 6;
int y = top + 25;
for (IOrderInfoProvider order : list) {
stack = order.getAsDisplayItem().makeNormalStack();
if (stack.stackSize <= 0) {
continue;
}
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_DEPTH_TEST);
RenderHelper.enableGUIStandardItemLighting();
GuiScreen.itemRender.renderItemAndEffectIntoGUI(mc.fontRenderer, getMC().renderEngine, stack, x, y);
GuiScreen.itemRender.renderItemOverlayIntoGUI(mc.fontRenderer, getMC().renderEngine, stack, x, y, "");
s = StringUtils.getFormatedStackSize(stack.stackSize, false);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_DEPTH_TEST);
GuiScreen.itemRender.zLevel = 0.0F;
// Draw number
mc.fontRenderer.drawStringWithShadow(s, x + 17 - mc.fontRenderer.getStringWidth(s), y + 9, 16777215);
ordererPosition.put(new Pair<>(x, y), order);
x += 18;
if (x > left + getFinalWidth() - 18) {
x = left + 6;
y += 18;
}
}
} else if (isExtending()) {
List<IOrderInfoProvider> list = entry.getValue().getValue2().getList();
calculateSize(left, top, list);
}
if (!isFullyExtended() && localControlledButton != null) {
buttonList.remove(localControlledButton);
localControlledButton = null;
orderIdForButton = -1;
}
RenderHelper.disableStandardItemLighting();
}
private void calculateSize(int left, int top, List<IOrderInfoProvider> list) {
int x = left + 6;
int y = 50;
int line = 1;
width = 4;
for (IOrderInfoProvider order : list) {
ItemStack stack = order.getAsDisplayItem().makeNormalStack();
if (stack.stackSize <= 0) {
continue;
}
if (line++ % (4 * 4) == 0) {
width++;
}
}
for (IOrderInfoProvider order : list) {
ItemStack stack = order.getAsDisplayItem().makeNormalStack();
if (stack.stackSize <= 0) {
continue;
}
x += 18;
if (x > left + getFinalWidth() - 18) {
x = left + 6;
y += 18;
}
}
height = y;
if (x == left + 6) {
height -= 18;
}
}
@Override
public int getFinalWidth() {
return Math.max(85, width * 18 + 8);
}
@Override
public int getFinalHeight() {
return Math.max(50, height);
}
@Override
public void handleMouseOverAt(int xPos, int yPos) {
if (isFullyExtended()) {
ordererPosition.keySet().stream().filter(key -> xPos >= key.getValue1() && xPos < key.getValue1() + 18 && yPos >= key.getValue2() && yPos < key.getValue2() + 18).forEach(key -> {
IOrderInfoProvider order = ordererPosition.get(key);
List<String> list = new ArrayList<>();
list.add(ChatColor.BLUE + "Request Type: " + ChatColor.YELLOW + order.getType().name());
list.add(ChatColor.BLUE + "Send to Router ID: " + ChatColor.YELLOW + order.getRouterId());
GuiGraphics.displayItemToolTip(new Object[] { xPos - 10, yPos, order.getAsDisplayItem().makeNormalStack(), true, list }, zLevel, guiLeft, guiTop, false);
});
} else {
List<String> list = new ArrayList<>();
list.add(ChatColor.BLUE + "Request ID: " + ChatColor.YELLOW + entry.getKey());
GuiGraphics.displayItemToolTip(new Object[] { xPos - 10, yPos, entry.getValue().getValue1().getDisplayItem().makeNormalStack(), true, list }, zLevel, guiLeft, guiTop, false);
}
}
});
}
}
super.renderExtentions();
}
use of net.minecraft.client.gui.GuiButton in project LogisticsPipes by RS485.
the class GuiRequestTable method actionPerformed.
@Override
protected void actionPerformed(GuiButton guibutton) {
if (guibutton.id == 0 && itemDisplay.getSelectedItem() != null) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(RequestSubmitPacket.class).setDimension(dimension).setStack(itemDisplay.getSelectedItem().getItem().makeStack(itemDisplay.getRequestCount())).setTilePos(_table.container));
refreshItems();
} else if (guibutton.id == 1) {
itemDisplay.nextPage();
} else if (guibutton.id == 2) {
itemDisplay.prevPage();
} else if (guibutton.id == 3) {
refreshItems();
} else if (guibutton.id == 10) {
itemDisplay.sub(3);
} else if (guibutton.id == 4) {
itemDisplay.sub(2);
} else if (guibutton.id == 5) {
itemDisplay.sub(1);
} else if (guibutton.id == 6) {
itemDisplay.add(1);
} else if (guibutton.id == 7) {
itemDisplay.add(2);
} else if (guibutton.id == 11) {
itemDisplay.add(3);
} else if (guibutton.id == 8) {
GuiCheckBox button = (GuiCheckBox) guibutton;
Configs.DISPLAY_POPUP = button.change();
Configs.savePopupState();
} else if (guibutton.id == 13 && itemDisplay.getSelectedItem() != null) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(RequestComponentPacket.class).setDimension(dimension).setStack(itemDisplay.getSelectedItem().getItem().makeStack(itemDisplay.getRequestCount())).setTilePos(_table.container));
} else if (guibutton.id == 9) {
String displayString = "";
switch(displayOptions) {
case Both:
displayOptions = DisplayOptions.CraftOnly;
displayString = "Craft";
break;
case CraftOnly:
displayOptions = DisplayOptions.SupplyOnly;
displayString = "Supply";
break;
case SupplyOnly:
displayOptions = DisplayOptions.Both;
displayString = "Both";
break;
}
guibutton.displayString = displayString;
refreshItems();
} else if (guibutton.id == 14) {
requestMatrix(1);
} else if (guibutton.id == 15) {
requestMatrix(10);
} else if (guibutton.id == 16) {
requestMatrix(64);
} else if (guibutton.id == 17) {
//hideShowButton
// moveWhileSmall
showRequest = !showRequest;
if (showRequest) {
xSize = startXSize;
guiLeft = startLeft;
for (GuiButton button : moveWhileSmall) {
button.xPosition -= 105;
}
hideShowButton.xPosition -= 90;
} else {
xSize = startXSize - 210;
guiLeft = startLeft + 105;
for (GuiButton button : moveWhileSmall) {
button.xPosition += 105;
}
hideShowButton.xPosition += 90;
}
hideShowButton.displayString = showRequest ? "Hide" : "Show";
for (GuiButton button : hideWhileSmall) {
button.visible = showRequest;
}
Macrobutton.visible = showRequest;
orderIdForButton = -1;
} else if (guibutton.id == 100) {
extentionControllerLeft.retract();
setSubGui(new RequestMonitorPopup(_table, orderIdForButton));
} else if (guibutton.id == 18) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(DiskRequestConectPacket.class).setPosX(_table.getX()).setPosY(_table.getY()).setPosZ(_table.getZ()));
setSubGui(new GuiDiskPopup(this));
} else if (guibutton.id == 20) {
itemDisplay.cycle();
} else if (guibutton.id == 21 || guibutton.id == 22) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(CraftingCycleRecipe.class).setDown(guibutton.id == 22).setTilePos(_table.container));
} else if (guibutton.id == 30) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(ClearCraftingGridPacket.class).setTilePos(_table.container));
_table.cacheRecipe();
} else if (guibutton.id == 31) {
ArrayList<ItemIdentifierStack> list = new ArrayList<>(9);
list.addAll(_table.matrix.getItemsAndCount().entrySet().stream().map(e -> e.getKey().makeStack(e.getValue())).collect(Collectors.toList()));
for (Pair<ItemStack, Integer> entry : _table.inv) {
if (entry.getValue1() == null)
continue;
int size = entry.getValue1().stackSize;
ItemIdentifier ident = ItemIdentifier.get(entry.getValue1());
for (ItemIdentifierStack stack : list) {
if (!stack.getItem().equals(ident))
continue;
int toUse = Math.min(size, stack.getStackSize());
stack.lowerStackSize(toUse);
size -= toUse;
}
}
Iterator<ItemIdentifierStack> iter = list.iterator();
while (iter.hasNext()) {
if (iter.next().getStackSize() <= 0) {
iter.remove();
}
}
if (!list.isEmpty()) {
MainProxy.sendPacketToServer(PacketHandler.getPacket(RequestSubmitListPacket.class).setIdentList(list).setTilePos(_table.container));
refreshItems();
}
}
}
Aggregations