Skip to content

Commit

Permalink
feat: improved scrolling list, add screen input improvements, close o…
Browse files Browse the repository at this point in the history
…n open gui key being typed again
  • Loading branch information
MichaelHillcox committed Feb 15, 2021
1 parent 1fdcf52 commit 935d974
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 14 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -2,7 +2,7 @@
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx6G

mod_version=2.6.1
mod_version=2.7.0
game_version=1.16.5

# Forge
Expand Down
20 changes: 15 additions & 5 deletions src/main/java/pro/mikey/xray/gui/GuiSelectionScreen.java
Expand Up @@ -12,6 +12,7 @@
import pro.mikey.xray.gui.utils.GuiBase;
import pro.mikey.xray.gui.utils.ScrollingList;
import pro.mikey.xray.gui.utils.SupportButton;
import pro.mikey.xray.keybinding.KeyBindings;
import pro.mikey.xray.store.BlockStore;
import pro.mikey.xray.utils.BlockData;
import pro.mikey.xray.xray.Controller;
Expand Down Expand Up @@ -152,6 +153,15 @@ public void init() {
}));
}

@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
if (!search.isFocused() && keyCode == KeyBindings.toggleGui.getKeyBinding().getKey().getKeyCode()) {
this.closeScreen();
return true;
}
return super.keyPressed(keyCode, scanCode, modifiers);
}

