Package net.minecraftforge.client
Class ForgeHooksClient
java.lang.Object
net.minecraftforge.client.ForgeHooksClient
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final org.apache.logging.log4j.Marker
static String
Contains the *extra* GUI layers.private static final ResourceLocation
private static boolean
private static final Map<ModelLayerLocation,
Supplier<LayerDefinition>> private static final org.apache.logging.log4j.Logger
private static int
private static final ChatType
private static final ChatType.Bound
private static final ChatTypeDecoration
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
calculateFaceWithoutAO
(BlockAndTintGetter getter, BlockState state, BlockPos pos, BakedQuad quad, boolean isFaceCubic, float[] brightness, int[] lightmap) static void
clearGuiLayers
(Minecraft minecraft) static <T extends LivingEntity>
voidcopyModelProperties
(HumanoidModel<T> original, HumanoidModel<?> replacement) Copies humanoid model properties from the original model to another, used for armor modelsstatic void
createWorldConfirmationScreen
(Runnable doConfirmedWorldLoad) static void
dispatchRenderStage
(RenderType renderType, LevelRenderer levelRenderer, PoseStack poseStack, org.joml.Matrix4f projectionMatrix, int renderTick, Camera camera, Frustum frustum) static void
drawForgePingInfo
(JoinMultiplayerScreen gui, ServerData target, GuiGraphics guiGraphics, int x, int y, int width, int relativeMouseX, int relativeMouseY) static void
drawScreen
(Screen screen, GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) private static void
drawScreenInternal
(Screen screen, GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) static void
fillNormal
(int[] faceData, Direction facing) static void
fillNormal
(int[] faceData, Direction facing, boolean calculateNormals) internal, relies on fixed format of FaceBakerystatic void
firePlayerLogin
(MultiPlayerGameMode pc, LocalPlayer player, Connection networkManager) static void
firePlayerLogout
(@Nullable MultiPlayerGameMode pc, @Nullable LocalPlayer player) static void
firePlayerRespawn
(MultiPlayerGameMode pc, LocalPlayer oldPlayer, LocalPlayer newPlayer, Connection networkManager) static String
static List<ClientTooltipComponent>
gatherTooltipComponents
(ItemStack stack, List<? extends FormattedText> textElements, int mouseX, int screenWidth, int screenHeight, Font fallbackFont) static List<ClientTooltipComponent>
gatherTooltipComponents
(ItemStack stack, List<? extends FormattedText> textElements, Optional<TooltipComponent> itemComponent, int mouseX, int screenWidth, int screenHeight, Font fallbackFont) static Model
getArmorModel
(LivingEntity entityLiving, ItemStack itemStack, EquipmentSlot slot, HumanoidModel<?> _default) static String
getArmorTexture
(Entity entity, ItemStack armor, String _default, EquipmentSlot slot, String type) static Material
private static Connection
static @NotNull RenderType
getEntityRenderType
(RenderType chunkRenderType, boolean cull) Mimics the behavior ofItemBlockRenderTypes.getRenderType(BlockState, boolean)
for the inputRenderType
.static double
getFieldOfView
(GameRenderer renderer, Camera camera, double partialTick, double fov, boolean usedConfiguredFov) static float
getFieldOfViewModifier
(Player entity, float fovModifier) static TextureAtlasSprite[]
getFluidSprites
(BlockAndTintGetter level, BlockPos pos, FluidState fluidStateIn) static org.joml.Vector3f
getFogColor
(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, float fogRed, float fogGreen, float fogBlue) static float
static int
getMaxMipmapLevel
(int width, int height) static Direction
getNearestStable
(float nX, float nY, float nZ) This function is a clone ofDirection.getNearest(float, float, float)
designed to return a consistent direction when the normal is at an inflection point (ie 45 degrees) rounding errors from associated matrix multiplication (such as duringSheetedDecalTextureGenerator.endVertex()
can cause the direction chosen to be unstable.static ResourceLocation
getShaderImportLocation
(String basePath, boolean isRelative, String importPath) static Font
getTooltipFont
(@NotNull ItemStack stack, Font fallbackFont) private static org.joml.Vector3f
getVertexPos
(int[] data, int vertex) static BakedModel
handleCameraTransforms
(PoseStack poseStack, BakedModel model, ItemDisplayContext cameraTransformType, boolean applyLeftHandTransform) static void
static void
initClientHooks
(Minecraft mc, ReloadableResourceManager resourceManager) static boolean
isBlockInSolidLayer
(BlockState state) static boolean
isNameplateInRenderDistance
(Entity entity, double squareDistance) static void
loadEntityShader
(Entity entity, GameRenderer entityRenderer) static void
loadLayerDefinitions
(com.google.common.collect.ImmutableMap.Builder<ModelLayerLocation, LayerDefinition> builder) static @Nullable SpriteContents
loadSpriteContents
(ResourceLocation name, Resource resource, FrameSize frameSize, NativeImage image, ResourceMetadata animationMeta) static @Nullable TextureAtlasSprite
loadTextureAtlasSprite
(ResourceLocation atlasName, SpriteContents contents, int atlasWidth, int atlasHeight, int spriteX, int spriteY, int mipmapLevel) static Comparator<ParticleRenderType>
makeParticleRenderTypeComparator
(List<ParticleRenderType> renderOrder) static void
onBlockColorsInit
(BlockColors blockColors) onCameraSetup
(GameRenderer renderer, Camera camera, float partial) onClickInput
(int button, KeyMapping keyBinding, InteractionHand hand) static void
onClientChangeGameType
(PlayerInfo info, GameType currentGameMode, GameType newGameMode) static @Nullable Component
onClientChat
(ChatType.Bound boundChatType, Component message, UUID sender) static boolean
onClientDisconnect
(Connection connection, Minecraft mc, Screen parent, Component message) static @Nullable Component
onClientPlayerChat
(ChatType.Bound boundChatType, Component message, PlayerChatMessage playerChatMessage, UUID sender) static @NotNull String
onClientSendMessage
(String message) static @Nullable Component
onClientSystemChat
(Component message, boolean overlay) onCustomizeBossEventProgress
(GuiGraphics guiGraphics, Window window, LerpingBossEvent bossInfo, int x, int y, int increment) static boolean
onDrawHighlight
(LevelRenderer context, Camera camera, HitResult target, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource) static void
onFogRender
(FogRenderer.FogMode mode, FogType type, Camera camera, float partialTick, float renderDistance, float nearDistance, float farDistance, FogShape shape) static void
onItemColorsInit
(ItemColors itemColors, BlockColors blockColors) static void
onKeyInput
(int key, int scanCode, int action, int modifiers) static void
onModelBake
(ModelManager modelManager, Map<ResourceLocation, BakedModel> models, ModelBakery modelBakery) static void
onModifyBakingResult
(Map<ResourceLocation, BakedModel> models, ModelBakery modelBakery) static void
onMovementInputUpdate
(Player player, Input movementInput) static void
static void
onRegisterAdditionalModels
(Set<ResourceLocation> additionalModels) static void
onRegisterKeyMappings
(Options options) static void
onRegisterParticleProviders
(ParticleEngine particleEngine) static RenderTooltipEvent.Color
onRenderTooltipColor
(@NotNull ItemStack stack, GuiGraphics graphics, int x, int y, @NotNull Font font, @NotNull List<ClientTooltipComponent> components) static RenderTooltipEvent.Pre
onRenderTooltipPre
(@NotNull ItemStack stack, GuiGraphics graphics, int x, int y, int screenWidth, int screenHeight, @NotNull List<ClientTooltipComponent> components, @NotNull Font fallbackFont, @NotNull ClientTooltipPositioner positioner) static void
onScreenCharTypedPost
(Screen guiScreen, char codePoint, int modifiers) static boolean
onScreenCharTypedPre
(Screen guiScreen, char codePoint, int modifiers) static boolean
onScreenKeyPressedPost
(Screen guiScreen, int keyCode, int scanCode, int modifiers) static boolean
onScreenKeyPressedPre
(Screen guiScreen, int keyCode, int scanCode, int modifiers) static boolean
onScreenKeyReleasedPost
(Screen guiScreen, int keyCode, int scanCode, int modifiers) static boolean
onScreenKeyReleasedPre
(Screen guiScreen, int keyCode, int scanCode, int modifiers) onScreenPotionSize
(Screen screen, int availableSpace, boolean compact, int horizontalOffset) static ScreenshotEvent
onScreenshot
(NativeImage image, File screenshotFile) static void
static boolean
onToastAdd
(Toast toast) static @Nullable SoundInstance
playSound
(SoundEngine manager, SoundInstance sound) static void
popGuiLayer
(Minecraft minecraft) private static void
popGuiLayerInternal
(Minecraft minecraft) static void
processForgeListPingData
(ServerStatus packet, ServerData target) static void
pushGuiLayer
(Minecraft minecraft, Screen screen) static void
registerLayerDefinition
(ModelLayerLocation layerLocation, Supplier<LayerDefinition> supplier) static boolean
renderBlockOverlay
(Player player, PoseStack mat, RenderBlockScreenEffectEvent.OverlayType type, BlockState block, BlockPos pos) static boolean
renderFireOverlay
(Player player, PoseStack mat) static void
renderMainMenu
(TitleScreen gui, GuiGraphics guiGraphics, Font font, int width, int height, int alpha) static void
renderPistonMovedBlocks
(BlockPos pos, BlockState state, PoseStack stack, MultiBufferSource bufferSource, Level level, boolean checkSides, int packedOverlay, BlockRenderDispatcher blockRenderer) static boolean
renderSpecificFirstPersonArm
(PoseStack poseStack, MultiBufferSource multiBufferSource, int packedLight, AbstractClientPlayer player, HumanoidArm arm) static boolean
renderSpecificFirstPersonHand
(InteractionHand hand, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, float partialTick, float interpPitch, float swingProgress, float equipProgress, ItemStack stack) static boolean
renderWaterOverlay
(Player player, PoseStack mat) static void
resizeGuiLayers
(Minecraft minecraft, int width, int height) static boolean
shouldCauseReequipAnimation
(@NotNull ItemStack from, @NotNull ItemStack to, int slot) static boolean
shouldRenderEffect
(MobEffectInstance effectInstance) private static Stream<ClientTooltipComponent>
splitLine
(FormattedText text, Font font, int maxWidth)
-
Field Details
-
LOGGER
private static final org.apache.logging.log4j.Logger LOGGER -
CLIENTHOOKS
private static final org.apache.logging.log4j.Marker CLIENTHOOKS -
guiLayers
Contains the *extra* GUI layers. The current top layer stays in Minecraft#currentScreen, and the rest serve as a background for it. -
forgeStatusLine
-
slotMainHand
private static int slotMainHand -
layerDefinitions
-
ICON_SHEET
-
SYSTEM_CHAT_TYPE_DECORATION
-
SYSTEM_CHAT_TYPE
-
SYSTEM_CHAT_TYPE_BOUND
-
initializedClientHooks
private static boolean initializedClientHooks
-
-
Constructor Details
-
ForgeHooksClient
public ForgeHooksClient()
-
-
Method Details
-
resizeGuiLayers
-
clearGuiLayers
-
popGuiLayerInternal
-
pushGuiLayer
-
popGuiLayer
-
getGuiFarPlane
public static float getGuiFarPlane() -
getArmorTexture
-
onDrawHighlight
public static boolean onDrawHighlight(LevelRenderer context, Camera camera, HitResult target, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource) -
dispatchRenderStage
public static void dispatchRenderStage(RenderType renderType, LevelRenderer levelRenderer, PoseStack poseStack, org.joml.Matrix4f projectionMatrix, int renderTick, Camera camera, Frustum frustum) -
renderSpecificFirstPersonHand
public static boolean renderSpecificFirstPersonHand(InteractionHand hand, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, float partialTick, float interpPitch, float swingProgress, float equipProgress, ItemStack stack) -
renderSpecificFirstPersonArm
public static boolean renderSpecificFirstPersonArm(PoseStack poseStack, MultiBufferSource multiBufferSource, int packedLight, AbstractClientPlayer player, HumanoidArm arm) -
onTextureStitchedPost
-
onBlockColorsInit
-
onItemColorsInit
-
getArmorModel
public static Model getArmorModel(LivingEntity entityLiving, ItemStack itemStack, EquipmentSlot slot, HumanoidModel<?> _default) -
copyModelProperties
public static <T extends LivingEntity> void copyModelProperties(HumanoidModel<T> original, HumanoidModel<?> replacement) Copies humanoid model properties from the original model to another, used for armor models -
fixDomain
-
getFieldOfViewModifier
-
getFieldOfView
public static double getFieldOfView(GameRenderer renderer, Camera camera, double partialTick, double fov, boolean usedConfiguredFov) -
renderMainMenu
public static void renderMainMenu(TitleScreen gui, GuiGraphics guiGraphics, Font font, int width, int height, int alpha) -
playSound
-
drawScreen
public static void drawScreen(Screen screen, GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) -
drawScreenInternal
private static void drawScreenInternal(Screen screen, GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) -
getFogColor
public static org.joml.Vector3f getFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, float fogRed, float fogGreen, float fogBlue) -
onFogRender
public static void onFogRender(FogRenderer.FogMode mode, FogType type, Camera camera, float partialTick, float renderDistance, float nearDistance, float farDistance, FogShape shape) -
onCameraSetup
public static ViewportEvent.ComputeCameraAngles onCameraSetup(GameRenderer renderer, Camera camera, float partial) -
onModifyBakingResult
public static void onModifyBakingResult(Map<ResourceLocation, BakedModel> models, ModelBakery modelBakery) -
onModelBake
public static void onModelBake(ModelManager modelManager, Map<ResourceLocation, BakedModel> models, ModelBakery modelBakery) -
handleCameraTransforms
public static BakedModel handleCameraTransforms(PoseStack poseStack, BakedModel model, ItemDisplayContext cameraTransformType, boolean applyLeftHandTransform) -
getFluidSprites
public static TextureAtlasSprite[] getFluidSprites(BlockAndTintGetter level, BlockPos pos, FluidState fluidStateIn) -
getBlockMaterial
-
fillNormal
-
fillNormal
internal, relies on fixed format of FaceBakery -
getVertexPos
private static org.joml.Vector3f getVertexPos(int[] data, int vertex) -
calculateFaceWithoutAO
public static boolean calculateFaceWithoutAO(BlockAndTintGetter getter, BlockState state, BlockPos pos, BakedQuad quad, boolean isFaceCubic, float[] brightness, int[] lightmap) -
loadEntityShader
-
shouldCauseReequipAnimation
-
onCustomizeBossEventProgress
public static CustomizeGuiOverlayEvent.BossEventProgress onCustomizeBossEventProgress(GuiGraphics guiGraphics, Window window, LerpingBossEvent bossInfo, int x, int y, int increment) -
onScreenshot
-
onClientChangeGameType
public static void onClientChangeGameType(PlayerInfo info, GameType currentGameMode, GameType newGameMode) -
onMovementInputUpdate
-
onScreenKeyPressedPre
public static boolean onScreenKeyPressedPre(Screen guiScreen, int keyCode, int scanCode, int modifiers) -
onScreenKeyPressedPost
public static boolean onScreenKeyPressedPost(Screen guiScreen, int keyCode, int scanCode, int modifiers) -
onScreenKeyReleasedPre
public static boolean onScreenKeyReleasedPre(Screen guiScreen, int keyCode, int scanCode, int modifiers) -
onScreenKeyReleasedPost
public static boolean onScreenKeyReleasedPost(Screen guiScreen, int keyCode, int scanCode, int modifiers) -
onScreenCharTypedPre
-
onScreenCharTypedPost
-
onRecipesUpdated
-
onKeyInput
public static void onKeyInput(int key, int scanCode, int action, int modifiers) -
onClickInput
public static InputEvent.InteractionKeyMappingTriggered onClickInput(int button, KeyMapping keyBinding, InteractionHand hand) -
isNameplateInRenderDistance
-
renderPistonMovedBlocks
public static void renderPistonMovedBlocks(BlockPos pos, BlockState state, PoseStack stack, MultiBufferSource bufferSource, Level level, boolean checkSides, int packedOverlay, BlockRenderDispatcher blockRenderer) -
shouldRenderEffect
-
loadSpriteContents
@Nullable public static @Nullable SpriteContents loadSpriteContents(ResourceLocation name, Resource resource, FrameSize frameSize, NativeImage image, ResourceMetadata animationMeta) -
loadTextureAtlasSprite
@Nullable public static @Nullable TextureAtlasSprite loadTextureAtlasSprite(ResourceLocation atlasName, SpriteContents contents, int atlasWidth, int atlasHeight, int spriteX, int spriteY, int mipmapLevel) -
registerLayerDefinition
public static void registerLayerDefinition(ModelLayerLocation layerLocation, Supplier<LayerDefinition> supplier) -
loadLayerDefinitions
public static void loadLayerDefinitions(com.google.common.collect.ImmutableMap.Builder<ModelLayerLocation, LayerDefinition> builder) -
processForgeListPingData
-
drawForgePingInfo
public static void drawForgePingInfo(JoinMultiplayerScreen gui, ServerData target, GuiGraphics guiGraphics, int x, int y, int width, int relativeMouseX, int relativeMouseY) -
getClientConnection
-
handleClientLevelClosing
-
firePlayerLogin
public static void firePlayerLogin(MultiPlayerGameMode pc, LocalPlayer player, Connection networkManager) -
firePlayerLogout
public static void firePlayerLogout(@Nullable @Nullable MultiPlayerGameMode pc, @Nullable @Nullable LocalPlayer player) -
firePlayerRespawn
public static void firePlayerRespawn(MultiPlayerGameMode pc, LocalPlayer oldPlayer, LocalPlayer newPlayer, Connection networkManager) -
onRegisterParticleProviders
-
onRegisterKeyMappings
-
onRegisterAdditionalModels
-
onClientChat
@Nullable public static @Nullable Component onClientChat(ChatType.Bound boundChatType, Component message, UUID sender) -
onClientPlayerChat
@Nullable public static @Nullable Component onClientPlayerChat(ChatType.Bound boundChatType, Component message, PlayerChatMessage playerChatMessage, UUID sender) -
onClientSystemChat
-
onClientSendMessage
-
getEntityRenderType
@NotNull public static @NotNull RenderType getEntityRenderType(RenderType chunkRenderType, boolean cull) Mimics the behavior ofItemBlockRenderTypes.getRenderType(BlockState, boolean)
for the inputRenderType
. -
getTooltipFont
-
onRenderTooltipPre
public static RenderTooltipEvent.Pre onRenderTooltipPre(@NotNull @NotNull ItemStack stack, GuiGraphics graphics, int x, int y, int screenWidth, int screenHeight, @NotNull @NotNull List<ClientTooltipComponent> components, @NotNull @NotNull Font fallbackFont, @NotNull @NotNull ClientTooltipPositioner positioner) -
onRenderTooltipColor
public static RenderTooltipEvent.Color onRenderTooltipColor(@NotNull @NotNull ItemStack stack, GuiGraphics graphics, int x, int y, @NotNull @NotNull Font font, @NotNull @NotNull List<ClientTooltipComponent> components) -
gatherTooltipComponents
public static List<ClientTooltipComponent> gatherTooltipComponents(ItemStack stack, List<? extends FormattedText> textElements, int mouseX, int screenWidth, int screenHeight, Font fallbackFont) -
gatherTooltipComponents
public static List<ClientTooltipComponent> gatherTooltipComponents(ItemStack stack, List<? extends FormattedText> textElements, Optional<TooltipComponent> itemComponent, int mouseX, int screenWidth, int screenHeight, Font fallbackFont) -
splitLine
private static Stream<ClientTooltipComponent> splitLine(FormattedText text, Font font, int maxWidth) -
makeParticleRenderTypeComparator
public static Comparator<ParticleRenderType> makeParticleRenderTypeComparator(List<ParticleRenderType> renderOrder) -
onScreenPotionSize
public static ScreenEvent.RenderInventoryMobEffects onScreenPotionSize(Screen screen, int availableSpace, boolean compact, int horizontalOffset) -
onToastAdd
-
isBlockInSolidLayer
-
createWorldConfirmationScreen
-
renderFireOverlay
-
renderWaterOverlay
-
renderBlockOverlay
public static boolean renderBlockOverlay(Player player, PoseStack mat, RenderBlockScreenEffectEvent.OverlayType type, BlockState block, BlockPos pos) -
getMaxMipmapLevel
public static int getMaxMipmapLevel(int width, int height) -
getShaderImportLocation
public static ResourceLocation getShaderImportLocation(String basePath, boolean isRelative, String importPath) -
getNearestStable
This function is a clone ofDirection.getNearest(float, float, float)
designed to return a consistent direction when the normal is at an inflection point (ie 45 degrees) rounding errors from associated matrix multiplication (such as duringSheetedDecalTextureGenerator.endVertex()
can cause the direction chosen to be unstable. The function will only take effect if the Forge Client config option "stabilizeDirectionGetNearest" is enabled. This is a port of the downstream changes from https://github.com/neoforged/NeoForge PR #26- Parameters:
nX
- X component of the normalnY
- Y component of the normalnZ
- Z component of the normal- Returns:
- the nearest Direction to the passed in normal, biased slightly in favor of the order of declaration
-
initClientHooks
@Internal public static void initClientHooks(Minecraft mc, ReloadableResourceManager resourceManager) -
onClientDisconnect
public static boolean onClientDisconnect(Connection connection, Minecraft mc, Screen parent, Component message)
-