net.minecraft.world

## Class WorldServer

- java.lang.Object
- - net.minecraft.world.World
  - - net.minecraft.world.WorldServer

- All Implemented Interfaces:
    IBlockAccess
  Direct Known Subclasses:
    DemoWorldServer, WorldServerMulti

      public class WorldServer
      extends World

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `boolean` | `allPlayersSleeping` is false if there are no players
    `static WeightedRandomChestContent[]` | `bonusChestContent`
    `boolean` | `canNotSave` set by CommandServerSave{all,Off,On}
    `List<Teleporter>` | `customTeleporters`
    `ChunkProviderServer` | `theChunkProviderServer`

    - ### Fields inherited from class net.minecraft.world.World

      `activeChunkSet, difficultySetting, findingSpawnPoint, isRemote, lastLightningBolt, loadedEntityList, loadedTileEntityList, mapStorage, MAX_ENTITY_RADIUS, perWorldStorage, playerEntities, prevRainingStrength, prevThunderingStrength, provider, rainingStrength, rand, scheduledUpdatesAreImmediate, skylightSubtracted, theProfiler, thunderingStrength, villageCollectionObj, weatherEffects`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2ISaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7ILogAgent)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBlockEvent(int par1, int par2, int par3, int par4, int par5, int par6)` Adds a block event with the given Args to the blockEventCache.
    `boolean` | `addWeatherEffect(Entity par1Entity)` adds a lightning bolt to the list of lightning bolts in this world.
    `boolean` | `areAllPlayersAsleep()`
    `boolean` | `canMineBlock(EntityPlayer par1EntityPlayer, int par2, int par3, int par4)` Called when checking if a certain block can be mined or not.
    `boolean` | `canMineBlockBody(EntityPlayer par1EntityPlayer, int par2, int par3, int par4)`
    `void` | `flush()` Syncs all changes to disk and wait for completion.
    `List` | `getAllTileEntityInBox(int par1, int par2, int par3, int par4, int par5, int par6)` pars: min x,y,z , max x,y,z
    `File` | `getChunkSaveLocation()`
    `Teleporter` | `getDefaultTeleporter()`
    `Entity` | `getEntityByID(int par1)` Returns the Entity with the given ID, or null if it doesn't exist in this World.
    `EntityTracker` | `getEntityTracker()` Gets the EntityTracker
    `ChunkCoordinates` | `getEntrancePortalLocation()` Gets the hard-coded portal location to use when entering this dimension.
    `MinecraftServer` | `getMinecraftServer()` Gets the MinecraftServer.
    `List` | `getPendingBlockUpdates(Chunk par1Chunk, boolean par2)`
    `PlayerManager` | `getPlayerManager()`
    `boolean` | `isBlockTickScheduledThisTick(int par1, int par2, int par3, int par4)` Returns true if the given block will receive a scheduled tick in this tick.
    `Explosion` | `newExplosion(Entity par1Entity, double par2, double par4, double par6, float par8, boolean par9, boolean par10)` returns a new explosion.
    `void` | `onEntityRemoved(Entity par1Entity)`
    `void` | `resetUpdateEntityTick()` Resets the updateEntityTick field to 0
    `void` | `saveAllChunks(boolean par1, IProgressUpdate par2IProgressUpdate)` Saves all chunks to disk while updating progress bar.
    `void` | `saveChunkData()` saves chunk data - currently only called during execution of the Save All command
    `void` | `scheduleBlockUpdate(int par1, int par2, int par3, int par4, int par5)` Schedules a tick to a block with a delay (Most commonly the tick rate)
    `void` | `scheduleBlockUpdateFromLoad(int par1, int par2, int par3, int par4, int par5, int par6)` Schedules a block update from the saved information in a chunk.
    `void` | `scheduleBlockUpdateWithPriority(int par1, int par2, int par3, int par4, int par5, int par6)`
    `void` | `setEntityState(Entity par1Entity, byte par2)` sends a Packet 38 (Entity Status) to all tracked players of that entity
    `void` | `setSpawnLocation()`
    `SpawnListEntry` | `spawnRandomCreature(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4)` only spawns creatures allowed by the chunkProvider
    `void` | `tick()` Runs a single tick for the world
    `boolean` | `tickUpdates(boolean par1)` Runs through the list of updates to run and ticks them
    `void` | `updateAllPlayersSleepingFlag()` Updates the flag that indicates whether or not all players in the world are sleeping.
    `void` | `updateEntities()` Updates (and cleans up) entities and tile entities
    `void` | `updateEntityWithOptionalForce(Entity par1Entity, boolean par2)` Will update the entity in the world if the chunk the entity is in is currently loaded or its forced to update.

    - ### Methods inherited from class net.minecraft.world.World

      `addLoadedEntities, addTileEntity, addTileEntity, addWorldAccess, addWorldInfoToCrashReport, blockExists, blockGetRenderType, blockHasTileEntity, calculateInitialSkylight, calculateInitialWeatherBody, calculateSkylightSubtracted, canBlockFreeze, canBlockFreezeBody, canBlockSeeTheSky, canLightningStrikeAt, canPlaceEntityOnSide, canSnowAt, canSnowAtBody, checkBlockCollision, checkChunksExist, checkNoEntityCollision, checkNoEntityCollision, checkSessionLock, clip, clip, countEntities, countEntities, createExplosion, destroyBlock, destroyBlockInWorldPartially, doChunksNearChunkExist, doesBlockHaveSolidTopSurface, drawCloudsBody, extendedLevelsInChunkCache, extinguishFire, findClosestStructure, findNearestEntityWithinAABB, func_82738_a, func_82739_e, func_92088_a, func_96440_m, getActualHeight, getBiomeGenForCoords, getBiomeGenForCoordsBody, getBlockDensity, getBlockId, getBlockLightOpacity, getBlockLightValue_do, getBlockLightValue, getBlockMaterial, getBlockMetadata, getBlockPowerInput, getBlockTileEntity, getBrightness, getCelestialAngle, getCelestialAngleRadians, getChunkFromBlockCoords, getChunkFromChunkCoords, getChunkHeightMapMinimum, getChunkProvider, getClosestPlayer, getClosestPlayerToEntity, getClosestVulnerablePlayer, getClosestVulnerablePlayerToEntity, getCloudColour, getCollidingBlockBounds, getCollidingBoundingBoxes, getCurrentDate, getCurrentMoonPhaseFactor, getDebugLoadedEntities, getEntitiesWithinAABB, getEntitiesWithinAABBExcludingEntity, getEntitiesWithinAABBExcludingEntity, getEntityPathToXYZ, getFirstUncoveredBlock, getFogColor, getFullBlockLightValue, getGameRules, getHeight, getHeightValue, getHorizon, getIndirectPowerLevelTo, getIndirectPowerOutput, getLightBrightness, getLightBrightnessForSkyBlocks, getLoadedEntityList, getLocationTensionFactor, getMinecartSoundUpdater, getMoonPhase, getPathEntityToEntity, getPersistentChunks, getPlayerEntityByName, getPrecipitationHeight, getProviderName, getRainStrength, getSavedLightValue, getSaveHandler, getScoreboard, getSeed, getSkyBlockTypeBrightness, getSkyColor, getSkyColorBody, getSpawnPoint, getStarBrightness, getStarBrightnessBody, getStrongestIndirectPower, getSunBrightness, getTensionFactorForBlock, getTopSolidOrLiquidBlock, getTotalWorldTime, getUniqueDataId, getWeightedThunderStrength, getWorldChunkManager, getWorldInfo, getWorldLogAgent, getWorldTime, getWorldVec3Pool, handleMaterialAcceleration, isAABBInMaterial, isAirBlock, isAnyLiquid, isBlockFreezable, isBlockFreezableNaturally, isBlockFullCube, isBlockHighHumidity, isBlockIndirectlyGettingPowered, isBlockNormalCube, isBlockNormalCubeDefault, isBlockOpaqueCube, isBlockProvidingPowerTo, isBlockSolidOnSide, isBlockSolidOnSide, isBlockTopFacingSurfaceSolid, isBoundingBoxBurning, isDaytime, isMaterialInBB, isRaining, isThundering, joinEntityInSurroundings, loadItemData, markBlockForRenderUpdate, markBlockForUpdate, markBlockRangeForRenderUpdate, markBlocksDirtyVertical, markTileEntityChunkModified, markTileEntityForDespawn, notifyBlockChange, notifyBlockOfNeighborChange, notifyBlocksOfNeighborChange, notifyBlocksOfNeighborChange, playAuxSFX, playAuxSFXAtEntity, playRecord, playSound, playSoundAtEntity, playSoundEffect, playSoundToNearExcept, rayTraceBlocks_do_do, removeBlockTileEntity, removeEntity, removePlayerEntityDangerously, removeWorldAccess, selectEntitiesWithinAABB, sendQuittingDisconnectingPacket, setAllowedSpawnTypes, setBlock, setBlock, setBlockMetadataWithNotify, setBlockTileEntity, setBlockToAir, setItemData, setLightValue, setRainStrength, setRandomSeed, setSpawnLocation, setWorldTime, spawnEntityInWorld, spawnParticle, toggleRain, unloadEntities, updateAllLightTypes, updateEntity, updateLightByType, updateWeatherBody`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### theChunkProviderServer

          public ChunkProviderServer theChunkProviderServer

    - #### canNotSave

          public boolean canNotSave

      set by CommandServerSave{all,Off,On}

    - #### allPlayersSleeping

          public boolean allPlayersSleeping

      is false if there are no players

    - #### bonusChestContent

          public static final WeightedRandomChestContent[] bonusChestContent

    - #### customTeleporters

          public List<Teleporter> customTeleporters

  - ### Constructor Detail

    - #### WorldServer

          public WorldServer(MinecraftServer par1MinecraftServer,
                     ISaveHandler par2ISaveHandler,
                     String par3Str,
                     int par4,
                     WorldSettings par5WorldSettings,
                     Profiler par6Profiler,
                     ILogAgent par7ILogAgent)

  - ### Method Detail

    - #### tick

          public void tick()

      Runs a single tick for the world
      Overrides:
        `tick` in class `World`

    - #### spawnRandomCreature

          public SpawnListEntry spawnRandomCreature(EnumCreatureType par1EnumCreatureType,
                                           int par2,
                                           int par3,
                                           int par4)

      only spawns creatures allowed by the chunkProvider

    - #### updateAllPlayersSleepingFlag

          public void updateAllPlayersSleepingFlag()

      Updates the flag that indicates whether or not all players in the world are sleeping.
      Overrides:
        `updateAllPlayersSleepingFlag` in class `World`

    - #### areAllPlayersAsleep

          public boolean areAllPlayersAsleep()

    - #### setSpawnLocation

          public void setSpawnLocation()

      Overrides:
        `setSpawnLocation` in class `World`

    - #### isBlockTickScheduledThisTick

          public boolean isBlockTickScheduledThisTick(int par1,
                                             int par2,
                                             int par3,
                                             int par4)

      Returns true if the given block will receive a scheduled tick in this tick. Args: X, Y, Z, blockID
      Overrides:
        `isBlockTickScheduledThisTick` in class `World`

    - #### scheduleBlockUpdate

          public void scheduleBlockUpdate(int par1,
                                 int par2,
                                 int par3,
                                 int par4,
                                 int par5)

      Schedules a tick to a block with a delay (Most commonly the tick rate)
      Overrides:
        `scheduleBlockUpdate` in class `World`

    - #### scheduleBlockUpdateWithPriority

          public void scheduleBlockUpdateWithPriority(int par1,
                                             int par2,
                                             int par3,
                                             int par4,
                                             int par5,
                                             int par6)

      Overrides:
        `scheduleBlockUpdateWithPriority` in class `World`

    - #### scheduleBlockUpdateFromLoad

          public void scheduleBlockUpdateFromLoad(int par1,
                                         int par2,
                                         int par3,
                                         int par4,
                                         int par5,
                                         int par6)

      Schedules a block update from the saved information in a chunk. Called when the chunk is loaded.
      Overrides:
        `scheduleBlockUpdateFromLoad` in class `World`

    - #### updateEntities

          public void updateEntities()

      Updates (and cleans up) entities and tile entities
      Overrides:
        `updateEntities` in class `World`

    - #### resetUpdateEntityTick

          public void resetUpdateEntityTick()

      Resets the updateEntityTick field to 0

    - #### tickUpdates

          public boolean tickUpdates(boolean par1)

      Runs through the list of updates to run and ticks them
      Overrides:
        `tickUpdates` in class `World`

    - #### getPendingBlockUpdates

          public List getPendingBlockUpdates(Chunk par1Chunk,
                                    boolean par2)

      Overrides:
        `getPendingBlockUpdates` in class `World`

    - #### updateEntityWithOptionalForce

          public void updateEntityWithOptionalForce(Entity par1Entity,
                                           boolean par2)

      Will update the entity in the world if the chunk the entity is in is currently loaded or its forced to update. Args: entity, forceUpdate
      Overrides:
        `updateEntityWithOptionalForce` in class `World`

    - #### getAllTileEntityInBox

          public List getAllTileEntityInBox(int par1,
                                   int par2,
                                   int par3,
                                   int par4,
                                   int par5,
                                   int par6)

      pars: min x,y,z , max x,y,z

    - #### canMineBlock

          public boolean canMineBlock(EntityPlayer par1EntityPlayer,
                             int par2,
                             int par3,
                             int par4)

      Called when checking if a certain block can be mined or not. The 'spawn safe zone' check is located here.
      Overrides:
        `canMineBlock` in class `World`

    - #### canMineBlockBody

          public boolean canMineBlockBody(EntityPlayer par1EntityPlayer,
                                 int par2,
                                 int par3,
                                 int par4)

      Overrides:
        `canMineBlockBody` in class `World`

    - #### getEntrancePortalLocation

          public ChunkCoordinates getEntrancePortalLocation()

      Gets the hard-coded portal location to use when entering this dimension.

    - #### saveAllChunks

          public void saveAllChunks(boolean par1,
                           IProgressUpdate par2IProgressUpdate)
                             throws MinecraftException

      Saves all chunks to disk while updating progress bar.
      Throws:
        `MinecraftException`

    - #### saveChunkData

          public void saveChunkData()

      saves chunk data - currently only called during execution of the Save All command

    - #### onEntityRemoved

          public void onEntityRemoved(Entity par1Entity)

      Overrides:
        `onEntityRemoved` in class `World`

    - #### getEntityByID

          public Entity getEntityByID(int par1)

      Returns the Entity with the given ID, or null if it doesn't exist in this World.
      Specified by:
        `getEntityByID` in class `World`

    - #### addWeatherEffect

          public boolean addWeatherEffect(Entity par1Entity)

      adds a lightning bolt to the list of lightning bolts in this world.
      Overrides:
        `addWeatherEffect` in class `World`

    - #### setEntityState

          public void setEntityState(Entity par1Entity,
                            byte par2)

      sends a Packet 38 (Entity Status) to all tracked players of that entity
      Overrides:
        `setEntityState` in class `World`

    - #### newExplosion

          public Explosion newExplosion(Entity par1Entity,
                               double par2,
                               double par4,
                               double par6,
                               float par8,
                               boolean par9,
                               boolean par10)

      returns a new explosion. Does initiation (at time of writing Explosion is not finished)
      Overrides:
        `newExplosion` in class `World`

    - #### addBlockEvent

          public void addBlockEvent(int par1,
                           int par2,
                           int par3,
                           int par4,
                           int par5,
                           int par6)

      Adds a block event with the given Args to the blockEventCache. During the next tick(), the block specified will have its onBlockEvent handler called with the given parameters. Args: X,Y,Z, BlockID, EventID, EventParameter
      Overrides:
        `addBlockEvent` in class `World`

    - #### flush

          public void flush()

      Syncs all changes to disk and wait for completion.

    - #### getMinecraftServer

          public MinecraftServer getMinecraftServer()

      Gets the MinecraftServer.

    - #### getEntityTracker

          public EntityTracker getEntityTracker()

      Gets the EntityTracker

    - #### getPlayerManager

          public PlayerManager getPlayerManager()

    - #### getDefaultTeleporter

          public Teleporter getDefaultTeleporter()

    - #### getChunkSaveLocation

          public File getChunkSaveLocation()