All Classes and Interfaces
Class
Description
Abstract base class for
Command
.This class handles the lifecycle of launching and running a Process.
Validates that an account actually owns the game.
Its possible that multiple classes named
HeadlessMcApi
exist on multiple Classloaders.Modlauncher, BootstrapLauncher and SecureJarHandler all call ModuleLayer.boot sometimes.
The simplest
CommandLineReader
implementation,
which reads InAndOutProvider
.getIn()
with a BufferedReader
.InputStream
wrapping a ByteBuffer
.A service for verifying hashes.
A
Command
implementation that delegates to another command.A
CommandContext
implementation that delegates to another CommandContext.Represents an executable command in HeadlessMc.
A JLine
Completer
that completes a given command with the current CommandContext
.Default implementation of
CommandContext
.A CommandException is meant to be used as a quick and easy way to exit the
execution of a command.
Everything related to reading commands from the command line.
Represents a blocking task that reads commands from a terminal, console or other InputStream.
Utility for working with
Command
s and CommandContext
s.org.lwjgl.system.CustomBuffer returns a generic SELF type everywhere.
A transformer that prints the name of every method that is called.
Wrapper around dev.xdark.deencapsulation.Deencapsulation,
which might already fail in the static initializer on Java 8,
so it must be handled with care.
A
CommandLineReader
that decides whether to use a BufferedCommandLineReader
or a ConsoleCommandLineReader
.Basically
Type.getDescriptor(Class)
since that class might not be
available at Runtime.Since Minecrafts Gameloop is just a while(True) loop which calls
org.lwjgl.opengl.Display.update()
and Thread.yield()
.If we want to run the game in headless mode
we do not need some assets like sounds and textures.
Manages the exit of HeadlessMc, by default
System.exit(int)
.Represents the family of a
HasParent
.Util for
HasParent
.Thrown by the
FileManager
.Forge 1.20.1 introduces the
net.minecraftforge.fml.earlydisplay.DisplayWindow
class.Creates a ProtectionDomain for
https://github.com/3arthqu4ke/ForgeCLI/blob/master/src/main/java/net/kunmc/lab/forgecli/Main.java
Objects of this type hold an instance of an
CommandContext
.A type which holds a
Config
.A Type which can be described.
A type which can be identified by an id.
A type which can be named.
A type which has a parent of a certain type.
Represents a HeadlessMc instance.
Provides a global instance of
HeadlessMc
.A default implementation for the
HeadlessMc
interface.The HeadlessMc wrapper will load the launcher through a custom Classloader.
A
Command
implementation that displays information about Commands from a CommandContext
.Interface that can be implemented by a
Handler
to show that it should not be removed by a LoggingService
.Properties shared by both the HeadlessMc-Runtime and the
HeadlessMc-Launcher.
Utility for dealing with Instructions.
Represents a Java executable.
Because the
Java9Classloader.findClass(String, String)
does not exist on Java 8 classloaders we have this interface,
so that when compiling with Java 8 still have a method to override in ModuleURLClassLoader
.An implementation of a
CommandLineReader
that reads commands from a JLine Terminal
with a LineReader
.A collection of properties for configuring JLine.
Information about a
StepFullJavaSession
that is required to launch the game.Represents the HeadlessMc launcher and everything that belongs to it.
Holds a globally available instance of the HeadlessMc Launcher.
Helps with building and initializing
Launcher
instances.Manages the directories the HeadlessMc Launcher will work in.
Properties used by the launcher.
cpw's BootstrapLauncher turns a classpath environment into a modularized one.
Custom LoggerFactory for
CustomLog
.System Properties to configure logging.
Manages
Logger
s for HMC.A JavaAgent calling the
LwjglTransformer
.A given
ClassNode
will be transformed in the following ways:Main entry point for HeadlessMc.
A
Command
implementation that displays the currently used memory, free memory and max memory of the JVM.Redirections for memoryReallocation, those methods of
org.lwjgl.system.MemoryUtil
that make ByteBuffers larger.An
URLClassLoader
that looks through the modules of the given java.lang.module.Configuration to find classes.A
Command
that treats its given arguments as commands and executes them.Represents an Operating System.
Simplest implementation of
PasswordAware
.Minecrafts SoundManager spams us with some errorMessages if we use the -lwjgl
flag.
A type that provides a
Progressbar
.HeadlessMc can be started in two modes.
A
Command
that calls HeadlessMc's ExitManager
to quit the process.Utility for Reflection.
Gives you a Framework to construct your own
HeadlessMc
instances.A simple launcher for java programs that loads the classpath onto an
URLClassLoader
.TODO: is the STB library unsafe? couldn't we just load it?
On some platforms (Android) java.awt might not be available.
Helps with parsing SystemProperties from their specification on the command line.
Assists with building aligned tables.
Produces log messages like this: "[23:18:58] [main/INFO] [Test]:
Test", because Javas Formatter doesn't support getting the Thread name.
Utility for
URL
s.Represents a Minecraft version.
VersionArgument
but also allows to specify server as type.Information about a Minecraft version.
Exception thrown by
VersionSpecificModManager
s.Manages multiple
VersionSpecificModRepository
s.Represents a repository that provides downloads for a version specific mod, e.g.
Common version specific mods we use.