public class ServerWorld extends World
Modifier and Type | Field and Description |
---|---|
private boolean |
allPlayersSleeping |
private ServerTickScheduler<Block> |
blockTickScheduler |
private it.unimi.dsi.fastutil.ints.Int2ObjectMap<Entity> |
entitiesById |
private Map<UUID,Entity> |
entitiesByUuid |
private Queue<Entity> |
entitiesToLoad |
private Set<EntityNavigation> |
entityNavigations |
private ServerTickScheduler<Fluid> |
fluidTickScheduler |
private List<Entity> |
globalEntities |
private int |
idleTimeout |
private boolean |
inBlockTick |
(package private) boolean |
inEntityTick |
private static Logger |
LOGGER |
private it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<BlockAction> |
pendingBlockActions |
private List<ServerPlayerEntity> |
players |
private PortalForcer |
portalForcer |
protected RaidManager |
raidManager |
boolean |
savingDisabled |
private MinecraftServer |
server |
private StructureAccessor |
structureAccessor |
private WanderingTraderManager |
wanderingTraderManager |
private WorldSaveHandler |
worldSaveHandler |
blockEntities, chunkManager, dimension, isClient, iteratingTickingBlockEntities, lcgBlockSeed, pendingBlockEntities, properties, rainGradient, rainGradientPrev, random, thunderGradient, thunderGradientPrev, tickingBlockEntities, unloadedBlockEntities, unusedIncrement
Constructor and Description |
---|
ServerWorld(MinecraftServer server,
Executor workerExecutor,
WorldSaveHandler worldSaveHandler,
LevelProperties properties,
DimensionType dimensionType,
WorldGenerationProgressListener worldGenerationProgressListener) |
addBlockEntities, addBlockEntity, addDetailsToCrashReport, addFireworkParticle, addImportantParticle, addImportantParticle, addParticle, addParticle, breakBlock, calculateAmbientDarkness, canSetBlock, checkBlockRerender, close, containsBlockWithMaterial, createExplosion, createExplosion, disconnect, doesAreaContainFireSource, getAmbientDarkness, getBiomeAccess, getBlockEntity, getBlockState, getBlockState, getChunk, getChunk, getDebugString, getDimension, getEmittedRedstonePower, getEntities, getEntities, getEntities, getEntitiesIncludingUngeneratedChunks, getExistingChunk, getFluidState, getGameRules, getGeneratorType, getLevelProperties, getLightingProvider, getLocalDifficulty, getProfiler, getProfilerSupplier, getRainGradient, getRandom, getRandomPosInChunk, getReceivedRedstonePower, getReceivedStrongRedstonePower, getSeaLevel, getSeed, getSkyAngleRadians, getSpawnPos, getThunderGradient, getTime, getTimeOfDay, getTopNonAirState, getTopY, getWorld, getWorldBorder, getWorldChunk, hasHighHumidity, hasRain, initWeatherGradients, isAreaNotEmpty, isClient, isDay, isDirectionSolid, isEmittingRedstonePower, isHeightInvalid, isHeightInvalid, isNight, isRaining, isReceivingRedstonePower, isThundering, isTopSolid, markDirty, method_24794, method_25953, method_26096, method_26097, method_26372, playSound, playSound, removeBlock, removeBlockEntity, sendPacket, setBlockEntity, setBlockState, setBlockState, setLightningTicksLeft, setMobSpawnOptions, setRainGradient, setThunderGradient, setTimeOfDay, testBlockState, tickBlockEntities, tickEntity, tickTime, updateComparators, updateNeighbor, updateNeighborsAlways, updateNeighborsExcept
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDifficulty, getDimensionHeight, getEntityCollisions, getMoonPhase, getMoonSize, getSkyAngle, getTopPosition, intersectsEntities, isChunkLoaded, playLevelEvent
getClosestEntity, getClosestEntity, getClosestEntityIncludingUngeneratedChunks, getClosestPlayer, getClosestPlayer, getClosestPlayer, getClosestPlayer, getClosestPlayer, getClosestPlayer, getEntities, getEntitiesIncludingUngeneratedChunks, getNonSpectatingEntities, getPlayerByUuid, getPlayers, getTargets, isPlayerInRange
containsFluid, getBiome, getBiomeForNoiseGen, getBrightness, getChunk, getChunk, getColor, getLightLevel, getLightLevel, getStrongRedstonePower, isAir, isChunkLoaded, isRegionLoaded, isRegionLoaded, isSkyVisibleAllowingSea, isWater
getBaseLightLevel, getLightLevel, isSkyVisible
canPlace, doesNotCollide, doesNotCollide, doesNotCollide, doesNotCollide, getBlockCollisions, getCollisions, intersectsEntities, method_27087
getHeight, getLuminance, getMaxLightLevel, rayTrace, rayTrace, rayTraceBlock
breakBlock
private static final Logger LOGGER
private final it.unimi.dsi.fastutil.ints.Int2ObjectMap<Entity> entitiesById
private final List<ServerPlayerEntity> players
boolean inEntityTick
private final MinecraftServer server
private final WorldSaveHandler worldSaveHandler
public boolean savingDisabled
private boolean allPlayersSleeping
private int idleTimeout
private final PortalForcer portalForcer
private final ServerTickScheduler<Block> blockTickScheduler
private final ServerTickScheduler<Fluid> fluidTickScheduler
private final Set<EntityNavigation> entityNavigations
protected final RaidManager raidManager
private final it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<BlockAction> pendingBlockActions
private boolean inBlockTick
@Nullable private final WanderingTraderManager wanderingTraderManager
private final StructureAccessor structureAccessor
public ServerWorld(MinecraftServer server, Executor workerExecutor, WorldSaveHandler worldSaveHandler, LevelProperties properties, DimensionType dimensionType, WorldGenerationProgressListener worldGenerationProgressListener)
public Biome getGeneratorStoredBiome(int biomeX, int biomeY, int biomeZ)
public StructureAccessor getStructureAccessor()
public void tick(BooleanSupplier shouldKeepTicking)
private void wakeSleepingPlayers()
public void tickChunk(WorldChunk chunk, int randomTickSpeed)
public boolean isInBlockTick()
public void updateSleepingPlayers()
public ServerScoreboard getScoreboard()
getScoreboard
in class World
private void resetWeather()
public void resetIdleTimeout()
private void tickFluid(ScheduledTick<Fluid> tick)
private void tickBlock(ScheduledTick<Block> tick)
public void tickEntity(Entity entity)
public void checkChunk(Entity entity)
public boolean canPlayerModifyAt(PlayerEntity player, BlockPos pos)
canPlayerModifyAt
in class World
public void init(LevelInfo levelInfo)
protected void placeBonusChest()
public void save(@Nullable ProgressListener progressListener, boolean flush, boolean bool)
protected void saveLevel()
public List<Entity> getEntities(@Nullable EntityType<?> entityType, Predicate<? super Entity> predicate)
public List<EnderDragonEntity> getAliveEnderDragons()
public List<ServerPlayerEntity> getPlayers(Predicate<? super ServerPlayerEntity> predicate)
@Nullable public ServerPlayerEntity getRandomAlivePlayer()
public it.unimi.dsi.fastutil.objects.Object2IntMap<EntityCategory> getMobCountsByCategory()
public boolean spawnEntity(Entity entity)
public boolean tryLoadEntity(Entity entity)
public void onDimensionChanged(Entity entity)
public void onPlayerTeleport(ServerPlayerEntity player)
public void onPlayerChangeDimension(ServerPlayerEntity player)
public void onPlayerConnected(ServerPlayerEntity player)
public void onPlayerRespawned(ServerPlayerEntity player)
private void addPlayer(ServerPlayerEntity player)
private boolean addEntity(Entity entity)
public boolean loadEntity(Entity entity)
private boolean checkUuid(Entity entity)
public void unloadEntities(WorldChunk chunk)
public void unloadEntity(Entity entity)
private void loadEntityUnchecked(Entity entity)
public void removeEntity(Entity entity)
private void removeEntityFromChunk(Entity entity)
public void removePlayer(ServerPlayerEntity player)
public void addLightning(LightningEntity lightningEntity)
public void setBlockBreakingInfo(int entityId, BlockPos pos, int progress)
setBlockBreakingInfo
in class World
public void playSound(@Nullable PlayerEntity player, double x, double y, double z, SoundEvent sound, SoundCategory category, float volume, float pitch)
public void playSoundFromEntity(@Nullable PlayerEntity player, Entity entity, SoundEvent sound, SoundCategory category, float volume, float pitch)
playSoundFromEntity
in class World
public void playGlobalEvent(int type, BlockPos pos, int data)
playGlobalEvent
in class World
public void playLevelEvent(@Nullable PlayerEntity player, int eventId, BlockPos pos, int data)
public void updateListeners(BlockPos pos, BlockState oldState, BlockState newState, int flags)
updateListeners
in class World
public void sendEntityStatus(Entity entity, byte status)
sendEntityStatus
in class World
public ServerChunkManager getChunkManager()
getChunkManager
in interface IWorld
getChunkManager
in class World
public Explosion createExplosion(@Nullable Entity entity, @Nullable DamageSource damageSource, double x, double y, double z, float power, boolean createFire, Explosion.DestructionType destructionType)
createExplosion
in class World
public void addBlockAction(BlockPos pos, Block block, int type, int data)
addBlockAction
in class World
private void sendBlockActions()
private boolean method_14174(BlockAction blockAction)
public ServerTickScheduler<Block> getBlockTickScheduler()
public ServerTickScheduler<Fluid> getFluidTickScheduler()
@Nonnull public MinecraftServer getServer()
public PortalForcer getPortalForcer()
public StructureManager getStructureManager()
public <T extends ParticleEffect> int spawnParticles(T particle, double x, double y, double z, int count, double deltaX, double deltaY, double deltaZ, double speed)
public <T extends ParticleEffect> boolean spawnParticles(ServerPlayerEntity viewer, T particle, boolean force, double x, double y, double z, int count, double deltaX, double deltaY, double deltaZ, double speed)
private boolean sendToPlayerIfNearby(ServerPlayerEntity player, boolean force, double x, double y, double z, Packet<?> packet)
@Nullable public Entity getEntityById(int id)
getEntityById
in class World
@Nullable public BlockPos locateStructure(String string, BlockPos blockPos, int int2, boolean bool)
@Nullable public BlockPos locateBiome(Biome biome, BlockPos blockPos, int int2, int int3)
public RecipeManager getRecipeManager()
getRecipeManager
in class World
public RegistryTagManager getTagManager()
getTagManager
in class World
public boolean isSavingDisabled()
isSavingDisabled
in class World
public WorldSaveHandler getSaveHandler()
public PersistentStateManager getPersistentStateManager()
@Nullable public MapState getMapState(String id)
getMapState
in class World
public void putMapState(MapState mapState)
putMapState
in class World
public int getNextMapId()
getNextMapId
in class World
public void setSpawnPos(BlockPos pos)
setSpawnPos
in class World
public it.unimi.dsi.fastutil.longs.LongSet getForcedChunks()
public boolean setChunkForced(int x, int z, boolean forced)
public List<ServerPlayerEntity> getPlayers()
public void onBlockChanged(BlockPos pos, BlockState oldBlock, BlockState newBlock)
onBlockChanged
in class World
public PointOfInterestStorage getPointOfInterestStorage()
public boolean isNearOccupiedPointOfInterest(BlockPos pos)
public boolean isNearOccupiedPointOfInterest(ChunkSectionPos sectionPos)
public boolean isNearOccupiedPointOfInterest(BlockPos pos, int maxDistance)
public int getOccupiedPointOfInterestDistance(ChunkSectionPos pos)
public RaidManager getRaidManager()
public boolean hasRaidAt(BlockPos pos)
public void handleInteraction(EntityInteraction interaction, Entity entity, InteractionObserver observer)
public void dump(Path path) throws IOException
IOException
private void dumpBlockEntities(Writer writer) throws IOException
IOException
public void clearUpdatesInArea(BlockBox box)
@Environment(value=CLIENT) public float getBrightness(Direction direction, boolean shaded)