mirror of
https://github.com/GTNewHorizons/NotEnoughItems.git
synced 2026-11-08 12:34:46 +00:00
* Update build script * Update build script to import fix for shadow in dev and sources artifacts * Update fixed build script to shadow csv dependency in dev jar as well * Moved jitpack * Move new files
208 lines
7.2 KiB
Java
208 lines
7.2 KiB
Java
package codechicken.nei;
|
|
|
|
import codechicken.nei.api.LayoutStyle;
|
|
import codechicken.nei.drawable.DrawableBuilder;
|
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
import static codechicken.lib.gui.GuiDraw.drawStringC;
|
|
import static codechicken.nei.LayoutManager.bookmarkPanel;
|
|
import static codechicken.nei.LayoutManager.bookmarksButton;
|
|
import static codechicken.nei.LayoutManager.delete;
|
|
import static codechicken.nei.LayoutManager.dropDown;
|
|
import static codechicken.nei.LayoutManager.gamemode;
|
|
import static codechicken.nei.LayoutManager.heal;
|
|
import static codechicken.nei.LayoutManager.itemPanel;
|
|
import static codechicken.nei.LayoutManager.itemPresenceOverlays;
|
|
import static codechicken.nei.LayoutManager.less;
|
|
import static codechicken.nei.LayoutManager.magnet;
|
|
import static codechicken.nei.LayoutManager.more;
|
|
import static codechicken.nei.LayoutManager.options;
|
|
import static codechicken.nei.LayoutManager.quantity;
|
|
import static codechicken.nei.LayoutManager.rain;
|
|
import static codechicken.nei.LayoutManager.searchField;
|
|
import static codechicken.nei.LayoutManager.timeButtons;
|
|
import static codechicken.nei.NEIClientConfig.canPerformAction;
|
|
import static codechicken.nei.NEIClientConfig.disabledActions;
|
|
import static codechicken.nei.NEIClientConfig.getMagnetMode;
|
|
import static codechicken.nei.NEIClientConfig.isEnabled;
|
|
|
|
public class LayoutStyleMinecraft extends LayoutStyle
|
|
{
|
|
public int buttonCount;
|
|
public int leftSize;
|
|
public int numButtons;
|
|
|
|
@Override
|
|
public String getName() {
|
|
return "minecraft";
|
|
}
|
|
|
|
@Override
|
|
public void init() {
|
|
delete.icon = new Image(144, 12, 12, 12);
|
|
rain.icon = new Image(120, 12, 12, 12);
|
|
gamemode.icons[0] = new Image(132, 12, 12, 12);
|
|
gamemode.icons[1] = new Image(156, 12, 12, 12);
|
|
gamemode.icons[2] = new Image(168, 12, 12, 12);
|
|
magnet.icon = new Image(180, 24, 12, 12);
|
|
timeButtons[0].icon = new Image(132, 24, 12, 12);
|
|
timeButtons[1].icon = new Image(120, 24, 12, 12);
|
|
timeButtons[2].icon = new Image(144, 24, 12, 12);
|
|
timeButtons[3].icon = new Image(156, 24, 12, 12);
|
|
heal.icon = new Image(168, 24, 12, 12);
|
|
itemPresenceOverlays[0] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 0, 40, 8, 8).build();
|
|
itemPresenceOverlays[1] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 8, 40, 8, 8).build();
|
|
}
|
|
|
|
@Override
|
|
public void reset() {
|
|
buttonCount = 0;
|
|
}
|
|
|
|
@Override
|
|
public void layout(GuiContainer gui, VisiblityData visiblity) {
|
|
reset();
|
|
|
|
leftSize = ItemPanels.bookmarkPanel.getWidth(gui);
|
|
numButtons = Math.max(leftSize / 18, 1);
|
|
|
|
delete.state = 0x4;
|
|
if (NEIController.getDeleteMode())
|
|
delete.state |= 1;
|
|
else if (!visiblity.enableDeleteMode)
|
|
delete.state |= 2;
|
|
|
|
rain.state = 0x4;
|
|
if (disabledActions.contains("rain"))
|
|
rain.state |= 2;
|
|
else if (NEIClientUtils.isRaining())
|
|
rain.state |= 1;
|
|
|
|
gamemode.state = 0x4;
|
|
if (NEIClientUtils.getGamemode() != 0) {
|
|
gamemode.state |= 0x1;
|
|
gamemode.index = NEIClientUtils.getGamemode() - 1;
|
|
} else {
|
|
if (NEIClientUtils.isValidGamemode("creative"))
|
|
gamemode.index = 0;
|
|
else if (NEIClientUtils.isValidGamemode("creative+"))
|
|
gamemode.index = 1;
|
|
else if (NEIClientUtils.isValidGamemode("adventure"))
|
|
gamemode.index = 2;
|
|
}
|
|
bookmarksButton.index = NEIClientConfig.isBookmarkPanelHidden() ? 0 : 1;
|
|
options.index = NEIClientConfig.getCheatMode();
|
|
|
|
magnet.state = 0x4 | (getMagnetMode() ? 1 : 0);
|
|
|
|
if (canPerformAction("delete"))
|
|
layoutButton(delete);
|
|
if (canPerformAction("rain"))
|
|
layoutButton(rain);
|
|
if (NEIClientUtils.isValidGamemode("creative") ||
|
|
NEIClientUtils.isValidGamemode("creative+") ||
|
|
NEIClientUtils.isValidGamemode("adventure"))
|
|
layoutButton(gamemode);
|
|
if (canPerformAction("magnet"))
|
|
layoutButton(magnet);
|
|
if (canPerformAction("time")) {
|
|
for (int i = 0; i < 4; i++) {
|
|
timeButtons[i].state = disabledActions.contains(NEIActions.timeZones[i]) ? 2 : 0;
|
|
layoutButton(timeButtons[i]);
|
|
}
|
|
}
|
|
if (canPerformAction("heal"))
|
|
layoutButton(heal);
|
|
|
|
itemPanel.resize(gui);
|
|
bookmarkPanel.resize(gui);
|
|
|
|
more.w = more.h = less.w = less.h = 16;
|
|
less.x = itemPanel.prev.x;
|
|
more.x = gui.width - less.w - 2;
|
|
more.y = less.y = gui.height - more.h - 2;
|
|
|
|
quantity.x = less.x + less.w + 2;
|
|
quantity.y = less.y;
|
|
quantity.w = more.x - quantity.x - 2;
|
|
quantity.h = less.h;
|
|
|
|
options.x = isEnabled() ? 0 : 6;
|
|
options.y = isEnabled() ? gui.height - 22 : gui.height - 28;
|
|
options.w = 22;
|
|
options.h = 22;
|
|
|
|
bookmarksButton.x = 24 + (isEnabled() ? 0 : 6);
|
|
bookmarksButton.y = isEnabled() ? gui.height - 22 : gui.height - 28;
|
|
bookmarksButton.w = 22;
|
|
bookmarksButton.h = 22;
|
|
|
|
searchField.y = gui.height - searchField.h - 2;
|
|
|
|
dropDown.x = Math.min(numButtons, buttonCount) * 20 + 3;
|
|
dropDown.h = 20;
|
|
dropDown.w = itemPanel.x - dropDown.x - 3;
|
|
|
|
searchField.h = 20;
|
|
searchField.w = 150;
|
|
searchField.x = (gui.width - searchField.w) / 2;
|
|
|
|
if (!visiblity.showItemSection) {
|
|
searchField.setFocus(false);
|
|
}
|
|
|
|
}
|
|
|
|
public void layoutButton(Button button) {
|
|
button.x = 2 + (buttonCount % numButtons) * 20;
|
|
button.y = (buttonCount / numButtons) * 18;
|
|
|
|
button.h = 17;
|
|
button.w = button.contentWidth() + 6;
|
|
|
|
buttonCount++;
|
|
}
|
|
|
|
@Override
|
|
public void drawButton(Button b, int mousex, int mousey) {
|
|
GL11.glDisable(GL11.GL_LIGHTING);
|
|
GL11.glColor4f(1, 1, 1, 1);
|
|
|
|
int tex;
|
|
if ((b.state & 0x3) == 2)
|
|
tex = 0;
|
|
else if ((b.state & 0x4) == 0 && b.contains(mousex, mousey) ||//not a state button and mouseover
|
|
(b.state & 0x3) == 1)//state active
|
|
tex = 2;
|
|
else
|
|
tex = 1;
|
|
LayoutManager.drawButtonBackground(b.x, b.y, b.w, b.h, true, tex);
|
|
|
|
Image icon = b.getRenderIcon();
|
|
if (icon == null) {
|
|
int colour = tex == 2 ? 0xffffa0 : tex == 0 ? 0x601010 : 0xe0e0e0;
|
|
|
|
drawStringC(b.getRenderLabel(), b.x + b.w / 2, b.y + (b.h - 8) / 2, colour);
|
|
} else {
|
|
GL11.glColor4f(1, 1, 1, 1);
|
|
|
|
final int iconX = b.x + (b.w - icon.width) / 2;
|
|
final int iconY = b.y + (b.h - icon.height) / 2;
|
|
|
|
LayoutManager.drawIcon(iconX, iconY, icon);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void drawSubsetTag(String text, int x, int y, int w, int h, int state, boolean mouseover) {
|
|
if(state == 1)
|
|
GL11.glColor4f(0.65F, 0.65F, 0.65F, 1.0F);
|
|
else
|
|
GL11.glColor4f(1, 1, 1, 1);
|
|
LayoutManager.drawButtonBackground(x, y, w, h, false, state == 0 ? 0 : 1);
|
|
if(text != null)
|
|
drawStringC(text, x, y, w, h, state == 2 ? 0xFFE0E0E0 : 0xFFA0A0A0);
|
|
}
|
|
}
|