Skip to content
This repository has been archived by the owner on Oct 26, 2022. It is now read-only.

Commit

Permalink
- XP requirement on skill buttons is now red when the player doesn't …
Browse files Browse the repository at this point in the history
…have enough experience.

- A crash when dying with the warning message shown should be fixed.
  • Loading branch information
majikdev committed Jun 13, 2021
1 parent 0f2dd71 commit 5e6288b
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 31 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.3.1'
version = '1.3.2'
group = 'majik.rereskillable'
archivesBaseName = name + '-' + project.mcVersion

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ org.gradle.daemon=false

name = Rereskillable
author = majik
version = 1.3.1
version = 1.3.2
mcVersion = 1.16.5
57 changes: 31 additions & 26 deletions src/main/java/majik/rereskillable/client/Overlay.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.mojang.blaze3d.matrix.MatrixStack;
import majik.rereskillable.Configuration;
import majik.rereskillable.client.screen.SkillScreen;
import majik.rereskillable.common.capabilities.SkillCapability;
import majik.rereskillable.common.capabilities.SkillModel;
import majik.rereskillable.common.skills.Requirement;
import net.minecraft.client.Minecraft;
Expand All @@ -28,35 +29,39 @@ public void onRenderOverlay(RenderGameOverlayEvent.Post event)
if (event.getType() == RenderGameOverlayEvent.ElementType.EXPERIENCE && showTicks > 0)
{
Minecraft minecraft = Minecraft.getInstance();
MatrixStack stack = event.getMatrixStack();

minecraft.textureManager.bind(SkillScreen.RESOURCES);
GL11.glEnable(GL11.GL_BLEND);

int cx = event.getWindow().getGuiScaledWidth() / 2;
int cy = event.getWindow().getGuiScaledHeight() / 4;

blit(stack, cx - 71, cy - 4, 0, 194, 142, 40);

String message = new TranslationTextComponent("overlay.message").getString();
minecraft.font.drawShadow(stack, message, cx - minecraft.font.width(message) / 2, cy, 0xFF5555);

for (int i = 0; i < requirements.size(); i++)
if (minecraft.player.getCapability(SkillCapability.INSTANCE).isPresent())
{
Requirement requirement = requirements.get(i);
int maxLevel = Configuration.getMaxLevel();

int x = cx + i * 20 - requirements.size() * 10 + 2;
int y = cy + 15;
int u = Math.min(requirement.level, maxLevel - 1) / (maxLevel / 4) * 16 + 176;
int v = requirement.skill.index * 16 + 128;

MatrixStack stack = event.getMatrixStack();

minecraft.textureManager.bind(SkillScreen.RESOURCES);
blit(stack, x, y, u, v, 16, 16);

String level = Integer.toString(requirement.level);
boolean met = SkillModel.get().getSkillLevel(requirement.skill) >= requirement.level;
minecraft.font.drawShadow(stack, level, x + 17 - minecraft.font.width(level), y + 9, met ? 0x55FF55 : 0xFF5555);
GL11.glEnable(GL11.GL_BLEND);

int cx = event.getWindow().getGuiScaledWidth() / 2;
int cy = event.getWindow().getGuiScaledHeight() / 4;

blit(stack, cx - 71, cy - 4, 0, 194, 142, 40);

String message = new TranslationTextComponent("overlay.message").getString();
minecraft.font.drawShadow(stack, message, cx - minecraft.font.width(message) / 2, cy, 0xFF5555);

for (int i = 0; i < requirements.size(); i++)
{
Requirement requirement = requirements.get(i);
int maxLevel = Configuration.getMaxLevel();

int x = cx + i * 20 - requirements.size() * 10 + 2;
int y = cy + 15;
int u = Math.min(requirement.level, maxLevel - 1) / (maxLevel / 4) * 16 + 176;
int v = requirement.skill.index * 16 + 128;

minecraft.textureManager.bind(SkillScreen.RESOURCES);
blit(stack, x, y, u, v, 16, 16);

String level = Integer.toString(requirement.level);
boolean met = SkillModel.get().getSkillLevel(requirement.skill) >= requirement.level;
minecraft.font.drawShadow(stack, level, x + 17 - minecraft.font.width(level), y + 9, met ? 0x55FF55 : 0xFF5555);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@ public void render(MatrixStack stack, int mouseX, int mouseY, float partialTicks

if (isMouseOver(mouseX, mouseY) && level < maxLevel)
{
String cost = Integer.toString(Configuration.getStartCost() + (level - 1) * Configuration.getCostIncrease());
int cost = Configuration.getStartCost() + (level - 1) * Configuration.getCostIncrease();
int colour = minecraft.player.experienceLevel >= cost ? 0x7EFC20 : 0xFC5454;
String text = Integer.toString(cost);

minecraft.font.drawShadow(stack, cost, x + 73 - minecraft.font.width(cost), y + 18, 0x7EFC20);
minecraft.font.drawShadow(stack, text, x + 73 - minecraft.font.width(text), y + 18, colour);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/META-INF/mods.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ license="All rights reserved"

[[mods]]
modId="rereskillable"
version="1.3.1"
version="1.3.2"
displayName="Rereskillable"
displayURL="https://www.curseforge.com/minecraft/mc-mods/rereskillable"
credits="Skillable and Reskillable"
Expand Down

0 comments on commit 5e6288b

Please # to comment.