Class RegisterRenderStateModifiersEvent
java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.client.renderstate.RegisterRenderStateModifiersEvent
- All Implemented Interfaces:
net.neoforged.fml.event.IModBusEvent
public class RegisterRenderStateModifiersEvent
extends net.neoforged.bus.api.Event
implements net.neoforged.fml.event.IModBusEvent
Fired for registering modifier functions for various render state objects. Useful for gathering context for
custom rendering with objects that are not your own.
This event is fired on the mod-specific event bus, only on the logical client.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final record
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
ensureParametersMatchBounds
(com.google.common.reflect.TypeToken<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends net.minecraft.world.entity.Entity, ? extends net.minecraft.client.renderer.entity.state.EntityRenderState>> baseRenderer) <E extends net.minecraft.world.entity.Entity,
S extends net.minecraft.client.renderer.entity.state.EntityRenderState>
voidregisterEntityModifier
(com.google.common.reflect.TypeToken<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends E, ? extends S>> baseRenderer, BiConsumer<E, S> modifier) Registers a render state modifier forEntityRenderState
s which are run after all vanilla data is extracted.<E extends net.minecraft.world.entity.Entity,
S extends net.minecraft.client.renderer.entity.state.EntityRenderState>
voidregisterEntityModifier
(Class<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends E, ? extends S>> baseRenderer, BiConsumer<E, S> modifier) Convenience method for cases where generics are not present.void
registerMapDecorationModifier
(net.minecraft.resources.ResourceKey<net.minecraft.world.level.saveddata.maps.MapDecorationType> mapDecorationTypeKey, MapDecorationRenderStateModifier modifier) Registers a render state modifier forMapRenderState.MapDecorationRenderState
s which are run after vanilla map decoration data has been set.void
registerMapModifier
(BiConsumer<net.minecraft.world.level.saveddata.maps.MapItemSavedData, net.minecraft.client.renderer.state.MapRenderState> modifier) Registers a render state modifier forMapRenderState
s which are run after the texture has been set and before decorations have been added.
-
Constructor Details
-
RegisterRenderStateModifiersEvent
@Internal public RegisterRenderStateModifiersEvent()
-
-
Method Details
-
registerEntityModifier
public <E extends net.minecraft.world.entity.Entity,S extends net.minecraft.client.renderer.entity.state.EntityRenderState> void registerEntityModifier(com.google.common.reflect.TypeToken<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends E, ? extends S>> baseRenderer, BiConsumer<E, S> modifier) Registers a render state modifier forEntityRenderState
s which are run after all vanilla data is extracted. Can add custom data to the map usingBaseRenderState.setRenderData(ContextKey, Object)
. Any subclasses of the passed renderer class will also have this modifier applied.event.registerEntityModifier(new TypeTokeninvalid input: '<'LivingEntityRendererinvalid input: '<'LivingEntity, LivingEntityRenderState, ?>>() {}, (entity, renderState) -> { . . . });
- Type Parameters:
E
- The type of the entityS
- The specific render state type- Parameters:
baseRenderer
- Entity renderer class. Any subclasses will also apply this modifier.modifier
- The function for modifying theEntityRenderState
and adding custom render data.
-
registerEntityModifier
public <E extends net.minecraft.world.entity.Entity,S extends net.minecraft.client.renderer.entity.state.EntityRenderState> void registerEntityModifier(Class<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends E, ? extends S>> baseRenderer, BiConsumer<E, S> modifier) Convenience method for cases where generics are not present. Registers a render state modifier forEntityRenderState
s which are run after all vanilla data is extracted. Can add custom data to the map usingBaseRenderState.setRenderData(ContextKey, Object)
. Any subclasses of the passed renderer class will also have this modifier applied.event.registerEntityModifier(PlayerRenderer.class, (entity, renderState) -> { . . . });
- Type Parameters:
E
- The type of the entityS
- The specific render state type- Parameters:
baseRenderer
- Entity renderer class. Any subclasses will also apply this modifier.modifier
- The function for modifying theEntityRenderState
and adding custom render data.
-
registerMapModifier
public void registerMapModifier(BiConsumer<net.minecraft.world.level.saveddata.maps.MapItemSavedData, net.minecraft.client.renderer.state.MapRenderState> modifier) Registers a render state modifier forMapRenderState
s which are run after the texture has been set and before decorations have been added. Can add custom data to the map usingIRenderStateExtension.setRenderData(ContextKey, Object)
.- Parameters:
modifier
- The function for modifying theMapRenderState
and adding custom render data.
-
registerMapDecorationModifier
public void registerMapDecorationModifier(net.minecraft.resources.ResourceKey<net.minecraft.world.level.saveddata.maps.MapDecorationType> mapDecorationTypeKey, MapDecorationRenderStateModifier modifier) Registers a render state modifier forMapRenderState.MapDecorationRenderState
s which are run after vanilla map decoration data has been set. Can add custom data to the map usingIRenderStateExtension.setRenderData(ContextKey, Object)
.- Parameters:
mapDecorationTypeKey
- Key for the registeredMapDecorationType
modifier
- The function for modifying theMapRenderState.MapDecorationRenderState
and adding custom render data.
-
ensureParametersMatchBounds
private static void ensureParametersMatchBounds(com.google.common.reflect.TypeToken<? extends net.minecraft.client.renderer.entity.EntityRenderer<? extends net.minecraft.world.entity.Entity, ? extends net.minecraft.client.renderer.entity.state.EntityRenderState>> baseRenderer)
-