Package net.minecraft.client
Class Minecraft
- All Implemented Interfaces:
WindowEventHandler
,AutoCloseable
,Executor
,ProfilerMeasured
,ProcessorHandle<Runnable>
,IMinecraftExtension
public class Minecraft
extends ReentrantBlockableEventLoop<Runnable>
implements WindowEventHandler, IMinecraftExtension
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
(package private) static final record
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final boolean
private final boolean
static final ResourceLocation
private final com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService
private final BlockColors
private final BlockEntityRenderDispatcher
private final BlockRenderDispatcher
The BlockRenderDispatcher instance that will be used based off gamesettingsprivate final long
private final ChatListener
private boolean
private final long
private long
private final CommandHistory
private TimerQuery.FrameProfile
private String
final DebugRenderer
static final ResourceLocation
private Supplier
<CrashReport> private final boolean
private final DirectoryValidator
private final DownloadedPackSource
private final EntityModelSet
private final EntityRenderDispatcher
private final com.mojang.datafixers.DataFixer
final Font
final Font
private final FontManager
private static int
private final ContinuousProfiler
private int
private ProfileResults
private int
private long
final File
private boolean
final GameRenderer
private Thread
private double
private final GpuWarnlistManager
final Gui
private final GuiSpriteManager
private final HotbarManager
(package private) static Minecraft
private boolean
private final ItemColors
private final ItemRenderer
final KeyboardHandler
private final LanguageManager
private InputType
private long
Time in nanoseconds of when the class is loadedprivate long
private final String
final LevelRenderer
private final LevelStorageSource
private static final org.slf4j.Logger
private final RenderTarget
private final MapDecorationTextureManager
private static final int
private MetricsRecorder
private final com.mojang.authlib.minecraft.MinecraftSessionService
protected int
private final MobEffectTextureManager
private final ModelManager
final MouseHandler
private final MusicManager
private final GameNarrator
boolean
static final boolean
final Options
private Overlay
private final PaintingTextureManager
final ParticleEngine
private boolean
private Connection
private CompletableFuture
<Void> private final PlayerSocialManager
private final CompletableFuture
<com.mojang.authlib.yggdrasil.ProfileResult> private final ProfileKeyPairManager
private ProfilerFiller
private final AtomicReference
<StoringChunkProgressListener> private final Proxy
private final QuickPlayLog
private final RealmsDataFetcher
private static final ResourceLocation
private final PeriodicNotificationManager
private final ResourceLoadStateTracker
private final RenderBuffers
private ReportingContext
private static final CompletableFuture
<Unit> private final ReloadableResourceManager
private final Path
private final PackRepository
private int
private boolean
private long
boolean
boolean
private IntegratedServer
private final SkinManager
boolean
private static final Component
private TutorialToast
private final SoundManager
private final SplashManager
private final ClientTelemetryManager
private final TextureManager
private final DeltaTracker.Timer
private final ToastComponent
private final Tutorial
static final ResourceLocation
static final String
private final User
private final com.mojang.authlib.minecraft.UserApiService
private final CompletableFuture
<com.mojang.authlib.minecraft.UserApiService.UserProperties> private final VanillaPackResources
private final String
private final VirtualScreen
private final Window
private boolean
boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
private void
addCustomNbtData
(ItemStack stack, BlockEntity blockEntity, RegistryAccess registryAccess) private void
addInitialScreens
(List<Function<Runnable, Screen>> output) private void
addResourcePackLoadFailToast
(Component message) boolean
boolean
boolean
private Path
archiveProfilingReport
(SystemReport report, List<Path> paths) private Runnable
buildInitialScreens
(Minecraft.GameLoadCookie gameLoadCookie) boolean
static ModCheck
void
clearClientLevel
(Screen nextScreen) void
void
clearResourcePacksOnError
(Throwable throwable, Component errorMessage, Minecraft.GameLoadCookie gameLoadCookie) void
close()
private ProfilerFiller
constructProfiler
(boolean renderFpsPie, SingleTickProfiler singleTickProfiler) private void
continueAttack
(boolean leftClick) private static boolean
countryEqualsISO3
(Object country) static void
crash
(Minecraft minecraft, File gameDirectory, CrashReport crashReport) private String
private com.mojang.authlib.minecraft.UserApiService
createUserApiService
(com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService authenticationService, GameConfig gameConfig) void
private void
boolean
debugClientMetricsStart
(Consumer<Component> logger) private void
void
debugFpsMeterKeyPress
(int keyCount) Update debugProfilerName in response to number keys in debug screenvoid
delayCrash
(CrashReport report) void
delayCrashRaw
(CrashReport report) void
destroy()
void
void
disconnect
(Screen nextScreen) void
disconnect
(Screen nextScreen, boolean keepResourcePacks) void
doWorldLoad
(LevelStorageSource.LevelStorageAccess levelStorage, PackRepository packRepository, WorldStem worldStem, boolean newWorld) private void
void
emergencySaveAndCrash
(CrashReport crashReport) boolean
static void
fillReport
(Minecraft minecraft, LanguageManager languageManager, String launchVersion, Options options, CrashReport report) fillReport
(CrashReport theCrash) Adds core server Info (GL version, Texture pack, isModded, type), and the worldInfo to the crash report.private static SystemReport
fillSystemReport
(SystemReport report, Minecraft minecraft, LanguageManager languageManager, String launchVersion, Options options) private void
fillUptime
(CrashReportCategory category) private void
finishProfilers
(boolean renderFpsPie, SingleTickProfiler profiler) void
forceSetScreen
(Screen screen) private static String
formatSeconds
(double seconds) com.mojang.datafixers.DataFixer
int
getFps()
private int
long
com.mojang.authlib.GameProfile
double
static Minecraft
static String
com.mojang.authlib.minecraft.MinecraftSessionService
getProxy()
protected Thread
getTextureAtlas
(ResourceLocation location) private float
getTickTargetMillis
(float defaultValue) getTimer()
getUser()
private Component
grabHugeScreenshot
(File gameDirectory, int columnWidth, int rowHeight, int width, int height) grabPanoramixScreenshot
(File gameDirectory, int width, int height) private void
private void
boolean
boolean
final boolean
isDemo()
boolean
boolean
private boolean
boolean
isLocalPlayer
(UUID uuid) boolean
private boolean
boolean
boolean
isPaused()
boolean
boolean
boolean
boolean
com.mojang.authlib.minecraft.BanDetails
private void
onFullscreenError
(int error, long description) private void
onGameLoadFinished
(Minecraft.GameLoadCookie gameLoadCookie) private void
onResourceLoadFinished
(Minecraft.GameLoadCookie gameLoadCookie) private void
openChatScreen
(String defaultText) void
pauseGame
(boolean pauseOnly) Displays the ingame menuprivate void
void
private CompletableFuture
<Void> reloadResourcePacks
(boolean error, Minecraft.GameLoadCookie gameLoadCookie) private void
renderFpsMeter
(GuiGraphics guiGraphics, ProfileResults profileResults) static boolean
void
private void
rollbackResourcePacks
(Throwable throwable, Minecraft.GameLoadCookie gameLoadCookie) void
run()
private void
runTick
(boolean renderLevel) private void
selfTest()
void
setCameraEntity
(Entity viewingEntity) void
setLastInputType
(InputType lastInputType) void
setLevel
(ClientLevel level, ReceivingLevelScreen.Reason reason) void
setOverlay
(Overlay loadingGui) void
void
setWindowActive
(boolean focused) boolean
shouldEntityAppearGlowing
(Entity entity) protected boolean
boolean
private boolean
private void
void
stop()
boolean
void
tick()
(package private) void
private void
updateLevelInEngines
(ClientLevel level) void
updateMaxMipLevel
(int mipMapLevel) void
updateReportEnvironment
(ReportEnvironment reportEnvironment) private void
updateScreenAndTick
(Screen screen) void
static boolean
static boolean
private com.mojang.authlib.minecraft.UserApiService.UserProperties
static boolean
protected Runnable
wrapRunnable
(Runnable runnable) Methods inherited from class net.minecraft.util.thread.ReentrantBlockableEventLoop
doRunTask, runningTask, scheduleExecutables
Methods inherited from class net.minecraft.util.thread.BlockableEventLoop
dropAllTasks, execute, executeBlocking, executeIfPossible, getPendingTasksCount, isSameThread, managedBlock, name, pollTask, profiledMetrics, runAllTasks, submit, submit, submitAsync, tell, waitForTasks
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.neoforged.neoforge.client.extensions.IMinecraftExtension
getLocale, popGuiLayer, pushGuiLayer
Methods inherited from interface net.minecraft.util.thread.ProcessorHandle
ask, askEither
-
Field Details
-
instance
-
LOGGER
private static final org.slf4j.Logger LOGGER -
ON_OSX
public static final boolean ON_OSX -
MAX_TICKS_PER_UPDATE
private static final int MAX_TICKS_PER_UPDATE- See Also:
-
DEFAULT_FONT
-
UNIFORM_FONT
-
ALT_FONT
-
REGIONAL_COMPLIANCIES
-
RESOURCE_RELOAD_INITIAL_TASK
-
SOCIAL_INTERACTIONS_NOT_AVAILABLE
-
UPDATE_DRIVERS_ADVICE
- See Also:
-
canary
private final long canary -
resourcePackDirectory
-
profileFuture
-
textureManager
-
fixerUpper
private final com.mojang.datafixers.DataFixer fixerUpper -
virtualScreen
-
window
-
timer
-
renderBuffers
-
levelRenderer
-
entityRenderDispatcher
-
itemRenderer
-
particleEngine
-
user
-
font
-
fontFilterFishy
-
gameRenderer
-
debugRenderer
-
progressListener
-
gui
-
options
-
hotbarManager
-
mouseHandler
-
keyboardHandler
-
lastInputType
-
gameDirectory
-
launchedVersion
-
versionType
-
proxy
-
levelSource
-
demo
private final boolean demo -
allowsMultiplayer
private final boolean allowsMultiplayer -
allowsChat
private final boolean allowsChat -
resourceManager
-
vanillaPackResources
-
downloadedPackSource
-
resourcePackRepository
-
languageManager
-
blockColors
-
itemColors
-
mainRenderTarget
-
soundManager
-
musicManager
-
fontManager
-
splashManager
-
gpuWarnlistManager
-
regionalCompliancies
-
authenticationService
private final com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService authenticationService -
minecraftSessionService
private final com.mojang.authlib.minecraft.MinecraftSessionService minecraftSessionService -
userApiService
private final com.mojang.authlib.minecraft.UserApiService userApiService -
userPropertiesFuture
private final CompletableFuture<com.mojang.authlib.minecraft.UserApiService.UserProperties> userPropertiesFuture -
skinManager
-
modelManager
-
blockRenderer
The BlockRenderDispatcher instance that will be used based off gamesettings -
paintingTextures
-
mobEffectTextures
-
mapDecorationTextures
-
guiSprites
-
toast
-
tutorial
-
playerSocialManager
-
entityModels
-
blockEntityRenderDispatcher
-
telemetryManager
-
profileKeyPairManager
-
realmsDataFetcher
-
quickPlayLog
-
gameMode
-
level
-
player
-
singleplayerServer
-
pendingConnection
-
isLocalServer
private boolean isLocalServer -
cameraEntity
-
crosshairPickEntity
-
hitResult
-
rightClickDelay
private int rightClickDelay -
missTime
protected int missTime -
pause
private volatile boolean pause -
lastNanoTime
private long lastNanoTimeTime in nanoseconds of when the class is loaded -
lastTime
private long lastTime -
frames
private int frames -
noRender
public boolean noRender -
screen
-
overlay
-
clientLevelTeardownInProgress
private boolean clientLevelTeardownInProgress -
gameThread
-
running
private volatile boolean running -
delayedCrash
-
fps
private static int fps -
fpsString
-
frameTimeNs
private long frameTimeNs -
wireframe
public boolean wireframe -
sectionPath
public boolean sectionPath -
sectionVisibility
public boolean sectionVisibility -
smartCull
public boolean smartCull -
windowActive
private boolean windowActive -
progressTasks
-
pendingReload
-
profiler
-
fpsPieRenderTicks
private int fpsPieRenderTicks -
fpsPieProfiler
-
fpsPieResults
-
metricsRecorder
-
reloadStateTracker
-
savedCpuDuration
private long savedCpuDuration -
gpuUtilization
private double gpuUtilization -
currentFrameProfile
-
narrator
-
chatListener
-
reportingContext
-
commandHistory
-
directoryValidator
-
gameLoadFinished
private boolean gameLoadFinished -
clientStartTimeMs
private final long clientStartTimeMs -
clientTickCount
private long clientTickCount -
debugPath
-
-
Constructor Details
-
Minecraft
-
-
Method Details
-
onResourceLoadFinished
-
onGameLoadFinished
-
isGameLoadFinished
public boolean isGameLoadFinished() -
buildInitialScreens
-
addInitialScreens
-
countryEqualsISO3
-
updateTitle
public void updateTitle() -
createTitle
-
createUserApiService
private com.mojang.authlib.minecraft.UserApiService createUserApiService(com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService authenticationService, GameConfig gameConfig) -
checkModStatus
-
rollbackResourcePacks
private void rollbackResourcePacks(Throwable throwable, @Nullable Minecraft.GameLoadCookie gameLoadCookie) -
clearResourcePacksOnError
public void clearResourcePacksOnError(Throwable throwable, @Nullable Component errorMessage, @Nullable Minecraft.GameLoadCookie gameLoadCookie) -
abortResourcePackRecovery
private void abortResourcePackRecovery() -
addResourcePackLoadFailToast
-
run
public void run() -
updateFontOptions
void updateFontOptions() -
onFullscreenError
private void onFullscreenError(int error, long description) -
getMainRenderTarget
-
getLaunchedVersion
-
getVersionType
-
delayCrash
-
delayCrashRaw
-
handleDelayedCrash
private void handleDelayedCrash() -
emergencySaveAndCrash
-
crash
public static void crash(@Nullable Minecraft minecraft, File gameDirectory, CrashReport crashReport) -
isEnforceUnicode
public boolean isEnforceUnicode() -
reloadResourcePacks
-
reloadResourcePacks
private CompletableFuture<Void> reloadResourcePacks(boolean error, @Nullable Minecraft.GameLoadCookie gameLoadCookie) -
selfTest
private void selfTest() -
getLevelSource
-
openChatScreen
-
setScreen
-
setOverlay
-
destroy
public void destroy() -
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceProcessorHandle<Runnable>
-
runTick
private void runTick(boolean renderLevel) -
constructProfiler
private ProfilerFiller constructProfiler(boolean renderFpsPie, @Nullable SingleTickProfiler singleTickProfiler) -
finishProfilers
-
resizeDisplay
public void resizeDisplay()- Specified by:
resizeDisplay
in interfaceWindowEventHandler
-
cursorEntered
public void cursorEntered()- Specified by:
cursorEntered
in interfaceWindowEventHandler
-
getFps
public int getFps() -
getFrameTimeNs
public long getFrameTimeNs() -
getFramerateLimit
private int getFramerateLimit() -
emergencySave
private void emergencySave() -
debugClientMetricsStart
-
debugClientMetricsStop
private void debugClientMetricsStop() -
debugClientMetricsCancel
private void debugClientMetricsCancel() -
archiveProfilingReport
-
debugFpsMeterKeyPress
public void debugFpsMeterKeyPress(int keyCount) Update debugProfilerName in response to number keys in debug screen -
renderFpsMeter
-
stop
public void stop() -
isRunning
public boolean isRunning() -
pauseGame
public void pauseGame(boolean pauseOnly) Displays the ingame menu -
continueAttack
private void continueAttack(boolean leftClick) -
startAttack
private boolean startAttack() -
startUseItem
private void startUseItem() -
getMusicManager
-
tick
public void tick() -
isLevelRunningNormally
private boolean isLevelRunningNormally() -
isMultiplayerServer
private boolean isMultiplayerServer() -
handleKeybinds
private void handleKeybinds() -
getTelemetryManager
-
getGpuUtilization
public double getGpuUtilization() -
getProfileKeyPairManager
-
createWorldOpenFlows
-
doWorldLoad
public void doWorldLoad(LevelStorageSource.LevelStorageAccess levelStorage, PackRepository packRepository, WorldStem worldStem, boolean newWorld) -
setLevel
-
disconnect
public void disconnect() -
disconnect
-
disconnect
-
clearDownloadedResourcePacks
public void clearDownloadedResourcePacks() -
clearClientLevel
-
updateScreenAndTick
-
forceSetScreen
-
updateLevelInEngines
-
userProperties
private com.mojang.authlib.minecraft.UserApiService.UserProperties userProperties() -
telemetryOptInExtra
public boolean telemetryOptInExtra() -
extraTelemetryAvailable
public boolean extraTelemetryAvailable() -
allowsTelemetry
public boolean allowsTelemetry() -
allowsMultiplayer
public boolean allowsMultiplayer() -
allowsRealms
public boolean allowsRealms() -
multiplayerBan
@Nullable public com.mojang.authlib.minecraft.BanDetails multiplayerBan() -
isNameBanned
public boolean isNameBanned() -
isBlocked
-
getChatStatus
-
isDemo
public final boolean isDemo() -
getConnection
-
renderNames
public static boolean renderNames() -
useFancyGraphics
public static boolean useFancyGraphics() -
useShaderTransparency
public static boolean useShaderTransparency() -
useAmbientOcclusion
public static boolean useAmbientOcclusion() -
pickBlock
private void pickBlock() -
addCustomNbtData
private void addCustomNbtData(ItemStack stack, BlockEntity blockEntity, RegistryAccess registryAccess) -
fillReport
Adds core server Info (GL version, Texture pack, isModded, type), and the worldInfo to the crash report. -
fillReport
public static void fillReport(@Nullable Minecraft minecraft, @Nullable LanguageManager languageManager, String launchVersion, @Nullable Options options, CrashReport report) -
formatSeconds
-
fillUptime
-
fillSystemReport
private static SystemReport fillSystemReport(SystemReport report, @Nullable Minecraft minecraft, @Nullable LanguageManager languageManager, String launchVersion, @Nullable Options options) -
getInstance
-
delayTextureReload
-
updateReportEnvironment
-
getCurrentServer
-
isLocalServer
public boolean isLocalServer() -
hasSingleplayerServer
public boolean hasSingleplayerServer() -
getSingleplayerServer
-
isSingleplayer
public boolean isSingleplayer() -
isLocalPlayer
-
getUser
-
getGameProfile
public com.mojang.authlib.GameProfile getGameProfile() -
getProxy
-
getTextureManager
-
getResourceManager
-
getResourcePackRepository
-
getVanillaPackResources
-
getDownloadedPackSource
-
getResourcePackDirectory
-
getLanguageManager
-
getTextureAtlas
-
isPaused
public boolean isPaused() -
getGpuWarnlistManager
-
getSoundManager
-
getSituationalMusic
-
getMinecraftSessionService
public com.mojang.authlib.minecraft.MinecraftSessionService getMinecraftSessionService() -
getSkinManager
-
getCameraEntity
-
setCameraEntity
-
shouldEntityAppearGlowing
-
getRunningThread
- Specified by:
getRunningThread
in classBlockableEventLoop<Runnable>
-
wrapRunnable
- Specified by:
wrapRunnable
in classBlockableEventLoop<Runnable>
-
shouldRun
- Specified by:
shouldRun
in classBlockableEventLoop<Runnable>
-
getBlockRenderer
-
getEntityRenderDispatcher
-
getBlockEntityRenderDispatcher
-
getItemRenderer
-
getFixerUpper
public com.mojang.datafixers.DataFixer getFixerUpper() -
getTimer
-
getBlockColors
-
showOnlyReducedInfo
public boolean showOnlyReducedInfo() -
getToasts
-
getTutorial
-
isWindowActive
public boolean isWindowActive() -
getHotbarManager
-
getModelManager
-
getPaintingTextures
-
getMobEffectTextures
-
getMapDecorationTextures
-
getGuiSprites
-
setWindowActive
public void setWindowActive(boolean focused) - Specified by:
setWindowActive
in interfaceWindowEventHandler
-
grabPanoramixScreenshot
-
grabHugeScreenshot
-
getProfiler
-
getProgressListener
-
getSplashManager
-
getOverlay
-
getPlayerSocialManager
-
getWindow
-
getDebugOverlay
-
renderBuffers
-
updateMaxMipLevel
public void updateMaxMipLevel(int mipMapLevel) -
getItemColors
-
getEntityModels
-
isTextFilteringEnabled
public boolean isTextFilteringEnabled() -
prepareForMultiplayer
public void prepareForMultiplayer() -
getProfileKeySignatureValidator
-
canValidateProfileKeys
public boolean canValidateProfileKeys() -
getLastInputType
-
setLastInputType
-
getNarrator
-
getChatListener
-
getReportingContext
-
realmsDataFetcher
-
quickPlayLog
-
commandHistory
-
directoryValidator
-
getTickTargetMillis
private float getTickTargetMillis(float defaultValue) -
getLauncherBrand
-
socialInteractionsToast