Package net.minestom.server
Class MinecraftServer
java.lang.Object
net.minestom.server.MinecraftServer
The main server class used to start the server and retrieve all the managers.
The server needs to be initialized with init()
and started with start(String, int)
.
You should register all of your dimensions, biomes, commands, events, etc... in-between.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic @NotNull DynamicRegistry
<BinaryTagSerializer<? extends EntityEffect>> static @NotNull DynamicRegistry
<BinaryTagSerializer<? extends LevelBasedValue>> static @NotNull DynamicRegistry
<BinaryTagSerializer<? extends LocationEffect>> static @NotNull DynamicRegistry
<BinaryTagSerializer<? extends ValueEffect>> static AdvancementManager
static @NotNull DynamicRegistry
<BannerPattern> static @NotNull BenchmarkManager
Gets the manager handling server monitoring.static @NotNull DynamicRegistry
<Biome> static @NotNull BlockManager
static @NotNull BossBarManager
static @NotNull String
Gets the current server brand name.static @NotNull DynamicRegistry
<ChatType> static int
Deprecated.static @NotNull CommandManager
static int
Gets the compression threshold of the server.static @NotNull ConnectionManager
static @NotNull DynamicRegistry
<DamageType> static @NotNull Difficulty
Gets the server difficulty showed in game option.static @NotNull DynamicRegistry
<DimensionType> static @NotNull DynamicRegistry
<Enchantment> static int
Deprecated.static @NotNull ExceptionManager
static @NotNull GlobalEventHandler
static @NotNull InstanceManager
static @NotNull DynamicRegistry
<JukeboxSong> static @NotNull PacketListenerManager
static @NotNull PacketParser
<ClientPacket> static @NotNull DynamicRegistry
<PaintingMeta.Variant> static @NotNull RecipeManager
static @NotNull SchedulerManager
static Server
static TagManager
static @NotNull TeamManager
static @NotNull DynamicRegistry
<TrimMaterial> static @NotNull DynamicRegistry
<TrimPattern> static @NotNull DynamicRegistry
<WolfMeta.Variant> static MinecraftServer
init()
static boolean
static boolean
static @UnknownNullability ServerProcess
process()
static void
setBrandName
(@NotNull String brandName) Changes the server brand name and send the change to all connected players.static void
setCompressionThreshold
(int compressionThreshold) Changes the compression threshold of the server.static void
setDifficulty
(@NotNull Difficulty difficulty) Changes the server difficulty and send the appropriate packet to all connected clients.void
void
start
(@NotNull SocketAddress address) Starts the server.static void
Stops this server properly (saves if needed, kicking players, etc.)static ServerProcess
-
Field Details
-
LOGGER
public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger LOGGER -
THREAD_NAME_BENCHMARK
- See Also:
-
THREAD_NAME_TICK_SCHEDULER
- See Also:
-
THREAD_NAME_TICK
- See Also:
-
TICK_PER_SECOND
Deprecated. -
TICK_MS
public static final int TICK_MS -
VERSION_NAME
- See Also:
-
PROTOCOL_VERSION
static final int PROTOCOL_VERSION- See Also:
-
DATA_VERSION
static final int DATA_VERSION- See Also:
-
RESOURCE_PACK_VERSION
static final int RESOURCE_PACK_VERSION- See Also:
-
DATA_PACK_VERSION
static final int DATA_PACK_VERSION- See Also:
-
-
Constructor Details
-
MinecraftServer
public MinecraftServer()
-
-
Method Details
-
init
-
updateProcess
-
getBrandName
Gets the current server brand name.- Returns:
- the server brand name
-
setBrandName
Changes the server brand name and send the change to all connected players.- Parameters:
brandName
- the server brand name- Throws:
NullPointerException
- ifbrandName
is null
-
getDifficulty
Gets the server difficulty showed in game option.- Returns:
- the server difficulty
-
setDifficulty
Changes the server difficulty and send the appropriate packet to all connected clients.- Parameters:
difficulty
- the new server difficulty
-
process
-
getGlobalEventHandler
-
getPacketListenerManager
-
getInstanceManager
-
getBlockManager
-
getCommandManager
-
getRecipeManager
-
getTeamManager
-
getSchedulerManager
-
getBenchmarkManager
Gets the manager handling server monitoring.- Returns:
- the benchmark manager
-
getExceptionManager
-
getConnectionManager
-
getBossBarManager
-
getPacketParser
-
isStarted
public static boolean isStarted() -
isStopping
public static boolean isStopping() -
getChunkViewDistance
Deprecated.Gets the chunk view distance of the server.Deprecated in favor of
ServerFlag.CHUNK_VIEW_DISTANCE
- Returns:
- the chunk view distance
-
getEntityViewDistance
Deprecated.Gets the entity view distance of the server.Deprecated in favor of
ServerFlag.ENTITY_VIEW_DISTANCE
- Returns:
- the entity view distance
-
getCompressionThreshold
public static int getCompressionThreshold()Gets the compression threshold of the server.- Returns:
- the compression threshold, 0 means that compression is disabled
-
setCompressionThreshold
public static void setCompressionThreshold(int compressionThreshold) Changes the compression threshold of the server.WARNING: this need to be called before
start(SocketAddress)
.- Parameters:
compressionThreshold
- the new compression threshold, 0 to disable compression- Throws:
IllegalStateException
- if this is called after the server started
-
getAdvancementManager
-
getTagManager
-
getChatTypeRegistry
-
getDimensionTypeRegistry
-
getBiomeRegistry
-
getDamageTypeRegistry
-
getTrimMaterialRegistry
-
getTrimPatternRegistry
-
getBannerPatternRegistry
-
getWolfVariantRegistry
-
getEnchantmentRegistry
-
getPaintingVariantRegistry
-
getJukeboxSongRegistry
-
enchantmentLevelBasedValues
@NotNull public static @NotNull DynamicRegistry<BinaryTagSerializer<? extends LevelBasedValue>> enchantmentLevelBasedValues() -
enchantmentValueEffects
@NotNull public static @NotNull DynamicRegistry<BinaryTagSerializer<? extends ValueEffect>> enchantmentValueEffects() -
enchantmentEntityEffects
@NotNull public static @NotNull DynamicRegistry<BinaryTagSerializer<? extends EntityEffect>> enchantmentEntityEffects() -
enchantmentLocationEffects
@NotNull public static @NotNull DynamicRegistry<BinaryTagSerializer<? extends LocationEffect>> enchantmentLocationEffects() -
getServer
-
start
Starts the server.It should be called after
init()
and probably your own initialization code.- Parameters:
address
- the server address- Throws:
IllegalStateException
- if called beforeinit()
or if the server is already running
-
start
-
stopCleanly
public static void stopCleanly()Stops this server properly (saves if needed, kicking players, etc.)
-