Skip to content

Commit 159fa7f

Browse files
authored
Fix IClientItemExtensions#renderHelmetOverlay never being called (#1836)
1 parent fd0bf2b commit 159fa7f

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

patches/net/minecraft/client/gui/Gui.java.patch

+9
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,15 @@
101101
RenderSystem.disableDepthTest();
102102
}
103103

104+
@@ -220,6 +_,8 @@
105+
ItemStack itemstack = this.minecraft.player.getInventory().getArmor(3);
106+
if (itemstack.is(Blocks.CARVED_PUMPKIN.asItem())) {
107+
this.renderTextureOverlay(p_316735_, PUMPKIN_BLUR_LOCATION, 1.0F);
108+
+ } else {
109+
+ net.neoforged.neoforge.client.extensions.common.IClientItemExtensions.of(itemstack).renderHelmetOverlay(itemstack, this.minecraft.player, p_316735_, p_348538_);
110+
}
111+
}
112+
}
104113
@@ -262,8 +_,12 @@
105114
}
106115

src/main/java/net/neoforged/neoforge/client/extensions/common/IClientItemExtensions.java

+15-6
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import com.mojang.blaze3d.vertex.PoseStack;
99
import java.util.function.Consumer;
10+
import net.minecraft.client.DeltaTracker;
1011
import net.minecraft.client.Minecraft;
1112
import net.minecraft.client.gui.Font;
13+
import net.minecraft.client.gui.GuiGraphics;
1214
import net.minecraft.client.model.HumanoidModel;
1315
import net.minecraft.client.model.Model;
1416
import net.minecraft.client.player.LocalPlayer;
@@ -143,18 +145,25 @@ default Model getGenericArmorModel(LivingEntity livingEntity, ItemStack itemStac
143145
*/
144146
default void setupModelAnimations(LivingEntity livingEntity, ItemStack itemStack, EquipmentSlot equipmentSlot, Model model, float limbSwing, float limbSwingAmount, float partialTick, float ageInTicks, float netHeadYaw, float headPitch) {}
145147

148+
/**
149+
* @deprecated Switch to {@link IClientItemExtensions#renderHelmetOverlay(ItemStack, Player, GuiGraphics, DeltaTracker)}
150+
*/
151+
@Deprecated(forRemoval = true)
152+
default void renderHelmetOverlay(ItemStack stack, Player player, int width, int height, float partialTick) {}
153+
146154
/**
147155
* Called when the client starts rendering the HUD, and is wearing this item in the helmet slot.
148156
* <p>
149157
* This is where pumpkins would render their overlay.
150158
*
151-
* @param stack The item stack
152-
* @param player The player entity
153-
* @param width The viewport width
154-
* @param height Viewport height
155-
* @param partialTick Partial tick time, useful for interpolation
159+
* @param stack The item stack
160+
* @param player The player entity
161+
* @param guiGraphics The gui graphics
162+
* @param deltaTracker The delta tracker
156163
*/
157-
default void renderHelmetOverlay(ItemStack stack, Player player, int width, int height, float partialTick) {}
164+
default void renderHelmetOverlay(ItemStack stack, Player player, GuiGraphics guiGraphics, DeltaTracker deltaTracker) {
165+
renderHelmetOverlay(stack, player, guiGraphics.guiWidth(), guiGraphics.guiHeight(), deltaTracker.getGameTimeDeltaPartialTick(true));
166+
}
158167

159168
/**
160169
* Queries this item's renderer.

0 commit comments

Comments
 (0)