- 76
- 3
- 5
Не могу нормально обновлять переменные в гуишке, пытался сделать так, но работает коряво, обновляет каждое 2 нажатие, как можно сделать по другому?
Сам гуи
Java:
Minecraft.getInstance().setScreen(new UpgradeStatsGui(new TranslationTextComponent(StalinRpg.MOD_ID + ".stats_hub_upgrade")));
Сам гуи
Java:
public static void addToStr(PlayerEntity playerIn) {
IBaseExperienceCapability expCap = IGenericCapability.getUnwrappedCapability(playerIn,
PlayerExperienceCapabilityProvider.LEVEL_CAP);
float currentPoints = expCap.getPoints();
if (!(currentPoints <= 0)) {
// Minecraft.getInstance().setScreen(new UpgradeStatsGui(new TranslationTextComponent(StalinRpg.MOD_ID + ".stats_hub_upgrade")));
float maxHp = playerIn.getMaxHealth();
UUID uuid = playerIn.getUUID();
Networking.INSTANCE.sendToServer(new SendPackAddStrength(maxHp, 1, uuid));
}
}
@Override
protected void init() {
buttons.clear();
buttons.add(addStrength = new ImageButton(this.width / 2 - 70, 89, 9, 9, 0, 0, 0, BUTTON_ADD_STATS, (button) -> {
addToStr(player);
}));
this.addButton(addStrength);
super.init();
}
@Override
public void render(@Nonnull MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(matrixStack);
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
this.minecraft.getTextureManager().bind(STATS_HUB_UPGRADE);
int textureWidth = 256;
int textureHeight = 156;
blit(matrixStack, this.width / 2 - 130, 10, 0, 0, textureWidth, textureHeight);
this.addStrength.render(matrixStack, mouseX, mouseY, partialTicks);
fr.draw(matrixStack, current_strength, this.width / 2 - 115, 90, 0xd50000);
fr.draw(matrixStack, current_points, this.width / 2 - 79.5F, 33 , 0xd50000);
fr.draw(matrixStack, current_betterPoints, this.width / 2 + 79.5F, 33, 0xd50000);
super.render(matrixStack, mouseX, mouseY, partialTicks);
}