Squander Posted January 6, 2023 Posted January 6, 2023 Well I created an EnergyWidget in init, in the constructor calls this.menu.getEnergy(), this.menu.getMaxEnergy(), but I don't know why they return 0 all the time, but when I call these methods in renderBg method then they return correct values. @Override protected void init() { super.init(); this.xPos = (width - imageWidth) / 2; this.yPos = (height - imageHeight) / 2; this.addRenderableWidget(new EnergyWidget(this, this.menu.getEnergy(), this.menu.getMaxEnergy(), WIDGETS, this.xPos + 125, this.yPos + 20)); } @Override protected void renderBg(PoseStack poseStack, float pPartialTick, int pMouseX, int pMouseY) { ClientHelper.renderStuff(TEXTURE); this.blit(poseStack, this.xPos, this.yPos, 0, 0, imageWidth, imageHeight); if(this.menu.isWorking()){ int progress = this.menu.getFuelProgress(); this.blit(poseStack, this.xPos + 81, this.yPos + 31 + 12 - progress, 176, 12 - progress, 14, progress + 1); } } Quote
warjort Posted January 6, 2023 Posted January 6, 2023 What are the values in init() ? Maybe your widget should accept a function reference this.menu::getEnergy so it can always retrieve the live data? Quote Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
Squander Posted January 6, 2023 Author Posted January 6, 2023 7 minutes ago, warjort said: What are the values in init() ? Maybe your widget should accept a function reference this.menu::getEnergy so it can always retrieve the live data? Values in init always returning 0, this only applies to menu references Quote
warjort Posted January 6, 2023 Posted January 6, 2023 My question was rhetorical. What values do you expect your widget to display if you only give it the values once in init ? Quote Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
Squander Posted January 6, 2023 Author Posted January 6, 2023 34 minutes ago, warjort said: My question was rhetorical. What values do you expect your widget to display if you only give it the values once in init ? So what should I do to get the current value Quote
warjort Posted January 6, 2023 Posted January 6, 2023 54 minutes ago, warjort said: Maybe your widget should accept a function reference this.menu::getEnergy so it can always retrieve the live data? i.e. have you widget take a Supplier<Integer> instead of an integer. Quote Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
Squander Posted January 6, 2023 Author Posted January 6, 2023 8 minutes ago, warjort said: i.e. have you widget take a Supplier<Integer> instead of an integer. Oh, ok Quote
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.