Skip to content
This repository was archived by the owner on Jun 23, 2024. It is now read-only.

Commit 40e4dcc

Browse files
committed
changes suggested by mysticdrew; render potions on different event than everything else
1 parent 82b356d commit 40e4dcc

File tree

2 files changed

+32
-23
lines changed

2 files changed

+32
-23
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
buildscript {
22
repositories {
3-
maven { url = "http://files.minecraftforge.net/maven" }
3+
maven { url = "https://files.minecraftforge.net/maven" }
44
jcenter()
55
mavenCentral()
66
}
@@ -18,7 +18,7 @@ apply plugin: 'net.minecraftforge.gradle'
1818
apply plugin: 'eclipse'
1919
apply plugin: 'maven-publish'
2020

21-
version = "1.16.4-forge35.0.7-1.10"
21+
version = "1.16.4-forge35.0.7-1.10.1"
2222
group = "de.guntram.mcmod.DurabilityViewer" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
2323
archivesBaseName = "durabilityviewer"
2424

src/main/java/de/guntram/mcmod/durabilityviewer/client/gui/GuiItemDurability.java

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,10 @@ public void onRender(final RenderGameOverlayEvent.Post event) {
122122
glfwSetWindowTitle(minecraft.getMainWindow().getHandle(), newTitle);
123123
}
124124

125-
126125
if (!visible
127126
|| event.isCanceled()
128127
// || minecraft.player.abilities.isCreativeMode
129-
|| event.getType()!=RenderGameOverlayEvent.ElementType.POTION_ICONS)
128+
|| event.getType()!=RenderGameOverlayEvent.ElementType.HOTBAR)
130129
return;
131130

132131
ClientPlayerEntity effectivePlayer = (ClientPlayerEntity) minecraft.player;
@@ -228,15 +227,43 @@ public void onRender(final RenderGameOverlayEvent.Post event) {
228227
}
229228

230229
RenderHelper.disableStandardItemLighting();
230+
}
231+
232+
private void renderItemBreakingOverlay(MatrixStack matrices, ItemStack itemStack, long timeDelta) {
233+
MainWindow mainWindow=Minecraft.getInstance().getMainWindow();
234+
float alpha = 1.0f-((float)timeDelta/1000.0f);
235+
float xWarn = mainWindow.getScaledWidth()/2;
236+
float yWarn = mainWindow.getScaledHeight()/2;
237+
float scale = 5.0f;
231238

239+
AbstractGui.fill(matrices, 0, 0, mainWindow.getScaledWidth(), mainWindow.getScaledHeight(),
240+
0xff0000+ ((int)(alpha*128)<<24));
241+
242+
RenderSystem.pushMatrix();
243+
RenderSystem.scalef(scale, scale, scale);
244+
itemRenderer.renderItemAndEffectIntoGUI(itemStack, (int)((xWarn)/scale-8), (int)((yWarn)/scale-8));
245+
// System.out.println("rendering at "+xWarn+"/"+yWarn+", scale="+scale+", alpha="+alpha);
246+
RenderSystem.popMatrix();
247+
GlStateManager.color4f(1.0f, 1.0f, 1.0f, 1.0f);
248+
}
249+
250+
@SubscribeEvent(priority = EventPriority.NORMAL)
251+
public void afterRenderStatusEffects(final RenderGameOverlayEvent.Post event) {
252+
if (!visible
253+
|| event.isCanceled()
254+
// || minecraft.player.abilities.isCreativeMode
255+
|| event.getType() != RenderGameOverlayEvent.ElementType.POTION_ICONS)
256+
return;
232257
if (ConfigurationHandler.showEffectDuration()) {
233258
// a lot of this is copied from net/minecraft/client/gui/GuiIngame.java
259+
MainWindow mainWindow=Minecraft.getInstance().getMainWindow();
234260
Collection<EffectInstance> collection = minecraft.player.getActivePotionEffects();
235261
int posGood=0, posBad=0;
236262
for (EffectInstance potioneffect : Ordering.natural().reverse().sortedCopy(collection)) {
237263
if (potioneffect.doesShowParticles()) {
238264
Effect potion = potioneffect.getPotion();
239-
xpos=mainWindow.getScaledWidth();
265+
int xpos=mainWindow.getScaledWidth();
266+
int ypos;
240267
if (potion.isBeneficial()) {
241268
posGood+=25; xpos-=posGood; ypos=15;
242269
} else {
@@ -252,24 +279,6 @@ public void onRender(final RenderGameOverlayEvent.Post event) {
252279
}
253280
}
254281
}
255-
}
256-
257-
private void renderItemBreakingOverlay(MatrixStack matrices, ItemStack itemStack, long timeDelta) {
258-
MainWindow mainWindow=Minecraft.getInstance().getMainWindow();
259-
float alpha = 1.0f-((float)timeDelta/1000.0f);
260-
float xWarn = mainWindow.getScaledWidth()/2;
261-
float yWarn = mainWindow.getScaledHeight()/2;
262-
float scale = 5.0f;
263-
264-
AbstractGui.fill(matrices, 0, 0, mainWindow.getScaledWidth(), mainWindow.getScaledHeight(),
265-
0xff0000+ ((int)(alpha*128)<<24));
266-
267-
RenderSystem.pushMatrix();
268-
RenderSystem.scalef(scale, scale, scale);
269-
itemRenderer.renderItemAndEffectIntoGUI(itemStack, (int)((xWarn)/scale-8), (int)((yWarn)/scale-8));
270-
// System.out.println("rendering at "+xWarn+"/"+yWarn+", scale="+scale+", alpha="+alpha);
271-
RenderSystem.popMatrix();
272-
GlStateManager.color4f(1.0f, 1.0f, 1.0f, 1.0f);
273282
}
274283

275284
private RenderSize renderItems(MatrixStack stack, int xpos, int ypos, boolean reallyDraw, RenderPos numberPos, int maxWidth, ItemIndicator... items) {

0 commit comments

Comments
 (0)