private void updateSearch() {
if (lastSearch.equals(search.getText()))
return;
Expand Down Expand Up @@ -267,11 +277,11 @@ public void render(MatrixStack stack, int entryIdx, int top, int left, int entry

FontRenderer font = Minecraft.getInstance().fontRenderer;

font.drawString(stack, blockData.getEntryName(), left + 40, top + 7, 0xFFFFFF);
font.drawString(stack, blockData.isDrawing() ? "Enabled" : "Disabled", left + 40, top + 17, blockData.isDrawing() ? Color.GREEN.getRGB() : Color.RED.getRGB());
font.drawString(stack, blockData.getEntryName(), left + 35, top + 7, 0xFFFFFF);
font.drawString(stack, blockData.isDrawing() ? "Enabled" : "Disabled", left + 35, top + 17, blockData.isDrawing() ? Color.GREEN.getRGB() : Color.RED.getRGB());

RenderHelper.enableStandardItemLighting();
Minecraft.getInstance().getItemRenderer().renderItemAndEffectIntoGUI(blockData.getItemStack(), left + 15, top + 7);
Minecraft.getInstance().getItemRenderer().renderItemAndEffectIntoGUI(blockData.getItemStack(), left + 8, top + 7);
RenderHelper.disableStandardItemLighting();
if (mouseX > left && mouseX < (left + entryWidth) && mouseY > top && mouseY < (top + entryHeight) && mouseY < (this.parent.getTop() + this.parent.getHeight()) && mouseY > this.parent.getTop()) {
this.parent.parent.renderTooltip(
Expand All @@ -286,8 +296,8 @@ public void render(MatrixStack stack, int entryIdx, int top, int left, int entry
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
Minecraft.getInstance().getRenderManager().textureManager.bindTexture(GuiSelectionScreen.CIRCLE);
GuiBase.drawTexturedQuadFit((left + entryWidth) - 37, top + (entryHeight / 2f) - 9, 14, 14, new int[]{255, 255, 255}, 50f);
GuiBase.drawTexturedQuadFit((left + entryWidth) - 35, top + (entryHeight / 2f) - 7, 10, 10, blockData.getColor());
GuiBase.drawTexturedQuadFit(((left + entryWidth)) - 34, top + (entryHeight / 2f) - 9, 14, 14, blockData.getColor(), 50f);
GuiBase.drawTexturedQuadFit(((left + entryWidth)) - 32, top + (entryHeight / 2f) - 7, 10, 10, blockData.getColor());
RenderSystem.disableAlphaTest();
RenderSystem.disableBlend();
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/pro/mikey/xray/gui/manage/GuiAddBlock.java
Expand Up @@ -132,7 +132,7 @@ public boolean mouseClicked(double x, double y, int mouse) {

if (!oreName.isFocused() && oreNameCleared && Objects.equals(oreName.getText(), "")) {
oreNameCleared = false;
oreName.setText(I18n.format("xray.input.gui"));
oreName.setText(this.selectBlock.getTranslatedName().getString());
}

return super.mouseClicked(x, y, mouse);
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/pro/mikey/xray/gui/manage/GuiBlockList.java
Expand Up @@ -133,12 +133,12 @@ public void render(MatrixStack stack, int entryIdx, int top, int left, int entry
FontRenderer font = this.parent.minecraft.fontRenderer;

ResourceLocation resource = this.block.getItemStack().getItem().getRegistryName();
font.drawString(stack,this.block.getItemStack().getItem().getName().getString(), left + 40, top + 7, Color.WHITE.getRGB());
font.drawString(stack, resource != null ? resource.getNamespace() : "", left + 40, top + 17, Color.WHITE.getRGB());
font.drawString(stack,this.block.getItemStack().getItem().getName().getString(), left + 35, top + 7, Color.WHITE.getRGB());
font.drawString(stack, resource != null ? resource.getNamespace() : "", left + 35, top + 17, Color.WHITE.getRGB());
// @mcp: func_240652_a_ = unknown... Code recommendation

RenderHelper.enableStandardItemLighting();
this.parent.minecraft.getItemRenderer().renderItemAndEffectIntoGUI(this.block.getItemStack(), left + 15, top + 7);
this.parent.minecraft.getItemRenderer().renderItemAndEffectIntoGUI(this.block.getItemStack(), left + 8, top + 7);
RenderHelper.disableStandardItemLighting();
}

Expand Down
1 change: 1 addition & 0 deletions src/main/java/pro/mikey/xray/gui/manage/GuiEdit.java
Expand Up @@ -62,6 +62,7 @@ public void init() {

ClientController.blockStore.write(new ArrayList<>(Controller.getBlockStore().getStore().values()));
this.closeScreen();
getMinecraft().displayGuiScreen(new GuiSelectionScreen());
}));

addButton(redSlider = new Slider(getWidth() / 2 - 138, getHeight() / 2 + 7, 202, 20, new TranslationTextComponent("xray.color.red"), StringTextComponent.EMPTY, 0, 255, (block.getColor() >> 16 & 0xff), false, true, (e) -> {}, (e) -> {}));
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/pro/mikey/xray/gui/utils/GuiBase.java
Expand Up @@ -72,6 +72,10 @@ public static void drawTexturedQuadFit(double x, double y, double width, double
drawTexturedQuadFit(x, y, width, height, new int[]{color >> 16 & 0xff, color >> 8 & 0xff,color & 0xff }, 255f);
}

public static void drawTexturedQuadFit(double x, double y, double width, double height, int color, float alpha) {
drawTexturedQuadFit(x, y, width, height, new int[]{color >> 16 & 0xff, color >> 8 & 0xff,color & 0xff }, alpha);
}

@Override
public void render(MatrixStack stack, int x, int y, float partialTicks) {
renderBackground(stack);
Expand Down
11 changes: 7 additions & 4 deletions src/main/java/pro/mikey/xray/keybinding/KeyBindings.java
Expand Up @@ -17,9 +17,12 @@ public class KeyBindings {
private static final String CATEGORY = "X-Ray";
private static List<KeyActionable> keyBindings = new ArrayList<>();

public static KeyActionable toggleXRay = new KeyActionable(GLFW.GLFW_KEY_BACKSLASH, I18n.format("xray.config.toggle"), Controller::toggleXRay);
public static KeyActionable toggleGui = new KeyActionable(GLFW.GLFW_KEY_G, I18n.format("xray.config.open"), () -> Minecraft.getInstance().displayGuiScreen( new GuiSelectionScreen() ));

public static void setup() {
keyBindings.add(new KeyActionable(GLFW.GLFW_KEY_BACKSLASH, I18n.format("xray.config.toggle"), Controller::toggleXRay));
keyBindings.add(new KeyActionable(GLFW.GLFW_KEY_G, I18n.format("xray.config.open"), () -> Minecraft.getInstance().displayGuiScreen( new GuiSelectionScreen() )));
keyBindings.add(toggleXRay);
keyBindings.add(toggleGui);

keyBindings.forEach(e -> ClientRegistry.registerKeyBinding(e.getKeyBinding()));
}
Expand All @@ -37,7 +40,7 @@ public static void eventInput(TickEvent event)
});
}

private static final class KeyActionable {
public static final class KeyActionable {
private KeyBinding keyBinding;
private Runnable onPress;

Expand All @@ -46,7 +49,7 @@ private static final class KeyActionable {
this.keyBinding = new KeyBinding(description, key, CATEGORY);
}

KeyBinding getKeyBinding() {
public KeyBinding getKeyBinding() {
return keyBinding;
}
}
Expand Down

0 comments on commit 935d974

Please sign in to comment.