diff --git a/patches/minecraft/net/minecraft/client/gui/components/BossHealthOverlay.java.patch b/patches/minecraft/net/minecraft/client/gui/components/BossHealthOverlay.java.patch index 1fc9e58b13..dc9bff42cf 100644 --- a/patches/minecraft/net/minecraft/client/gui/components/BossHealthOverlay.java.patch +++ b/patches/minecraft/net/minecraft/client/gui/components/BossHealthOverlay.java.patch @@ -1,18 +1,20 @@ --- a/net/minecraft/client/gui/components/BossHealthOverlay.java +++ b/net/minecraft/client/gui/components/BossHealthOverlay.java -@@ -34,6 +_,7 @@ +@@ -34,6 +_,8 @@ for(LerpingBossEvent lerpingbossevent : this.f_93699_.values()) { int k = i / 2 - 91; + var event = net.minecraftforge.client.ForgeHooksClient.onCustomizeBossEventProgress(p_93705_, this.f_93698_.m_91268_(), lerpingbossevent, k, j, 10 + this.f_93698_.f_91062_.f_92710_); ++ if (!event.isCanceled()) { RenderSystem.m_157429_(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.m_157456_(0, f_93697_); this.m_93706_(p_93705_, k, j, lerpingbossevent); -@@ -42,7 +_,7 @@ +@@ -42,7 +_,8 @@ int i1 = i / 2 - l / 2; int j1 = j - 9; this.f_93698_.f_91062_.m_92763_(p_93705_, component, (float)i1, (float)j1, 16777215); - j += 10 + 9; ++ } + j += event.getIncrement(); if (j >= this.f_93698_.m_91268_().m_85446_() / 3) { break; diff --git a/src/main/java/net/minecraftforge/client/event/CustomizeGuiOverlayEvent.java b/src/main/java/net/minecraftforge/client/event/CustomizeGuiOverlayEvent.java index 9056325acf..9fa7c5e945 100644 --- a/src/main/java/net/minecraftforge/client/event/CustomizeGuiOverlayEvent.java +++ b/src/main/java/net/minecraftforge/client/event/CustomizeGuiOverlayEvent.java @@ -55,11 +55,13 @@ public abstract class CustomizeGuiOverlayEvent extends Event /** * Fired before a boss health bar is rendered to the screen. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + * Cancelling this event will prevent the given bar from rendering.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

*/ + @Cancelable public static class BossEventProgress extends CustomizeGuiOverlayEvent { private final LerpingBossEvent bossEvent; @@ -124,7 +126,7 @@ public abstract class CustomizeGuiOverlayEvent extends Event * Fired before textual information is rendered to the debug screen. * This can be used to add or remove text information. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

@@ -162,7 +164,7 @@ public abstract class CustomizeGuiOverlayEvent extends Event /** * Fired before the chat messages overlay is rendered to the screen. * - *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}. + *

This event is not {@linkplain Cancelable cancellable}, and does not {@linkplain HasResult have a result}.

* *

This event is fired on the {@linkplain MinecraftForge#EVENT_BUS main Forge event bus}, * only on the {@linkplain LogicalSide#CLIENT logical client}.

diff --git a/src/main/java/net/minecraftforge/client/gui/overlay/GuiOverlayManager.java b/src/main/java/net/minecraftforge/client/gui/overlay/GuiOverlayManager.java index 9c03fcc7f2..89990c0a76 100644 --- a/src/main/java/net/minecraftforge/client/gui/overlay/GuiOverlayManager.java +++ b/src/main/java/net/minecraftforge/client/gui/overlay/GuiOverlayManager.java @@ -59,6 +59,7 @@ public final class GuiOverlayManager .collect(ImmutableList.toImmutableList()); OVERLAYS_BY_NAME = OVERLAYS.stream() .collect(ImmutableMap.toImmutableMap(NamedGuiOverlay::id, Function.identity())); + assignVanillaOverlayTypes(); } /** @@ -73,6 +74,12 @@ public final class GuiOverlayManager } } + private static void assignVanillaOverlayTypes() + { + for (var entry : VanillaGuiOverlay.values()) + entry.type = OVERLAYS_BY_NAME.get(entry.id()); + } + private GuiOverlayManager() { } diff --git a/src/main/java/net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.java b/src/main/java/net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.java index 7fa6ed3672..0f65052b56 100644 --- a/src/main/java/net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.java +++ b/src/main/java/net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.java @@ -209,6 +209,7 @@ public enum VanillaGuiOverlay private final ResourceLocation id; final IGuiOverlay overlay; + NamedGuiOverlay type; VanillaGuiOverlay(String id, IGuiOverlay overlay) { @@ -221,4 +222,9 @@ public enum VanillaGuiOverlay { return id; } + + public NamedGuiOverlay type() + { + return type; + } } diff --git a/src/main/java/net/minecraftforge/client/model/generators/loaders/DynamicFluidContainerModelBuilder.java b/src/main/java/net/minecraftforge/client/model/generators/loaders/DynamicFluidContainerModelBuilder.java index db13025677..c6ac6e565c 100644 --- a/src/main/java/net/minecraftforge/client/model/generators/loaders/DynamicFluidContainerModelBuilder.java +++ b/src/main/java/net/minecraftforge/client/model/generators/loaders/DynamicFluidContainerModelBuilder.java @@ -29,7 +29,7 @@ public class DynamicFluidContainerModelBuilder> extend protected DynamicFluidContainerModelBuilder(T parent, ExistingFileHelper existingFileHelper) { - super(new ResourceLocation("forge:bucket"), parent, existingFileHelper); + super(new ResourceLocation("forge:fluid_container"), parent, existingFileHelper); } public DynamicFluidContainerModelBuilder fluid(Fluid fluid) diff --git a/src/main/java/net/minecraftforge/client/textures/UnitTextureAtlasSprite.java b/src/main/java/net/minecraftforge/client/textures/UnitTextureAtlasSprite.java index 5929dac7b2..3cc111b46e 100644 --- a/src/main/java/net/minecraftforge/client/textures/UnitTextureAtlasSprite.java +++ b/src/main/java/net/minecraftforge/client/textures/UnitTextureAtlasSprite.java @@ -18,8 +18,8 @@ import net.minecraft.resources.ResourceLocation; */ public class UnitTextureAtlasSprite extends TextureAtlasSprite { - public static final UnitTextureAtlasSprite INSTANCE = new UnitTextureAtlasSprite(); public static final ResourceLocation LOCATION = new ResourceLocation("forge", "unit"); + public static final UnitTextureAtlasSprite INSTANCE = new UnitTextureAtlasSprite(); private UnitTextureAtlasSprite() {