Skip to content

Commit

Permalink
Add cancelable event for Potions shifting the gui position
Browse files Browse the repository at this point in the history
Same as MinecraftForge#2662, but for 1.9
  • Loading branch information
mezz committed Mar 28, 2016
1 parent efa7fd4 commit f5d4a6c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--- ../src-base/minecraft/net/minecraft/client/renderer/InventoryEffectRenderer.java
+++ ../src-work/minecraft/net/minecraft/client/renderer/InventoryEffectRenderer.java
@@ -28,7 +28,12 @@
@@ -28,8 +28,14 @@

protected void func_175378_g()
{
Expand All @@ -12,17 +12,19 @@
+ }
+ if (!this.field_146297_k.field_71439_g.func_70651_bq().isEmpty() && hasVisibleEffect)
{
+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.GuiScreenEvent.PotionShiftEvent(this))) this.field_147003_i = (this.field_146294_l - this.field_146999_f) / 2; else
this.field_147003_i = 160 + (this.field_146294_l - this.field_146999_f - 200) / 2;
this.field_147045_u = true;
@@ -71,6 +76,7 @@
}
@@ -71,6 +77,7 @@
for (PotionEffect potioneffect : Ordering.natural().sortedCopy(collection))
{
Potion potion = potioneffect.func_188419_a();
+ if(!potion.shouldRender(potioneffect)) continue;
GlStateManager.func_179131_c(1.0F, 1.0F, 1.0F, 1.0F);
this.field_146297_k.func_110434_K().func_110577_a(field_147001_a);
this.func_73729_b(i, j, 0, 166, 140, 32);
@@ -81,6 +87,8 @@
@@ -81,6 +88,8 @@
this.func_73729_b(i + 6, j + 7, 0 + i1 % 8 * 18, 198 + i1 / 8 * 18, 18, 18);
}

Expand Down
14 changes: 14 additions & 0 deletions src/main/java/net/minecraftforge/client/event/GuiScreenEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,20 @@ public int getMouseY()
return mouseY;
}
}

/**
* This event fires in {@code InventoryEffectRenderer.updateActivePotionEffects()}
* when potion effects are active and the gui wants to move over.
* Cancel this event to prevent the Gui from being moved.
*/
@Cancelable
public static class PotionShiftEvent extends GuiScreenEvent
{
public PotionShiftEvent(GuiScreen gui)
{
super(gui);
}
}

public static class ActionPerformedEvent extends GuiScreenEvent
{
Expand Down

0 comments on commit f5d4a6c

Please sign in to comment.