NathanPB Posted February 15, 2018 Posted February 15, 2018 Hello Everyone, I want to drawn a square around my hud (like this) but i fucking cant because Gui#drawVerticalLine / horizontalLine arent working as expected public void render(){ if(renderborders){ Integer color = Integer.parseInt("FF0000", 16); drawHorizontalLine(getX(), getX()+width, getY(), color); drawHorizontalLine(getX(), getX()+width, getY()+height, color); drawVerticalLine(getY(), getY()+height, getX(), color); drawVerticalLine(getY(), getY()+height, getX()+width, color); } } The render method are being invoked, I tested it using Intellij Idea debugger (or System.out.println) What am I doing wrong? thanks everyone Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 (edited) Maybe this may be of use to you (comes from my core but feel free to use it) /**draws a rounded bordered box * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param innerColor * @param outerColor * @author kevin (Sir_titi)*/ public void drawRoundedBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int innerColor,int outerColor){ drawRoundedFilledBox(centerToMousePosX, centerToMousePosY, height, boxLenght, innerColor); drawRoundedHollowBox(centerToMousePosX, centerToMousePosY, height, boxLenght, outerColor); } /**draws a hollow (border) * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param color * @author kevin (Sir_titi)*/ protected void drawRoundedHollowBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int color){ drawVerticalLine(centerToMousePosX-5, centerToMousePosY-1-4, centerToMousePosY-height+3, color);//left drawHorizontalLine(centerToMousePosX, centerToMousePosX+boxLenght-1, centerToMousePosY-height, color);//upper line drawVerticalLine(centerToMousePosX+4+boxLenght, centerToMousePosY-1-4, centerToMousePosY-height+3, color);//right drawHorizontalLine(centerToMousePosX, centerToMousePosX+boxLenght-1, centerToMousePosY-2, color);//lower line for (int i=0;i<4;i++){ drawRect(centerToMousePosX-i, centerToMousePosY-2-i, centerToMousePosX-1-i, centerToMousePosY-1-i, color);//lower left drawRect(centerToMousePosX+i+boxLenght, centerToMousePosY-2-i, centerToMousePosX+1+i+boxLenght, centerToMousePosY-1-i, color);//lower right drawRect(centerToMousePosX-i, centerToMousePosY-height+i, centerToMousePosX-1-i, centerToMousePosY+1-height+i, color);//upper left drawRect(centerToMousePosX+i+boxLenght, centerToMousePosY-height+i, centerToMousePosX+1+boxLenght+i, centerToMousePosY+1-height+i, color);//upper right } } /**draws a full rounded box * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param color * @author kevin (Sir_titi)*/ protected void drawRoundedFilledBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int color){ drawRect(centerToMousePosX, centerToMousePosY-2, centerToMousePosX+boxLenght, centerToMousePosY-height+1, color); for (int i=0;i<4;i++){ drawRect(centerToMousePosX-i, centerToMousePosY-2-i, centerToMousePosX-1-i, centerToMousePosY-height+1+i, color); drawRect(centerToMousePosX+boxLenght+i, centerToMousePosY-2-i, centerToMousePosX+boxLenght+1+i, centerToMousePosY-height+1+i,color); } } /**draws a squared box (+border) with default height of 14 pixels<br> * use {@linkplain GuiUtils#drawSquaredBox(int , int, int, int, int, int)} for custom height * @param CenterToMousePosX * @param CenterToMousePosY * @param BoxLenght * @param InnerColor * @param OuterColor * @author kevin (Sir_titi)*/ public void drawSquaredBox(int CenterToMousePosX,int CenterToMousePosY,int BoxLenght,int InnerColor,int OuterColor){ drawSquaredBox(CenterToMousePosX, CenterToMousePosY, 14, BoxLenght, InnerColor, OuterColor); } /**draws a squared box with border * @param CenterToMousePosX * @param CenterToMousePosY * @param height * @param BoxLenght * @param InnerColor * @param OuterColor * @author kevin (Sir_titi)*/ public void drawSquaredBox(int CenterToMousePosX,int CenterToMousePosY,int height,int BoxLenght,int InnerColor,int OuterColor){ drawRect(CenterToMousePosX, CenterToMousePosY-2, CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height+1, InnerColor); drawHorizontalLine(CenterToMousePosX-1, CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height, OuterColor); drawHorizontalLine(CenterToMousePosX, CenterToMousePosX+BoxLenght, CenterToMousePosY-2, OuterColor); drawVerticalLine(CenterToMousePosX-1, CenterToMousePosY-height, CenterToMousePosY-1, OuterColor); drawVerticalLine(CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height, CenterToMousePosY-1, OuterColor); } EDIT: to explain some more the "drawVerticalLine(xPos,minY,maxY,color)" And the "drawHorizontalLine(minX,maxX,yPos,color)" Edited February 15, 2018 by sir_titi Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 15, 2018 Author Posted February 15, 2018 10 minutes ago, sir_titi said: A GUI is 2D so you shouldn't have X,Y,Z only X,Y maybe this may of use to you (comes from my core but feel free to use it) /**draws a rounded bordered box * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param innerColor * @param outerColor * @author kevin (Sir_titi)*/ public void drawRoundedBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int innerColor,int outerColor){ drawRoundedFilledBox(centerToMousePosX, centerToMousePosY, height, boxLenght, innerColor); drawRoundedHollowBox(centerToMousePosX, centerToMousePosY, height, boxLenght, outerColor); } /**draws a hollow (border) * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param color * @author kevin (Sir_titi)*/ protected void drawRoundedHollowBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int color){ drawVerticalLine(centerToMousePosX-5, centerToMousePosY-1-4, centerToMousePosY-height+3, color);//left drawHorizontalLine(centerToMousePosX, centerToMousePosX+boxLenght-1, centerToMousePosY-height, color);//upper line drawVerticalLine(centerToMousePosX+4+boxLenght, centerToMousePosY-1-4, centerToMousePosY-height+3, color);//right drawHorizontalLine(centerToMousePosX, centerToMousePosX+boxLenght-1, centerToMousePosY-2, color);//lower line for (int i=0;i<4;i++){ drawRect(centerToMousePosX-i, centerToMousePosY-2-i, centerToMousePosX-1-i, centerToMousePosY-1-i, color);//lower left drawRect(centerToMousePosX+i+boxLenght, centerToMousePosY-2-i, centerToMousePosX+1+i+boxLenght, centerToMousePosY-1-i, color);//lower right drawRect(centerToMousePosX-i, centerToMousePosY-height+i, centerToMousePosX-1-i, centerToMousePosY+1-height+i, color);//upper left drawRect(centerToMousePosX+i+boxLenght, centerToMousePosY-height+i, centerToMousePosX+1+boxLenght+i, centerToMousePosY+1-height+i, color);//upper right } } /**draws a full rounded box * @param centerToMousePosX * @param centerToMousePosY * @param height * @param boxLenght * @param color * @author kevin (Sir_titi)*/ protected void drawRoundedFilledBox(int centerToMousePosX,int centerToMousePosY,int height,int boxLenght,int color){ drawRect(centerToMousePosX, centerToMousePosY-2, centerToMousePosX+boxLenght, centerToMousePosY-height+1, color); for (int i=0;i<4;i++){ drawRect(centerToMousePosX-i, centerToMousePosY-2-i, centerToMousePosX-1-i, centerToMousePosY-height+1+i, color); drawRect(centerToMousePosX+boxLenght+i, centerToMousePosY-2-i, centerToMousePosX+boxLenght+1+i, centerToMousePosY-height+1+i,color); } } /**draws a squared box (+border) with default height of 14 pixels<br> * use {@linkplain GuiUtils#drawSquaredBox(int , int, int, int, int, int)} for custom height * @param CenterToMousePosX * @param CenterToMousePosY * @param BoxLenght * @param InnerColor * @param OuterColor * @author kevin (Sir_titi)*/ public void drawSquaredBox(int CenterToMousePosX,int CenterToMousePosY,int BoxLenght,int InnerColor,int OuterColor){ drawSquaredBox(CenterToMousePosX, CenterToMousePosY, 14, BoxLenght, InnerColor, OuterColor); } /**draws a squared box with border * @param CenterToMousePosX * @param CenterToMousePosY * @param height * @param BoxLenght * @param InnerColor * @param OuterColor * @author kevin (Sir_titi)*/ public void drawSquaredBox(int CenterToMousePosX,int CenterToMousePosY,int height,int BoxLenght,int InnerColor,int OuterColor){ drawRect(CenterToMousePosX, CenterToMousePosY-2, CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height+1, InnerColor); drawHorizontalLine(CenterToMousePosX-1, CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height, OuterColor); drawHorizontalLine(CenterToMousePosX, CenterToMousePosX+BoxLenght, CenterToMousePosY-2, OuterColor); drawVerticalLine(CenterToMousePosX-1, CenterToMousePosY-height, CenterToMousePosY-1, OuterColor); drawVerticalLine(CenterToMousePosX+BoxLenght+1, CenterToMousePosY-height, CenterToMousePosY-1, OuterColor); } dont works ;-; Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 then show me the GUI code, cuss it sure works i use it :s. Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 15, 2018 Author Posted February 15, 2018 (edited) 6 minutes ago, sir_titi said: then show me the GUI code, cuss it sure works i use it :s. https://github.com/NathanPB/Mysticis/blob/master/src/main/java/cf/nathanpb/mysticis/hud/elements/HudElement.java#L30 Edited February 15, 2018 by NathanPB Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 well i extend the Gui rather than doing what you are doing Why do you do it this way if i may ask? Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 15, 2018 Author Posted February 15, 2018 1 minute ago, sir_titi said: well i extend the Gui rather than doing what you are doing Why do you do it this way if i may ask? well, i dont know exactly. I made this way because I want to make all my huds "dragable"https://i.imgur.com/rtjRkQ0.gifv Think its the best way to do this, but probably ill rewrite it all Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 1 minute ago, NathanPB said: well, i dont know exactly. I made this way because I want to make all my huds "dragable"https://i.imgur.com/rtjRkQ0.gifv Think its the best way to do this, but probably ill rewrite it all ah ok :p. And to be clear it's doesn't render anything (border)? Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 15, 2018 Author Posted February 15, 2018 Just now, sir_titi said: ah ok :p. And to be clear it's doesn't render anything (border)? nothing Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 and the method does get called yes? cuss that is pretty weird wait a sec i'll take a look at my GUI's Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 15, 2018 Author Posted February 15, 2018 the method is being called, im sure Quote
sir_titi Posted February 15, 2018 Posted February 15, 2018 hmmm, this is really weird :s. I'm afraid i might not be able to help you here, dammit. Quote Always looking for new challenges, and happy to help the people where ever I can
sir_titi Posted February 15, 2018 Posted February 15, 2018 (edited) Is data synced to server? because i have noticed you set the position but on server from Client :s. This can not work. Oh sorry my bad not correct:p. Edited February 15, 2018 by sir_titi Quote Always looking for new challenges, and happy to help the people where ever I can
NathanPB Posted February 16, 2018 Author Posted February 16, 2018 1 hour ago, sir_titi said: Is data synced to server? because i have noticed you set the position but on server from Client :s. This can not work. Oh sorry my bad not correct:p. Im not sure about it? How do I check? Quote System.out.println(FMLCommonHandler.instance().getEffectiveSide()); ? Quote
NathanPB Posted February 16, 2018 Author Posted February 16, 2018 I understood your question. Im synchronizing the data using packets, its all ok Quote
sir_titi Posted February 16, 2018 Posted February 16, 2018 Hah yea, my bad :p. Nevertheless your issue is weird man :s, cuss your "text" is rendered properly, but the "drawing" doesn't. Quote Always looking for new challenges, and happy to help the people where ever I can
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.