Jump to content

FireTamer81

Members
  • Posts

    46
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

FireTamer81's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Uhhhh, weird shit happened again.... I had closed IntelliJ (I had done it multiple times before, but for some reason this time something happened), re-opened it and it was fixed..... Thanks for the answer though, I will do that and go from there if this ever happens again.
  2. I seriously don't know what happened. One night I closed my IDE (IntelliJ), and the next morning and opened it and tried getting to work only to find it was saying I was missing repositories? I haven't messed with anything gradle on my mod for weeks now, I tried deleted the .gradle cache in my personal folders, etc. This is what I get when I run with stacktrace, but I have no idea what any of this means: https://pastebin.com/WXXwHKvw I included the entire thing, because I don't know what's important and what's not.
  3. I now feel like a total idiot, and I am so sorry for the trouble (also the forge suggestion, I was under the impression that because you couldn't figure out the issue that it wasn't on my end.... when it totally was). Turns out minecraft does have a layering system thingy.... That highlighted float was "100.0f" in the repo you looked through.... I thought I would just change values around as a last ditch effort and changing that one worked.... So yea, sorry mate.
  4. I have no idea how this might work, I am honestly not to that level of coding yet (nor my understanding of forge), but I have recently attempted making a GUI with movable components and found that rendered string (and possibly other things I hadn't found yet) rendered behind the movable GUI components. I had asked on modder support, but even diesieben07 wasn't able to figure out what was going on after a short local test of my mod (please ignore my lack of experience with Github): So, perhaps for the newer versions of Forge, some edit to the vanilla GUI stuff to allow layer-based rendering, or just something to fix the issue in the linked post.
  5. That's perfectly fine mate.... I guess I'll just keep looking for the answer then. Thank you for your time at least
  6. https://github.com/FireTamer81/DragonBlockBeyond/blob/7e69f0bfd01cf7bc4d9cdff6c22e6b37a5d8a362/src/main/java/io/github/firetamer/dbb/modules/gui_testing/player_screen/children/PlayerStatGui.java#L145
  7. Oh, let me update it then It should be updated
  8. Right, sorry. Just imagine it wasn't, because the image I posted was from when it was.
  9. Boosting. I don't quite know if I did something wrong or it's just no one has an answer.
  10. Oh, uh, sorry mate. I didn't know that was a thing. Uh here then: Where I draw the string the normal way, but it resulted in the image above. https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/player_screen/children/PlayerStatGui.java#L134 One of my attempts (that I actually saved) on drawing GUI elements based on a z value: https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/test_screen/base_classes/BaseScreen.java#L72 https://github.com/FireTamer81/DragonBlockBeyond/blob/cc0f5559e37071d39e6a542cb463fc8029acef8c/src/main/java/io/github/firetamer/dbb/modules/gui_testing/test_screen/base_classes/BaseScreen.java#L50
  11. @Override public void render(MatrixStack stack, int p_230430_2_, int p_230430_3_, float p_230430_4_) { this.renderBG(stack); this.strengthButton.render(stack, p_230430_2_, p_230430_3_, p_230430_4_); ITextComponent strengthButtonText = new StringTextComponent("Hello, this is the Strength Button"); int strengthButtonTopLeftPosX = (int)(topLeftX + 10); int strengthButtonTopLeftPosY = (int)(topLeftY + 20); FontRenderer fontRenderer = this.mc.font; drawCenteredString(stack, fontRenderer, strengthButtonText, strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); //drawString(stack, fontRenderer, strengthButtonText, strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); //this.mc.font.draw(stack, "Hello All", strengthButtonTopLeftPosX, strengthButtonTopLeftPosY, 0xFFFFFF); super.render(stack, p_230430_2_, p_230430_3_, p_230430_4_); } private void renderBG(MatrixStack stack) { RenderSystem.pushMatrix(); RenderSystem.translatef(0.0f, 0.0f, 100.0f); this.mc.getTextureManager().bind(BACKGROUND_TEXTURE); RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.blit(stack, (int)(topLeftX), (int)(topLeftY), 0, 0, 236, 187); //Main Background RenderSystem.popMatrix(); } This is the first way I did it. I don't still have the other ways I tried it other than what's in the BaseScreen class here: protected void drawText(MatrixStack matrix, ITextComponent text, int x, int y, Color textColor, boolean shadow) { GL11.glPushMatrix(); GL11.glTranslatef(0, 0, zLevel + .5f); if (shadow) { mc.font.drawShadow(matrix, text, x, y, textColor.hashCode()); } else { mc.font.draw(matrix, text, x, y, textColor.hashCode()); } //Don't understand this bit or it's purpose //TextColor.WHITE.apply(); GL11.glPopMatrix(); } protected void drawCenteredText(MatrixStack matrix, ITextComponent text, int x, int y, int maxX, int maxY, Color textColor, boolean shadow) { int centerX = x + ((maxX - x) / 2) - (mc.font.width(text) / 2); int centerY = y + ((maxY - y) / 2) - (mc.font.lineHeight / 2); drawText(matrix, text, centerX, centerY, textColor, shadow); } @Override public void blit(MatrixStack pMatrixStack, int topLeftX, int topLeftY, int textureWidth, int textureHeight, int pUWidth, int pVHeight) { float f = 0.00390625F; float f1 = 0.00390625F; BufferBuilder bufferbuilder = Tessellator.getInstance().getBuilder(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder .vertex(x, y + height, this.zLevel) .uv(((float)textureWidth * f), ((float)(textureHeight + height) * f1)) .endVertex(); bufferbuilder .vertex(x + width, (y + height), this.zLevel) .uv(((float)(textureWidth + width) * f), ((float)(textureHeight + height) * f1)) .endVertex(); bufferbuilder .vertex(x + width, y, this.zLevel) .uv(((float)(textureWidth + width) * f), ((float)textureHeight * f1)) .endVertex(); bufferbuilder .vertex(x, y, this.zLevel) .uv(((float)textureWidth * f), ((float)textureHeight * f1)) .endVertex(); bufferbuilder.end(); RenderSystem.enableAlphaTest(); WorldVertexBufferUploader.end(bufferbuilder); }
  12. Strings have been the only thing I have come across that does it so far (I haven't gone much further since I hit this issue). I tried rendering them many ways. Directly in the GUI class render method, with the button constructor, etc. Strings always end up behind the GUI So, I went about trying to find a way to either move the string forward or move the GUI back.
  13. It also isn't a container or anything like that at the moment since I thought that would overcomplicate things while I am trying to get this one aspect to work right, it's just opened by a keybind.
  14. https://github.com/FireTamer81/DragonBlockBeyond/tree/main/src/main/java/io/github/firetamer/dbb/modules/gui_testing This is the link to my repo. The two packages within the one the link leads to were two separate tests I did, the "player_screen" package having the screen with movable components and the "test_screen" package being a general test (for the second I had made a GUI with it, but that class isn't in the repo since I had earlier deleted it). I had tried something with GL11 in the "BaseScreen" class in the second package, but that didn't work in any tests I did with it. A couple days ago I had also tried just recreating the whole Screen-FocusableScreen-AbstractGUI vanilla class stuff, taking out wasn't needed and editing what I thought would work, but a pal of mine said you can only make a GUI by extending the Screen class since there was a forge bit in there that was required or something. Don't have that anywhere since I hadn't updated the repo much during that test.
  15. At the moment I have a static GUI with some buttons and one that moves around when clicked and dragged. The one that moves is meant to display a certain set of information, but everyway that I have tried to draw strings among other things has resulted in them rendering behind the moving element. For the past week I have been trying to find a way to properly control what objects render in front of/behind other objects to no avail. I have also been trying to look at sources like FTB Lib for how they did, quote "layer-based GUI components" (I think that's the exact words) and Mekanism with their movable GUI elements, but again they are both more complex than I am used to (I have only just started doing GUIs 9 days ago). If someone could either shed some light on how one of those two mods do their layer based GUIs, perhaps give a different source that is a bit more clear, or even just explain how you would do it (every ounce of code mumbo jumbo you feel like using, which I will then use the power of google to figure out)
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.