Class MinecraftServer

java.lang.Object
net.minestom.server.MinecraftServer

public final class MinecraftServer extends Object
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 Details

  • Constructor Details

    • MinecraftServer

      public MinecraftServer()
  • Method Details

    • init

      public static MinecraftServer init()
    • updateProcess

      @Internal public static ServerProcess updateProcess()
    • getBrandName

      public static String getBrandName()
      Gets the current server brand name.
      Returns:
      the server brand name
    • setBrandName

      public static void setBrandName(String brandName)
      Changes the server brand name and send the change to all connected players.
      Parameters:
      brandName - the server brand name
      Throws:
      NullPointerException - if brandName is null
    • getDifficulty

      public static Difficulty getDifficulty()
      Gets the server difficulty showed in game option.
      Returns:
      the server difficulty
    • setDifficulty

      public static void setDifficulty(Difficulty difficulty)
      Changes the server difficulty and send the appropriate packet to all connected clients.
      Parameters:
      difficulty - the new server difficulty
    • process

      public static @UnknownNullability ServerProcess process()
    • getGlobalEventHandler

      public static GlobalEventHandler getGlobalEventHandler()
    • getPacketListenerManager

      public static PacketListenerManager getPacketListenerManager()
    • getInstanceManager

      public static InstanceManager getInstanceManager()
    • getBlockManager

      public static BlockManager getBlockManager()
    • getCommandManager

      public static CommandManager getCommandManager()
    • getRecipeManager

      public static RecipeManager getRecipeManager()
    • getTeamManager

      public static TeamManager getTeamManager()
    • getSchedulerManager

      public static SchedulerManager getSchedulerManager()
    • getBenchmarkManager

      public static BenchmarkManager getBenchmarkManager()
      Gets the manager handling server monitoring.
      Returns:
      the benchmark manager
    • getExceptionManager

      public static ExceptionManager getExceptionManager()
    • getConnectionManager

      public static ConnectionManager getConnectionManager()
    • getBossBarManager

      public static BossBarManager getBossBarManager()
    • getPacketParser

      public static PacketParser<ClientPacket> getPacketParser()
    • isStarted

      public static boolean isStarted()
    • isStopping

      public static boolean isStopping()
    • getChunkViewDistance

      @Deprecated public static int 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 public static int 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

      public static AdvancementManager getAdvancementManager()
    • getChatTypeRegistry

      public static DynamicRegistry<ChatType> getChatTypeRegistry()
    • getDialogRegistry

      public static DynamicRegistry<Dialog> getDialogRegistry()
    • getDimensionTypeRegistry

      public static DynamicRegistry<DimensionType> getDimensionTypeRegistry()
    • getBiomeRegistry

      public static DynamicRegistry<Biome> getBiomeRegistry()
    • getDamageTypeRegistry

      public static DynamicRegistry<DamageType> getDamageTypeRegistry()
    • getTrimMaterialRegistry

      public static DynamicRegistry<TrimMaterial> getTrimMaterialRegistry()
    • getTrimPatternRegistry

      public static DynamicRegistry<TrimPattern> getTrimPatternRegistry()
    • getBannerPatternRegistry

      public static DynamicRegistry<BannerPattern> getBannerPatternRegistry()
    • getWolfVariantRegistry

      public static DynamicRegistry<WolfVariant> getWolfVariantRegistry()
    • getEnchantmentRegistry

      public static DynamicRegistry<Enchantment> getEnchantmentRegistry()
    • getPaintingVariantRegistry

      public static DynamicRegistry<PaintingVariant> getPaintingVariantRegistry()
    • getJukeboxSongRegistry

      public static DynamicRegistry<JukeboxSong> getJukeboxSongRegistry()
    • getInstrumentRegistry

      public static DynamicRegistry<Instrument> getInstrumentRegistry()
    • enchantmentLevelBasedValues

      public static DynamicRegistry<StructCodec<? extends LevelBasedValue>> enchantmentLevelBasedValues()
    • enchantmentValueEffects

      public static DynamicRegistry<StructCodec<? extends ValueEffect>> enchantmentValueEffects()
    • enchantmentEntityEffects

      public static DynamicRegistry<StructCodec<? extends EntityEffect>> enchantmentEntityEffects()
    • enchantmentLocationEffects

      public static DynamicRegistry<StructCodec<? extends LocationEffect>> enchantmentLocationEffects()
    • getServer

      public static Server getServer()
    • start

      public void start(SocketAddress address)
      Starts the server.

      It should be called after init() and probably your own initialization code.

      Parameters:
      address - the server address
      Throws:
      IllegalStateException - if called before init() or if the server is already running
    • start

      public void start(String address, int port)
    • stopCleanly

      public static void stopCleanly()
      Stops this server properly (saves if needed, kicking players, etc.)