Class Minecraft

All Implemented Interfaces:
WindowEventHandler, AutoCloseable, Executor, ProfilerMeasured, TaskScheduler<Runnable>, IMinecraftExtension

  • Field Details

    • instance

      private static Minecraft instance
    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • MAX_TICKS_PER_UPDATE

      private static final int MAX_TICKS_PER_UPDATE
      See Also:
    • DEFAULT_FONT

      public static final Identifier DEFAULT_FONT
    • UNIFORM_FONT

      public static final Identifier UNIFORM_FONT
    • ALT_FONT

      public static final Identifier ALT_FONT
    • REGIONAL_COMPLIANCIES

      private static final Identifier REGIONAL_COMPLIANCIES
    • RESOURCE_RELOAD_INITIAL_TASK

      private static final CompletableFuture<Unit> RESOURCE_RELOAD_INITIAL_TASK
    • SOCIAL_INTERACTIONS_NOT_AVAILABLE

      private static final Component SOCIAL_INTERACTIONS_NOT_AVAILABLE
    • SAVING_LEVEL

      private static final Component SAVING_LEVEL
    • UPDATE_DRIVERS_ADVICE

      public static final String UPDATE_DRIVERS_ADVICE
      See Also:
    • canary

      private final long canary
    • resourcePackDirectory

      private final Path resourcePackDirectory
    • profileFuture

      private final CompletableFuture<@Nullable ProfileResult> profileFuture
    • textureManager

      private final TextureManager textureManager
    • shaderManager

      private final ShaderManager shaderManager
    • fixerUpper

      private final DataFixer fixerUpper
    • window

      private final Window window
    • textInputManager

      private final TextInputManager textInputManager
    • deltaTracker

      private final DeltaTracker.Timer deltaTracker
    • renderBuffers

      private final RenderBuffers renderBuffers
    • levelRenderer

      public final LevelRenderer levelRenderer
    • entityRenderDispatcher

      private final EntityRenderDispatcher entityRenderDispatcher
    • blockModelResolver

      private final BlockModelResolver blockModelResolver
    • itemModelResolver

      private final ItemModelResolver itemModelResolver
    • mapRenderer

      private final MapRenderer mapRenderer
    • particleEngine

      public final ParticleEngine particleEngine
    • particleResources

      private final ParticleResources particleResources
    • user

      private final User user
    • font

      public final Font font
    • fontFilterFishy

      public final Font fontFilterFishy
    • gameRenderer

      public final GameRenderer gameRenderer
    • gui

      public final Gui gui
    • options

      public final Options options
    • debugEntries

      public final DebugScreenEntryList debugEntries
    • hotbarManager

      private final HotbarManager hotbarManager
    • mouseHandler

      public final MouseHandler mouseHandler
    • keyboardHandler

      public final KeyboardHandler keyboardHandler
    • lastInputType

      private InputType lastInputType
    • gameDirectory

      public final File gameDirectory
    • launchedVersion

      private final String launchedVersion
    • versionType

      private final String versionType
    • proxy

      private final Proxy proxy
    • offlineDeveloperMode

      private final boolean offlineDeveloperMode
    • levelSource

      private final LevelStorageSource levelSource
    • demo

      private final boolean demo
    • allowsMultiplayer

      private final boolean allowsMultiplayer
    • allowsChat

      private final boolean allowsChat
    • resourceManager

      private final ReloadableResourceManager resourceManager
    • vanillaPackResources

      private final VanillaPackResources vanillaPackResources
    • downloadedPackSource

      private final DownloadedPackSource downloadedPackSource
    • resourcePackRepository

      private final PackRepository resourcePackRepository
    • languageManager

      private final LanguageManager languageManager
    • blockColors

      private final BlockColors blockColors
    • mainRenderTarget

      private final RenderTarget mainRenderTarget
    • tracyFrameCapture

      private final @Nullable TracyFrameCapture tracyFrameCapture
    • soundManager

      private final SoundManager soundManager
    • musicManager

      private final MusicManager musicManager
    • fontManager

      private final FontManager fontManager
    • splashManager

      private final SplashManager splashManager
    • gpuWarnlistManager

      private final GpuWarnlistManager gpuWarnlistManager
    • regionalCompliancies

      private final PeriodicNotificationManager regionalCompliancies
    • userApiService

      private final UserApiService userApiService
    • userPropertiesFuture

      private final CompletableFuture<UserApiService.UserProperties> userPropertiesFuture
    • skinManager

      private final SkinManager skinManager
    • atlasManager

      private final AtlasManager atlasManager
    • modelManager

      private final ModelManager modelManager
    • mapTextureManager

      private final MapTextureManager mapTextureManager
    • waypointStyles

      private final WaypointStyleManager waypointStyles
    • toastManager

      private final ToastManager toastManager
    • tutorial

      private final Tutorial tutorial
    • playerSocialManager

      private final PlayerSocialManager playerSocialManager
    • blockEntityRenderDispatcher

      private final BlockEntityRenderDispatcher blockEntityRenderDispatcher
    • telemetryManager

      private final ClientTelemetryManager telemetryManager
    • profileKeyPairManager

      private final ProfileKeyPairManager profileKeyPairManager
    • realmsDataFetcher

      private final RealmsDataFetcher realmsDataFetcher
    • quickPlayLog

      private final QuickPlayLog quickPlayLog
    • services

      private final Services services
    • playerSkinRenderCache

      private final PlayerSkinRenderCache playerSkinRenderCache
    • gameMode

      public @Nullable MultiPlayerGameMode gameMode
    • level

      public @Nullable ClientLevel level
    • player

      public @Nullable LocalPlayer player
    • singleplayerServer

      private @Nullable IntegratedServer singleplayerServer
    • pendingConnection

      private @Nullable Connection pendingConnection
    • isLocalServer

      private boolean isLocalServer
    • crosshairPickEntity

      public @Nullable Entity crosshairPickEntity
    • hitResult

      public @Nullable HitResult hitResult
    • rightClickDelay

      private int rightClickDelay
    • missTime

      protected int missTime
    • pause

      private volatile boolean pause
    • lastNanoTime

      private long lastNanoTime
    • lastTime

      private long lastTime
    • frames

      private int frames
    • screen

      public @Nullable Screen screen
    • overlay

      private @Nullable Overlay overlay
    • clientLevelTeardownInProgress

      private boolean clientLevelTeardownInProgress
    • gameThread

      private Thread gameThread
    • running

      private volatile boolean running
    • fps

      private static int fps
    • frameTimeNs

      private long frameTimeNs
    • framerateLimitTracker

      private final FramerateLimitTracker framerateLimitTracker
    • wireframe

      public boolean wireframe
    • smartCull

      public boolean smartCull
    • lastActiveTime

      private long lastActiveTime
    • pendingReload

      private @Nullable CompletableFuture<Void> pendingReload
    • socialInteractionsToast

      private @Nullable TutorialToast socialInteractionsToast
    • fpsPieRenderTicks

      private int fpsPieRenderTicks
    • fpsPieProfiler

      private final ContinuousProfiler fpsPieProfiler
    • metricsRecorder

      private MetricsRecorder metricsRecorder
    • reloadStateTracker

      private final ResourceLoadStateTracker reloadStateTracker
    • savedCpuDuration

      private long savedCpuDuration
    • gpuUtilization

      private double gpuUtilization
    • currentFrameProfile

      private @Nullable TimerQuery.FrameProfile currentFrameProfile
    • narrator

      private final GameNarrator narrator
    • chatListener

      private final ChatListener chatListener
    • reportingContext

      private ReportingContext reportingContext
    • commandHistory

      private final CommandHistory commandHistory
    • directoryValidator

      private final DirectoryValidator directoryValidator
    • gameLoadFinished

      private boolean gameLoadFinished
    • clientStartTimeMs

      private final long clientStartTimeMs
    • clientTickCount

      private long clientTickCount
    • packetProcessor

      private final PacketProcessor packetProcessor
    • perTickGizmos

      private final SimpleGizmoCollector perTickGizmos
    • drainedLatestTickGizmos

      private List<SimpleGizmoCollector.GizmoInstance> drainedLatestTickGizmos
  • Constructor Details

    • Minecraft

      public Minecraft(GameConfig gameConfig)
  • Method Details

    • hasShiftDown

      public boolean hasShiftDown()
    • hasControlDown

      public boolean hasControlDown()
    • hasAltDown

      public boolean hasAltDown()
    • onResourceLoadFinished

      private void onResourceLoadFinished(@Nullable Minecraft.GameLoadCookie loadCookie)
    • onGameLoadFinished

      private void onGameLoadFinished(@Nullable Minecraft.GameLoadCookie cookie)
    • isGameLoadFinished

      public boolean isGameLoadFinished()
    • buildInitialScreens

      private Runnable buildInitialScreens(@Nullable Minecraft.GameLoadCookie cookie)
    • addInitialScreens

      private boolean addInitialScreens(List<Function<Runnable,Screen>> screens)
    • countryEqualsISO3

      private static boolean countryEqualsISO3(Object iso3Locale)
    • updateTitle

      public void updateTitle()
    • createTitle

      private String createTitle()
    • createUserApiService

      private UserApiService createUserApiService(YggdrasilAuthenticationService authService, GameConfig config)
    • isOfflineDeveloperMode

      public boolean isOfflineDeveloperMode()
    • checkModStatus

      public static ModCheck checkModStatus()
    • rollbackResourcePacks

      private void rollbackResourcePacks(Throwable t, @Nullable Minecraft.GameLoadCookie loadCookie)
    • clearResourcePacksOnError

      public void clearResourcePacksOnError(Throwable t, @Nullable Component message, @Nullable Minecraft.GameLoadCookie loadCookie)
    • abortResourcePackRecovery

      private void abortResourcePackRecovery()
    • addResourcePackLoadFailToast

      private void addResourcePackLoadFailToast(@Nullable Component message)
    • triggerResourcePackRecovery

      public void triggerResourcePackRecovery(Exception exception)
    • run

      public void run()
    • updateFontOptions

      void updateFontOptions()
    • onFullscreenError

      private void onFullscreenError(int error, long description)
    • getMainRenderTarget

      public RenderTarget getMainRenderTarget()
    • getLaunchedVersion

      public String getLaunchedVersion()
    • getVersionType

      public String getVersionType()
    • delayCrash

      public void delayCrash(CrashReport crash)
      Overrides:
      delayCrash in class BlockableEventLoop<Runnable>
    • emergencySaveAndCrash

      public void emergencySaveAndCrash(CrashReport partialReport)
    • saveReport

      public static int saveReport(File gameDirectory, CrashReport crash)
    • crash

      public static void crash(@Nullable Minecraft minecraft, File gameDirectory, CrashReport crash)
    • saveReportAndShutdownSoundManager

      private static int saveReportAndShutdownSoundManager(@Nullable Minecraft minecraft, File gameDirectory, CrashReport crash)
    • isEnforceUnicode

      public boolean isEnforceUnicode()
    • reloadResourcePacks

      public CompletableFuture<Void> reloadResourcePacks()
    • reloadResourcePacks

      private CompletableFuture<Void> reloadResourcePacks(boolean isRecovery, @Nullable Minecraft.GameLoadCookie loadCookie)
    • selfTest

      private void selfTest()
    • getLevelSource

      public LevelStorageSource getLevelSource()
    • openChatScreen

      public void openChatScreen(ChatComponent.ChatMethod chatMethod)
    • setScreen

      public void setScreen(@Nullable Screen screen)
    • setOverlay

      public void setOverlay(@Nullable Overlay overlay)
    • destroy

      public void destroy()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface TaskScheduler<Runnable>
    • runTick

      private void runTick(boolean advanceGameTime)
    • renderFrame

      private void renderFrame(boolean advanceGameTime)
    • pauseIfInactive

      private void pauseIfInactive()
    • constructProfiler

      private ProfilerFiller constructProfiler(boolean shouldCollectFrameProfile, @Nullable SingleTickProfiler tickProfiler)
    • finishProfilers

      private void finishProfilers(boolean shouldCollectFrameProfile, @Nullable SingleTickProfiler tickProfiler)
    • resizeGui

      public void resizeGui()
      Specified by:
      resizeGui in interface WindowEventHandler
    • cursorEntered

      public void cursorEntered()
      Specified by:
      cursorEntered in interface WindowEventHandler
    • getFps

      public int getFps()
    • getFrameTimeNs

      public long getFrameTimeNs()
    • sendLowDiskSpaceWarning

      public void sendLowDiskSpaceWarning()
    • emergencySave

      private void emergencySave()
    • debugClientMetricsStart

      public boolean debugClientMetricsStart(Consumer<Component> debugFeedback)
    • debugClientMetricsStop

      private void debugClientMetricsStop()
    • debugClientMetricsCancel

      private void debugClientMetricsCancel()
    • archiveProfilingReport

      private Path archiveProfilingReport(SystemReport systemReport, List<Path> profilingResultPaths)
    • stop

      public void stop()
    • isRunning

      public boolean isRunning()
    • pauseGame

      public void pauseGame(boolean suppressPauseMenuIfWeReallyArePausing)
    • continueAttack

      private void continueAttack(boolean down)
    • startAttack

      private boolean startAttack()
    • startUseItem

      private void startUseItem()
    • getMusicManager

      public MusicManager getMusicManager()
    • tick

      public void tick()
    • isLevelRunningNormally

      private boolean isLevelRunningNormally()
    • isMultiplayerServer

      private boolean isMultiplayerServer()
    • handleKeybinds

      private void handleKeybinds()
    • getQuickActionsDialog

      private Optional<Holder<Dialog>> getQuickActionsDialog()
    • getTelemetryManager

      public ClientTelemetryManager getTelemetryManager()
    • getGpuUtilization

      public double getGpuUtilization()
    • getProfileKeyPairManager

      public ProfileKeyPairManager getProfileKeyPairManager()
    • createWorldOpenFlows

      public WorldOpenFlows createWorldOpenFlows()
    • doWorldLoad

      public void doWorldLoad(LevelStorageSource.LevelStorageAccess levelSourceAccess, PackRepository packRepository, WorldStem worldStem, Optional<GameRules> gameRules, boolean newWorld)
    • setLevel

      public void setLevel(ClientLevel level)
    • disconnectFromWorld

      public void disconnectFromWorld(Component message)
    • disconnectWithSavingScreen

      public void disconnectWithSavingScreen()
    • disconnectWithProgressScreen

      public void disconnectWithProgressScreen()
    • disconnectWithProgressScreen

      public void disconnectWithProgressScreen(boolean stopSound)
    • disconnect

      public void disconnect(Screen screen, boolean keepResourcePacks)
    • disconnect

      public void disconnect(Screen screen, boolean keepResourcePacks, boolean stopSound)
    • clearDownloadedResourcePacks

      public void clearDownloadedResourcePacks()
    • clearClientLevel

      public void clearClientLevel(Screen screen)
    • setScreenAndShow

      public void setScreenAndShow(Screen screen)
    • updateLevelInEngines

      private void updateLevelInEngines(@Nullable ClientLevel level)
    • updateLevelInEngines

      private void updateLevelInEngines(@Nullable ClientLevel level, boolean stopSound)
    • userProperties

      private UserApiService.UserProperties userProperties()
    • telemetryOptInExtra

      public boolean telemetryOptInExtra()
    • extraTelemetryAvailable

      public boolean extraTelemetryAvailable()
    • allowsTelemetry

      public boolean allowsTelemetry()
    • allowsMultiplayer

      public boolean allowsMultiplayer()
    • allowsRealms

      public boolean allowsRealms()
    • multiplayerBan

      public @Nullable BanDetails multiplayerBan()
    • isNameBanned

      public boolean isNameBanned()
    • isBlocked

      public boolean isBlocked(UUID uuid)
    • isLocalOrUnknownPlayer

      private boolean isLocalOrUnknownPlayer(UUID uuid)
    • computeChatAbilities

      public ChatAbilities computeChatAbilities()
    • isDemo

      public final boolean isDemo()
    • canSwitchGameMode

      public final boolean canSwitchGameMode()
    • getConnection

      public @Nullable ClientPacketListener getConnection()
    • renderNames

      public static boolean renderNames()
    • useShaderTransparency

      public static boolean useShaderTransparency()
    • pickBlockOrEntity

      private void pickBlockOrEntity()
    • fillReport

      public CrashReport fillReport(CrashReport report)
    • fillReport

      public static void fillReport(@Nullable Minecraft minecraft, @Nullable LanguageManager languageManager, String launchedVersion, @Nullable Options options, CrashReport report)
    • formatSeconds

      private static String formatSeconds(double timeInSeconds)
    • fillUptime

      private void fillUptime(CrashReportCategory category)
    • fillSystemReport

      private static SystemReport fillSystemReport(SystemReport systemReport, @Nullable Minecraft minecraft, @Nullable LanguageManager languageManager, String launchedVersion, @Nullable Options options)
    • getInstance

      public static Minecraft getInstance()
    • delayTextureReload

      public CompletableFuture<Void> delayTextureReload()
    • updateReportEnvironment

      public void updateReportEnvironment(ReportEnvironment environment)
    • getCurrentServer

      public @Nullable ServerData getCurrentServer()
    • isLocalServer

      public boolean isLocalServer()
    • hasSingleplayerServer

      public boolean hasSingleplayerServer()
    • getSingleplayerServer

      public @Nullable IntegratedServer getSingleplayerServer()
    • isSingleplayer

      public boolean isSingleplayer()
    • isLocalPlayer

      public boolean isLocalPlayer(UUID profileId)
    • getUser

      public User getUser()
    • getGameProfile

      public GameProfile getGameProfile()
    • getProxy

      public Proxy getProxy()
    • getTextureManager

      public TextureManager getTextureManager()
    • getShaderManager

      public ShaderManager getShaderManager()
    • getResourceManager

      public ResourceManager getResourceManager()
    • getResourcePackRepository

      public PackRepository getResourcePackRepository()
    • getVanillaPackResources

      public VanillaPackResources getVanillaPackResources()
    • getDownloadedPackSource

      public DownloadedPackSource getDownloadedPackSource()
    • getResourcePackDirectory

      public Path getResourcePackDirectory()
    • getLanguageManager

      public LanguageManager getLanguageManager()
    • isPaused

      public boolean isPaused()
    • getGpuWarnlistManager

      public GpuWarnlistManager getGpuWarnlistManager()
    • getSoundManager

      public SoundManager getSoundManager()
    • getSituationalMusic

      public @Nullable Music getSituationalMusic()
    • getMusicVolume

      public float getMusicVolume()
    • services

      public Services services()
    • getSkinManager

      public SkinManager getSkinManager()
    • getCameraEntity

      public @Nullable Entity getCameraEntity()
    • setCameraEntity

      public void setCameraEntity(@Nullable Entity cameraEntity)
    • shouldEntityAppearGlowing

      public boolean shouldEntityAppearGlowing(Entity entity)
    • getRunningThread

      protected Thread getRunningThread()
      Specified by:
      getRunningThread in class BlockableEventLoop<Runnable>
    • wrapRunnable

      public Runnable wrapRunnable(Runnable runnable)
      Specified by:
      wrapRunnable in interface TaskScheduler<Runnable>
    • shouldRun

      protected boolean shouldRun(Runnable task)
      Specified by:
      shouldRun in class BlockableEventLoop<Runnable>
    • getEntityRenderDispatcher

      public EntityRenderDispatcher getEntityRenderDispatcher()
    • getBlockEntityRenderDispatcher

      public BlockEntityRenderDispatcher getBlockEntityRenderDispatcher()
    • getMapRenderer

      public MapRenderer getMapRenderer()
    • getFixerUpper

      public DataFixer getFixerUpper()
    • getDeltaTracker

      public DeltaTracker getDeltaTracker()
    • getBlockColors

      public BlockColors getBlockColors()
    • showOnlyReducedInfo

      public boolean showOnlyReducedInfo()
    • getToastManager

      public ToastManager getToastManager()
    • getTutorial

      public Tutorial getTutorial()
    • isWindowActive

      public boolean isWindowActive()
    • getHotbarManager

      public HotbarManager getHotbarManager()
    • getModelManager

      public ModelManager getModelManager()
    • getAtlasManager

      public AtlasManager getAtlasManager()
    • getMapTextureManager

      public MapTextureManager getMapTextureManager()
    • getWaypointStyles

      public WaypointStyleManager getWaypointStyles()
    • grabPanoramixScreenshot

      public Component grabPanoramixScreenshot(File folder)
    • getSplashManager

      public SplashManager getSplashManager()
    • getOverlay

      public @Nullable Overlay getOverlay()
    • getPlayerSocialManager

      public PlayerSocialManager getPlayerSocialManager()
    • getWindow

      public Window getWindow()
    • textInputManager

      public TextInputManager textInputManager()
    • onTextInputFocusChange

      public void onTextInputFocusChange(GuiEventListener element, boolean isFocused)
    • getFramerateLimitTracker

      public FramerateLimitTracker getFramerateLimitTracker()
    • getDebugOverlay

      public DebugScreenOverlay getDebugOverlay()
    • renderBuffers

      public RenderBuffers renderBuffers()
    • updateMaxMipLevel

      public void updateMaxMipLevel(int mipmapLevels)
    • getEntityModels

      public EntityModelSet getEntityModels()
    • isTextFilteringEnabled

      public boolean isTextFilteringEnabled()
    • prepareForMultiplayer

      public void prepareForMultiplayer()
    • getLastInputType

      public InputType getLastInputType()
    • setLastInputType

      public void setLastInputType(InputType lastInputType)
    • getNarrator

      public GameNarrator getNarrator()
    • getChatListener

      public ChatListener getChatListener()
    • getReportingContext

      public ReportingContext getReportingContext()
    • realmsDataFetcher

      public RealmsDataFetcher realmsDataFetcher()
    • quickPlayLog

      public QuickPlayLog quickPlayLog()
    • commandHistory

      public CommandHistory commandHistory()
    • directoryValidator

      public DirectoryValidator directoryValidator()
    • playerSkinRenderCache

      public PlayerSkinRenderCache playerSkinRenderCache()
    • getTickTargetMillis

      private float getTickTargetMillis(float defaultTickTargetMillis)
    • getBlockModelResolver

      public BlockModelResolver getBlockModelResolver()
    • getItemModelResolver

      public ItemModelResolver getItemModelResolver()
    • canInterruptScreen

      public boolean canInterruptScreen()
    • getLauncherBrand

      public static @Nullable String getLauncherBrand()
    • packetProcessor

      public PacketProcessor packetProcessor()
    • collectPerTickGizmos

      public Gizmos.TemporaryCollection collectPerTickGizmos()
    • getPerTickGizmos

      public Collection<SimpleGizmoCollector.GizmoInstance> getPerTickGizmos()
    • pick

      private void pick(float partialTicks)