Class ForgeHooksClient

java.lang.Object
net.minecraftforge.client.ForgeHooksClient

@Internal public class ForgeHooksClient extends Object
  • Field Details

    • LOGGER

      private static final org.apache.logging.log4j.Logger LOGGER
    • CLIENTHOOKS

      private static final org.apache.logging.log4j.Marker CLIENTHOOKS
    • guiLayers

      private static final Stack<Screen> guiLayers
      Contains the *extra* GUI layers. The current top layer stays in Minecraft#currentScreen, and the rest serve as a background for it.
    • forgeStatusLine

      public static String forgeStatusLine
    • slotMainHand

      private static int slotMainHand
    • layerDefinitions

      private static final Map<ModelLayerLocation,Supplier<LayerDefinition>> layerDefinitions
    • ICON_SHEET

      private static final ResourceLocation ICON_SHEET
    • initializedClientHooks

      private static boolean initializedClientHooks
  • Constructor Details

    • ForgeHooksClient

      public ForgeHooksClient()
  • Method Details

    • resizeGuiLayers

      public static void resizeGuiLayers(Minecraft minecraft, int width, int height)
    • clearGuiLayers

      public static void clearGuiLayers(Minecraft minecraft)
    • popGuiLayerInternal

      private static void popGuiLayerInternal(Minecraft minecraft)
    • pushGuiLayer

      public static void pushGuiLayer(Minecraft minecraft, Screen screen)
    • popGuiLayer

      public static void popGuiLayer(Minecraft minecraft)
    • getGuiFarPlane

      public static float getGuiFarPlane()
    • onClientPauseChangePre

      public static boolean onClientPauseChangePre(boolean pause)
    • onClientPauseChangePost

      public static void onClientPauseChangePost(boolean pause)
    • getArmorTexture

      public static ResourceLocation getArmorTexture(Entity entity, ItemStack armor, EquipmentSlot slot, ArmorMaterial.Layer layer, boolean inner)
    • onDrawHighlight

      public static boolean onDrawHighlight(LevelRenderer context, Camera camera, HitResult target, float partialTick, org.joml.Matrix4f ctxPos, MultiBufferSource bufferSource)
    • dispatchRenderStage

      public static void dispatchRenderStage(RenderType renderType, LevelRenderer levelRenderer, org.joml.Matrix4f 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)
    • onTextureStitchedPost

      public static void onTextureStitchedPost(TextureAtlas map)
    • onBlockColorsInit

      public static void onBlockColorsInit(BlockColors blockColors)
    • onItemColorsInit

      public static void onItemColorsInit(ItemColors itemColors, BlockColors blockColors)
    • 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

      public static String fixDomain(String base, String complex)
    • getFieldOfViewModifier

      public static float getFieldOfViewModifier(Player entity, float fovModifier)
    • renderMainMenu

      public static void renderMainMenu(TitleScreen gui, GuiGraphics graphics, Font font, int width, int height, int alpha)
    • playSound

      @Nullable public static @Nullable SoundInstance playSound(SoundEngine manager, SoundInstance sound)
    • 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)
    • onModifyBakingResult

      public static void onModifyBakingResult(Map<ModelResourceLocation,BakedModel> models, ModelBakery modelBakery)
    • onModelBake

      public static void onModelBake(ModelManager modelManager, Map<ModelResourceLocation,BakedModel> models, ModelBakery modelBakery)
    • getFluidSprites

      public static TextureAtlasSprite[] getFluidSprites(BlockAndTintGetter level, BlockPos pos, FluidState fluidStateIn)
    • getBlockMaterial

      public static Material getBlockMaterial(ResourceLocation loc)
    • fillNormal

      public static void fillNormal(int[] faceData, Direction facing)
    • fillNormal

      public static void fillNormal(int[] faceData, Direction facing, boolean calculateNormals)
      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

      public static void loadEntityShader(Entity entity, GameRenderer entityRenderer)
    • shouldCauseReequipAnimation

      public static boolean shouldCauseReequipAnimation(@NotNull @NotNull ItemStack from, @NotNull @NotNull ItemStack to, int slot)
    • onCustomizeBossEventProgress

      public static CustomizeGuiOverlayEvent.BossEventProgress onCustomizeBossEventProgress(GuiGraphics guiGraphics, Window window, LerpingBossEvent bossInfo, int x, int y, int increment)
    • onCustomizeChatEvent

      public static void onCustomizeChatEvent(GuiGraphics guiGraphics, ChatComponent chat, Window window, int mouseX, int mouseY, int tickCount)
    • onCustomizeDebugEvent

      public static void onCustomizeDebugEvent(GuiGraphics guiGraphics, Window window, float partialTick, List<String> text, boolean isLeft)
    • onClientChangeGameType

      public static void onClientChangeGameType(PlayerInfo info, GameType currentGameMode, GameType newGameMode)
    • onMovementInputUpdate

      public static void onMovementInputUpdate(Player player, Input movementInput)
    • onScreenKeyPressed

      public static void onScreenKeyPressed(boolean[] state, Screen screen, int keyCode, int scanCode, int modifiers)
    • onScreenKeyReleased

      public static void onScreenKeyReleased(boolean[] state, Screen screen, int keyCode, int scanCode, int modifiers)
    • onScreenCharTyped

      public static boolean onScreenCharTyped(Screen screen, char codePoint, int modifiers)
    • onRecipesUpdated

      public static void onRecipesUpdated(RecipeManager mgr)
    • onKeyInput

      public static void onKeyInput(int key, int scanCode, int action, int modifiers)
    • isNameplateInRenderDistance

      public static boolean isNameplateInRenderDistance(Entity entity, double squareDistance)
    • shouldRenderEffect

      public static boolean shouldRenderEffect(MobEffectInstance effectInstance)
    • 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

      public static void processForgeListPingData(ServerStatus packet, ServerData target)
    • drawForgePingInfo

      public static void drawForgePingInfo(JoinMultiplayerScreen gui, ServerData target, GuiGraphics guiGraphics, int x, int y, int width, int relativeMouseX, int relativeMouseY)
    • getClientConnection

      private static Connection getClientConnection()
    • handleClientLevelClosing

      public static void handleClientLevelClosing(ClientLevel level)
    • onRegisterParticleProviders

      public static void onRegisterParticleProviders(ParticleEngine particleEngine)
    • onRegisterKeyMappings

      public static void onRegisterKeyMappings(Options options)
    • onRegisterAdditionalModels

      public static void onRegisterAdditionalModels(Set<ModelResourceLocation> additionalModels)
    • 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

      @Nullable public static @Nullable Component onClientSystemChat(Component message, boolean overlay, RegistryAccess registry)
    • onClientSendMessage

      @NotNull public static @NotNull String onClientSendMessage(String message)
    • getEntityRenderType

      @NotNull public static @NotNull RenderType getEntityRenderType(RenderType chunkRenderType, boolean cull)
    • getTooltipFont

      public static Font getTooltipFont(@NotNull @NotNull ItemStack stack, Font fallbackFont)
    • 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

      public static boolean onToastAdd(Toast toast)
    • isBlockInSolidLayer

      public static boolean isBlockInSolidLayer(BlockState state)
    • createWorldConfirmationScreen

      public static void createWorldConfirmationScreen(Runnable doConfirmedWorldLoad)
    • renderFireOverlay

      public static boolean renderFireOverlay(Player player, PoseStack mat)
    • renderWaterOverlay

      public static boolean renderWaterOverlay(Player player, PoseStack mat)
    • 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

      public static Direction getNearestStable(float nX, float nY, float nZ)
      This function is a clone of Direction.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 during
      invalid reference
      SheetedDecalTextureGenerator#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 normal
      nY - Y component of the normal
      nZ - 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)
    • onScreenMouseDrag

      public static void onScreenMouseDrag(Screen screen, double mouseX, double mouseY, int mouseButton, double dragX, double dragY)