Class FakeLevel

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.Level>
net.minecraft.world.level.Level
com.ldtteam.structurize.client.fakelevel.FakeLevel
All Implemented Interfaces:
AutoCloseable, net.minecraft.world.level.biome.BiomeManager.NoiseBiomeSource, net.minecraft.world.level.BlockAndTintGetter, net.minecraft.world.level.BlockGetter, net.minecraft.world.level.CollisionGetter, net.minecraft.world.level.CommonLevelAccessor, net.minecraft.world.level.EntityGetter, net.minecraft.world.level.LevelAccessor, net.minecraft.world.level.LevelHeightAccessor, net.minecraft.world.level.LevelReader, net.minecraft.world.level.LevelSimulatedReader, net.minecraft.world.level.LevelSimulatedRW, net.minecraft.world.level.LevelTimeAccess, net.minecraft.world.level.LevelWriter, net.minecraft.world.level.SignalGetter, net.minecraftforge.client.extensions.IForgeBlockAndTintGetter, net.minecraftforge.common.capabilities.ICapabilityProvider, net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.Level>, net.minecraftforge.common.extensions.IForgeBlockGetter, net.minecraftforge.common.extensions.IForgeLevel
Direct Known Subclasses:
BlueprintBlockAccess, SingleBlockFakeLevel

public class FakeLevel extends net.minecraft.world.level.Level
As much as general fake level. Features:
  • static access to given data
  • immutability - disables all external changes (but levelSource can be mutable)
  • most of dimension related things is delegated to current client level (class instances can travel accross dimensions)
  • biome info is also delegated from client level
  • light control - manual or delegated from client level
  • primitive chunk and entity management
  • basic heightmap support (not fully working yet)
  • Few unsafe NPEs methods :)

Porting info:

  1. uncomment last method section
  2. fix compile errors
  3. add override for remaining methods and sort/implement them accordingly
  4. comment last method section

TODO: extend from client level

  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.level.Level

    net.minecraft.world.level.Level.ExplosionInteraction

    Nested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Map<net.minecraft.core.BlockPos,net.minecraft.world.level.block.entity.BlockEntity>
     
    protected final FakeChunkSource
     
     
     
    protected final FakeLevelLightEngine
     
    protected final IFakeLevelLightProvider
     
    protected final boolean
     
    protected net.minecraft.world.level.Level
     
    protected final net.minecraft.world.scores.Scoreboard
     
    protected net.minecraft.core.BlockPos
    Current rendering worldPos so we can use client level real info

    Fields inherited from class net.minecraft.world.level.Level

    addend, blockEntityTickers, captureBlockSnapshots, capturedBlockSnapshots, END, isClientSide, levelData, LONG_PARTICLE_CLIP_RANGE, MAX_BRIGHTNESS, MAX_ENTITY_SPAWN_Y, MAX_LEVEL_SIZE, MIN_ENTITY_SPAWN_Y, neighborUpdater, NETHER, oRainLevel, oThunderLevel, OVERWORLD, rainLevel, random, randValue, RESOURCE_KEY_CODEC, restoringBlockSnapshots, SHORT_PARTICLE_CLIP_RANGE, thunderLevel, TICKS_PER_DAY

    Fields inherited from interface net.minecraft.world.level.SignalGetter

    DIRECTIONS
  • Constructor Summary

    Constructors
    Constructor
    Description
    FakeLevel(IFakeLevelBlockGetter levelSource, IFakeLevelLightProvider lightProvider, @Nullable net.minecraft.world.scores.Scoreboard scoreboard, boolean overrideBeLevel)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addBlockEntityTicker(net.minecraft.world.level.block.entity.TickingBlockEntity p_151526_)
     
    void
    addFreshBlockEntities(Collection<net.minecraft.world.level.block.entity.BlockEntity> beList)
     
    void
    blockEvent(net.minecraft.core.BlockPos p_46582_, net.minecraft.world.level.block.Block p_46583_, int p_46584_, int p_46585_)
     
    protected static net.minecraft.client.multiplayer.ClientLevel
     
    void
     
    net.minecraft.world.damagesource.DamageSources
     
    boolean
    destroyBlock(net.minecraft.core.BlockPos p_46626_, boolean p_46627_, net.minecraft.world.entity.Entity p_46628_, int p_46629_)
     
    void
    destroyBlockProgress(int p_46506_, net.minecraft.core.BlockPos p_46507_, int p_46508_)
     
    net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level>
     
    net.minecraft.world.level.dimension.DimensionType
     
    net.minecraft.core.Holder<net.minecraft.world.level.dimension.DimensionType>
     
    net.minecraft.world.flag.FeatureFlagSet
     
    net.minecraft.world.level.Explosion
    explode(net.minecraft.world.entity.Entity p_256233_, net.minecraft.world.damagesource.DamageSource p_255861_, net.minecraft.world.level.ExplosionDamageCalculator p_255867_, double p_256447_, double p_255732_, double p_255717_, float p_256013_, boolean p_256228_, net.minecraft.world.level.Level.ExplosionInteraction p_255784_, boolean p_256377_)
     
    net.minecraft.CrashReportCategory
    fillReportDetails(net.minecraft.CrashReport report)
     
    void
    gameEvent(net.minecraft.world.level.gameevent.GameEvent p_220404_, net.minecraft.world.phys.Vec3 p_220405_, net.minecraft.world.level.gameevent.GameEvent.Context p_220406_)
     
     
    net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome>
    getBiome(net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.level.biome.BiomeManager
     
    @Nullable net.minecraft.world.level.block.entity.BlockEntity
    getBlockEntity(net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.level.block.state.BlockState
    getBlockState(net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.ticks.LevelTickAccess<net.minecraft.world.level.block.Block>
     
    int
    getBrightness(net.minecraft.world.level.LightLayer lightType, net.minecraft.core.BlockPos pos)
     
    <T> @NotNull net.minecraftforge.common.util.LazyOptional<T>
    getCapability(@NotNull net.minecraftforge.common.capabilities.Capability<T> cap, @Nullable net.minecraft.core.Direction side)
     
    net.minecraft.world.level.chunk.ChunkAccess
    getChunk(int x, int z, net.minecraft.world.level.chunk.ChunkStatus requiredStatus, boolean nonnull)
     
    net.minecraft.world.level.chunk.ChunkSource
     
    protected net.minecraft.world.level.entity.LevelEntityGetter<net.minecraft.world.entity.Entity>
     
    net.minecraft.world.entity.Entity
    getEntity(int id)
     
    @Nullable net.minecraft.world.level.block.entity.BlockEntity
    getExistingBlockEntity(net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.level.material.FluidState
    getFluidState(net.minecraft.core.BlockPos pos)
     
    net.minecraft.world.ticks.LevelTickAccess<net.minecraft.world.level.material.Fluid>
     
    int
     
    int
     
    int
    getHeight(net.minecraft.world.level.levelgen.Heightmap.Types heightmapType, int x, int z)
     
     
    net.minecraft.world.level.lighting.LevelLightEngine
     
    net.minecraft.world.level.saveddata.maps.MapItemSavedData
    getMapData(String p_46650_)
     
    int
     
    net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome>
    getNoiseBiome(int x, int y, int z)
     
    net.minecraft.util.profiling.ProfilerFiller
     
    Supplier<net.minecraft.util.profiling.ProfilerFiller>
     
    float
    getRainLevel(float delta)
     
    int
    getRawBrightness(net.minecraft.core.BlockPos pos, int amount)
     
    net.minecraft.world.item.crafting.RecipeManager
     
    net.minecraft.world.scores.Scoreboard
     
    int
     
    float
    getShade(net.minecraft.core.Direction p_104703_, boolean p_104704_)
     
    int
     
    float
    getThunderLevel(float delta)
     
    net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome>
    getUncachedNoiseBiome(int x, int y, int z)
     
    net.minecraft.world.level.border.WorldBorder
     
    net.minecraft.core.BlockPos
     
    boolean
    hasChunk(int chunkX, int chunkZ)
     
    void
     
    boolean
     
    boolean
    isInWorldBounds(net.minecraft.core.BlockPos pos)
     
    boolean
    isLoaded(net.minecraft.core.BlockPos pos)
     
    boolean
    isRainingAt(net.minecraft.core.BlockPos position)
     
    void
    levelEvent(net.minecraft.world.entity.player.Player p_46771_, int p_46772_, net.minecraft.core.BlockPos p_46773_, int p_46774_)
     
    void
    markAndNotifyBlock(net.minecraft.core.BlockPos p_46605_, net.minecraft.world.level.chunk.LevelChunk levelchunk, net.minecraft.world.level.block.state.BlockState blockstate, net.minecraft.world.level.block.state.BlockState p_46606_, int p_46607_, int p_46608_)
     
    boolean
    mayInteract(net.minecraft.world.entity.player.Player p_46557_, net.minecraft.core.BlockPos p_46558_)
     
    void
    neighborShapeChanged(net.minecraft.core.Direction p_220385_, net.minecraft.world.level.block.state.BlockState p_220386_, net.minecraft.core.BlockPos p_220387_, net.minecraft.core.BlockPos p_220388_, int p_220389_, int p_220390_)
     
    boolean
     
    List<net.minecraft.client.player.AbstractClientPlayer>
     
    void
    playSeededSound(net.minecraft.world.entity.player.Player p_262953_, double p_263004_, double p_263398_, double p_263376_, net.minecraft.core.Holder<net.minecraft.sounds.SoundEvent> p_263359_, net.minecraft.sounds.SoundSource p_263020_, float p_263055_, float p_262914_, long p_262991_)
     
    void
    playSeededSound(net.minecraft.world.entity.player.Player p_220372_, net.minecraft.world.entity.Entity p_220373_, net.minecraft.core.Holder<net.minecraft.sounds.SoundEvent> p_263500_, net.minecraft.sounds.SoundSource p_220375_, float p_220376_, float p_220377_, long p_220378_)
     
    net.minecraft.world.level.Level
     
    net.minecraft.core.RegistryAccess
     
    boolean
    removeBlock(net.minecraft.core.BlockPos p_46623_, boolean p_46624_)
     
    void
     
    void
    sendBlockUpdated(net.minecraft.core.BlockPos p_46612_, net.minecraft.world.level.block.state.BlockState p_46613_, net.minecraft.world.level.block.state.BlockState p_46614_, int p_46615_)
     
    boolean
    setBlock(net.minecraft.core.BlockPos p_46605_, net.minecraft.world.level.block.state.BlockState p_46606_, int p_46607_, int p_46608_)
     
    void
    setBlockEntities(Map<net.minecraft.core.BlockPos,net.minecraft.world.level.block.entity.BlockEntity> blockEntities)
    For better block entity handling in chunk methods.
    void
    setEntities(Collection<? extends net.minecraft.world.entity.Entity> entities)
     
    void
     
    void
    setMapData(String p_151533_, net.minecraft.world.level.saveddata.maps.MapItemSavedData p_151534_)
     
    void
    setRainLevel(float p_46735_)
     
    void
    setRealLevel(net.minecraft.world.level.Level realLevel)
     
    void
    setSpawnSettings(boolean p_46704_, boolean p_46705_)
     
    void
    setThunderLevel(float p_46708_)
     
    void
    setWorldPos(net.minecraft.core.BlockPos worldPos)
     
    boolean
    shouldTickBlocksAt(long p_186456_)
     
    boolean
    shouldTickDeath(net.minecraft.world.entity.Entity p_186458_)
     
    protected void
     
    void
    updateNeighborsAt(net.minecraft.core.BlockPos p_46673_, net.minecraft.world.level.block.Block p_46674_)
     
    void
     

    Methods inherited from class net.minecraft.world.level.Level

    addAlwaysVisibleParticle, addAlwaysVisibleParticle, addDestroyBlockEffect, addParticle, addParticle, blockEntityChanged, broadcastDamageEvent, broadcastEntityEvent, createFireworks, dimensionTypeId, disconnect, explode, explode, explode, explode, getBlockRandomPos, getChunk, getChunkAt, getChunkForCollisions, getCurrentDifficultyAt, getDayTime, getEntities, getEntities, getEntities, getEntities, getGameRules, getGameTime, getLevelData, getMaxEntityRadius, getRandom, getServer, getSharedSpawnAngle, getSharedSpawnPos, getSunAngle, globalLevelEvent, guardEntityTick, increaseMaxEntityRadius, isClientSide, isDebug, isFluidAtPosition, isInSpawnableBounds, isNight, isRaining, isStateAtPosition, isThundering, loadedAndEntityCanStandOn, loadedAndEntityCanStandOnFace, neighborChanged, neighborChanged, nextSubTickCount, onBlockStateChange, playLocalSound, playLocalSound, playSeededSound, playSound, playSound, playSound, playSound, prepareWeather, removeBlockEntity, sendPacketToServer, setBlock, setBlockAndUpdate, setBlockEntity, setBlocksDirty, setSkyFlashTime, shouldTickBlocksAt, updateNeighborsAtExceptFromFacing, updateNeighbourForOutputSignal

    Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, serializeCaps

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraft.world.level.BlockAndTintGetter

    canSeeSky

    Methods inherited from interface net.minecraft.world.level.BlockGetter

    clip, clipWithInteractionOverride, getBlockFloorHeight, getBlockFloorHeight, getBlockStates, getLightEmission, getMaxLightLevel, isBlockInLine

    Methods inherited from interface net.minecraft.world.level.CollisionGetter

    collidesWithSuffocatingBlock, findFreePosition, findSupportingBlock, getBlockCollisions, getCollisions, getEntityCollisions, isUnobstructed, isUnobstructed, isUnobstructed, noCollision, noCollision, noCollision

    Methods inherited from interface net.minecraft.world.level.CommonLevelAccessor

    getBlockEntity, getEntityCollisions, getHeightmapPos, isUnobstructed

    Methods inherited from interface net.minecraft.world.level.EntityGetter

    getEntities, getEntitiesOfClass, getEntitiesOfClass, getNearbyEntities, getNearbyPlayers, getNearestEntity, getNearestEntity, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getPlayerByUUID, hasNearbyAlivePlayer

    Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider

    getCapability

    Methods inherited from interface net.minecraftforge.client.extensions.IForgeBlockAndTintGetter

    getShade

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlockGetter

    getModelDataManager

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeLevel

    getPartEntities

    Methods inherited from interface net.minecraft.world.level.LevelAccessor

    blockUpdated, dayTime, gameEvent, gameEvent, gameEvent, getDifficulty, levelEvent, playSound, scheduleTick, scheduleTick, scheduleTick, scheduleTick

    Methods inherited from interface net.minecraft.world.level.LevelHeightAccessor

    getMaxBuildHeight, getMaxSection, getMinSection, getSectionIndex, getSectionIndexFromSectionY, getSectionsCount, getSectionYFromSectionIndex, isOutsideBuildHeight, isOutsideBuildHeight

    Methods inherited from interface net.minecraft.world.level.LevelReader

    canSeeSkyFromBelowWater, containsAnyLiquid, getBlockStatesIfLoaded, getBlockTint, getChunk, getChunk, getLightLevelDependentMagicValue, getMaxLocalRawBrightness, getMaxLocalRawBrightness, getPathfindingCostFromLightLevels, hasChunkAt, hasChunkAt, hasChunksAt, hasChunksAt, hasChunksAt, holderLookup, isAreaLoaded, isEmptyBlock, isWaterAt

    Methods inherited from interface net.minecraft.world.level.LevelTimeAccess

    getMoonBrightness, getMoonPhase, getTimeOfDay

    Methods inherited from interface net.minecraft.world.level.LevelWriter

    addFreshEntity, destroyBlock, destroyBlock

    Methods inherited from interface net.minecraft.world.level.SignalGetter

    getBestNeighborSignal, getControlInputSignal, getDirectSignal, getDirectSignalTo, getSignal, hasNeighborSignal, hasSignal
  • Field Details

    • levelSource

      protected IFakeLevelBlockGetter levelSource
    • lightProvider

      protected final IFakeLevelLightProvider lightProvider
    • realLevel

      protected net.minecraft.world.level.Level realLevel
    • scoreboard

      protected final net.minecraft.world.scores.Scoreboard scoreboard
    • overrideBeLevel

      protected final boolean overrideBeLevel
    • chunkSource

      protected final FakeChunkSource chunkSource
    • lightEngine

      protected final FakeLevelLightEngine lightEngine
    • levelEntityGetter

      protected FakeLevelEntityGetterAdapter levelEntityGetter
    • blockEntities

      protected Map<net.minecraft.core.BlockPos,net.minecraft.world.level.block.entity.BlockEntity> blockEntities
    • worldPos

      protected net.minecraft.core.BlockPos worldPos
      Current rendering worldPos so we can use client level real info
  • Constructor Details

  • Method Details

    • clientLevel

      protected static net.minecraft.client.multiplayer.ClientLevel clientLevel()
    • setRealLevel

      public void setRealLevel(net.minecraft.world.level.Level realLevel)
    • realLevel

      public net.minecraft.world.level.Level realLevel()
    • setLevelSource

      public void setLevelSource(IFakeLevelBlockGetter levelSource)
      Parameters:
      levelSource - new data source
    • getLevelSource

      public IFakeLevelBlockGetter getLevelSource()
      Returns:
      current data source
    • setWorldPos

      public void setWorldPos(net.minecraft.core.BlockPos worldPos)
      Parameters:
      worldPos - where is fake level anchor when querying current client level data
    • getWorldPos

      public net.minecraft.core.BlockPos getWorldPos()
      Returns:
      anchor in vanilla client level
    • setBlockEntities

      public void setBlockEntities(Map<net.minecraft.core.BlockPos,net.minecraft.world.level.block.entity.BlockEntity> blockEntities)
      For better block entity handling in chunk methods. If set then levelSource.getBlockEntity(BlockPos) is not used. Reset with empty collection
      Parameters:
      blockEntities - all block entities, should be data equivalent to levelSource
    • setEntities

      public void setEntities(Collection<? extends net.minecraft.world.entity.Entity> entities)
      Parameters:
      entities - all entities, their level should be this fake level instance. Reset with empty collection
    • dimension

      public net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> dimension()
      Overrides:
      dimension in class net.minecraft.world.level.Level
    • registryAccess

      public net.minecraft.core.RegistryAccess registryAccess()
      Specified by:
      registryAccess in interface net.minecraft.world.level.LevelReader
      Overrides:
      registryAccess in class net.minecraft.world.level.Level
    • damageSources

      public net.minecraft.world.damagesource.DamageSources damageSources()
      Overrides:
      damageSources in class net.minecraft.world.level.Level
    • getProfiler

      public net.minecraft.util.profiling.ProfilerFiller getProfiler()
      Overrides:
      getProfiler in class net.minecraft.world.level.Level
    • getProfilerSupplier

      public Supplier<net.minecraft.util.profiling.ProfilerFiller> getProfilerSupplier()
      Overrides:
      getProfilerSupplier in class net.minecraft.world.level.Level
    • dimensionType

      public net.minecraft.world.level.dimension.DimensionType dimensionType()
      Specified by:
      dimensionType in interface net.minecraft.world.level.LevelReader
      Overrides:
      dimensionType in class net.minecraft.world.level.Level
    • dimensionTypeRegistration

      public net.minecraft.core.Holder<net.minecraft.world.level.dimension.DimensionType> dimensionTypeRegistration()
      Overrides:
      dimensionTypeRegistration in class net.minecraft.world.level.Level
    • getWorldBorder

      public net.minecraft.world.level.border.WorldBorder getWorldBorder()
      Specified by:
      getWorldBorder in interface net.minecraft.world.level.CollisionGetter
      Overrides:
      getWorldBorder in class net.minecraft.world.level.Level
    • getBlockEntity

      @Nullable public @Nullable net.minecraft.world.level.block.entity.BlockEntity getBlockEntity(net.minecraft.core.BlockPos pos)
      Specified by:
      getBlockEntity in interface net.minecraft.world.level.BlockGetter
      Overrides:
      getBlockEntity in class net.minecraft.world.level.Level
    • getExistingBlockEntity

      @Nullable public @Nullable net.minecraft.world.level.block.entity.BlockEntity getExistingBlockEntity(net.minecraft.core.BlockPos pos)
    • getBlockState

      public net.minecraft.world.level.block.state.BlockState getBlockState(net.minecraft.core.BlockPos pos)
      Specified by:
      getBlockState in interface net.minecraft.world.level.BlockGetter
      Overrides:
      getBlockState in class net.minecraft.world.level.Level
    • getChunk

      public net.minecraft.world.level.chunk.ChunkAccess getChunk(int x, int z, net.minecraft.world.level.chunk.ChunkStatus requiredStatus, boolean nonnull)
      Specified by:
      getChunk in interface net.minecraft.world.level.LevelReader
      Overrides:
      getChunk in class net.minecraft.world.level.Level
    • hasChunk

      public boolean hasChunk(int chunkX, int chunkZ)
    • getBrightness

      public int getBrightness(net.minecraft.world.level.LightLayer lightType, net.minecraft.core.BlockPos pos)
    • getRawBrightness

      public int getRawBrightness(net.minecraft.core.BlockPos pos, int amount)
    • getSkyDarken

      public int getSkyDarken()
      Specified by:
      getSkyDarken in interface net.minecraft.world.level.LevelReader
      Overrides:
      getSkyDarken in class net.minecraft.world.level.Level
    • isDay

      public boolean isDay()
      Overrides:
      isDay in class net.minecraft.world.level.Level
    • getScoreboard

      public net.minecraft.world.scores.Scoreboard getScoreboard()
      Specified by:
      getScoreboard in class net.minecraft.world.level.Level
    • getFluidState

      public net.minecraft.world.level.material.FluidState getFluidState(net.minecraft.core.BlockPos pos)
      Specified by:
      getFluidState in interface net.minecraft.world.level.BlockGetter
      Overrides:
      getFluidState in class net.minecraft.world.level.Level
    • getHeight

      public int getHeight()
    • getMinBuildHeight

      public int getMinBuildHeight()
    • isInWorldBounds

      public boolean isInWorldBounds(net.minecraft.core.BlockPos pos)
      Overrides:
      isInWorldBounds in class net.minecraft.world.level.Level
    • fillReportDetails

      public net.minecraft.CrashReportCategory fillReportDetails(net.minecraft.CrashReport report)
      Overrides:
      fillReportDetails in class net.minecraft.world.level.Level
    • getEntities

      protected net.minecraft.world.level.entity.LevelEntityGetter<net.minecraft.world.entity.Entity> getEntities()
      Specified by:
      getEntities in class net.minecraft.world.level.Level
    • getEntity

      @Nullable public net.minecraft.world.entity.Entity getEntity(int id)
      Specified by:
      getEntity in class net.minecraft.world.level.Level
    • players

      public List<net.minecraft.client.player.AbstractClientPlayer> players()
    • getHeight

      public int getHeight(net.minecraft.world.level.levelgen.Heightmap.Types heightmapType, int x, int z)
      Specified by:
      getHeight in interface net.minecraft.world.level.LevelReader
      Overrides:
      getHeight in class net.minecraft.world.level.Level
    • getChunkSource

      public net.minecraft.world.level.chunk.ChunkSource getChunkSource()
    • getLightEngine

      public net.minecraft.world.level.lighting.LevelLightEngine getLightEngine()
      Specified by:
      getLightEngine in interface net.minecraft.world.level.BlockAndTintGetter
      Overrides:
      getLightEngine in class net.minecraft.world.level.Level
    • gatherChunkSourceStats

      public String gatherChunkSourceStats()
      Specified by:
      gatherChunkSourceStats in class net.minecraft.world.level.Level
    • getShade

      public float getShade(net.minecraft.core.Direction p_104703_, boolean p_104704_)
    • getBiome

      public net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> getBiome(net.minecraft.core.BlockPos pos)
    • getBiomeManager

      public net.minecraft.world.level.biome.BiomeManager getBiomeManager()
      Specified by:
      getBiomeManager in interface net.minecraft.world.level.LevelReader
      Overrides:
      getBiomeManager in class net.minecraft.world.level.Level
    • getRecipeManager

      public net.minecraft.world.item.crafting.RecipeManager getRecipeManager()
      Specified by:
      getRecipeManager in class net.minecraft.world.level.Level
    • enabledFeatures

      public net.minecraft.world.flag.FeatureFlagSet enabledFeatures()
    • getUncachedNoiseBiome

      public net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> getUncachedNoiseBiome(int x, int y, int z)
    • getNoiseBiome

      public net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> getNoiseBiome(int x, int y, int z)
    • explode

      public net.minecraft.world.level.Explosion explode(@Nullable net.minecraft.world.entity.Entity p_256233_, @Nullable net.minecraft.world.damagesource.DamageSource p_255861_, @Nullable net.minecraft.world.level.ExplosionDamageCalculator p_255867_, double p_256447_, double p_255732_, double p_255717_, float p_256013_, boolean p_256228_, net.minecraft.world.level.Level.ExplosionInteraction p_255784_, boolean p_256377_)
      Overrides:
      explode in class net.minecraft.world.level.Level
    • isLoaded

      public boolean isLoaded(net.minecraft.core.BlockPos pos)
      Overrides:
      isLoaded in class net.minecraft.world.level.Level
    • getRainLevel

      public float getRainLevel(float delta)
      Overrides:
      getRainLevel in class net.minecraft.world.level.Level
    • getThunderLevel

      public float getThunderLevel(float delta)
      Overrides:
      getThunderLevel in class net.minecraft.world.level.Level
    • isRainingAt

      public boolean isRainingAt(net.minecraft.core.BlockPos position)
      Overrides:
      isRainingAt in class net.minecraft.world.level.Level
    • noSave

      public boolean noSave()
      Overrides:
      noSave in class net.minecraft.world.level.Level
    • getSeaLevel

      public int getSeaLevel()
      Specified by:
      getSeaLevel in interface net.minecraft.world.level.LevelReader
      Overrides:
      getSeaLevel in class net.minecraft.world.level.Level
    • destroyBlockProgress

      public void destroyBlockProgress(int p_46506_, net.minecraft.core.BlockPos p_46507_, int p_46508_)
      Specified by:
      destroyBlockProgress in class net.minecraft.world.level.Level
    • getFreeMapId

      public int getFreeMapId()
      Specified by:
      getFreeMapId in class net.minecraft.world.level.Level
    • getMapData

      @Nullable public net.minecraft.world.level.saveddata.maps.MapItemSavedData getMapData(String p_46650_)
      Specified by:
      getMapData in class net.minecraft.world.level.Level
    • playSeededSound

      public void playSeededSound(@Nullable net.minecraft.world.entity.player.Player p_220372_, net.minecraft.world.entity.Entity p_220373_, net.minecraft.core.Holder<net.minecraft.sounds.SoundEvent> p_263500_, net.minecraft.sounds.SoundSource p_220375_, float p_220376_, float p_220377_, long p_220378_)
      Specified by:
      playSeededSound in class net.minecraft.world.level.Level
    • playSeededSound

      public void playSeededSound(@Nullable net.minecraft.world.entity.player.Player p_262953_, double p_263004_, double p_263398_, double p_263376_, net.minecraft.core.Holder<net.minecraft.sounds.SoundEvent> p_263359_, net.minecraft.sounds.SoundSource p_263020_, float p_263055_, float p_262914_, long p_262991_)
      Specified by:
      playSeededSound in class net.minecraft.world.level.Level
    • sendBlockUpdated

      public void sendBlockUpdated(net.minecraft.core.BlockPos p_46612_, net.minecraft.world.level.block.state.BlockState p_46613_, net.minecraft.world.level.block.state.BlockState p_46614_, int p_46615_)
      Specified by:
      sendBlockUpdated in class net.minecraft.world.level.Level
    • setMapData

      public void setMapData(String p_151533_, net.minecraft.world.level.saveddata.maps.MapItemSavedData p_151534_)
      Specified by:
      setMapData in class net.minecraft.world.level.Level
    • gameEvent

      public void gameEvent(net.minecraft.world.level.gameevent.GameEvent p_220404_, net.minecraft.world.phys.Vec3 p_220405_, net.minecraft.world.level.gameevent.GameEvent.Context p_220406_)
    • getBlockTicks

      public net.minecraft.world.ticks.LevelTickAccess<net.minecraft.world.level.block.Block> getBlockTicks()
    • getFluidTicks

      public net.minecraft.world.ticks.LevelTickAccess<net.minecraft.world.level.material.Fluid> getFluidTicks()
    • levelEvent

      public void levelEvent(@Nullable net.minecraft.world.entity.player.Player p_46771_, int p_46772_, net.minecraft.core.BlockPos p_46773_, int p_46774_)
    • addBlockEntityTicker

      public void addBlockEntityTicker(net.minecraft.world.level.block.entity.TickingBlockEntity p_151526_)
      Overrides:
      addBlockEntityTicker in class net.minecraft.world.level.Level
    • addFreshBlockEntities

      public void addFreshBlockEntities(Collection<net.minecraft.world.level.block.entity.BlockEntity> beList)
      Overrides:
      addFreshBlockEntities in class net.minecraft.world.level.Level
    • blockEvent

      public void blockEvent(net.minecraft.core.BlockPos p_46582_, net.minecraft.world.level.block.Block p_46583_, int p_46584_, int p_46585_)
      Overrides:
      blockEvent in class net.minecraft.world.level.Level
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class net.minecraft.world.level.Level
      Throws:
      IOException
    • destroyBlock

      public boolean destroyBlock(net.minecraft.core.BlockPos p_46626_, boolean p_46627_, @Nullable net.minecraft.world.entity.Entity p_46628_, int p_46629_)
      Specified by:
      destroyBlock in interface net.minecraft.world.level.LevelWriter
      Overrides:
      destroyBlock in class net.minecraft.world.level.Level
    • markAndNotifyBlock

      public void markAndNotifyBlock(net.minecraft.core.BlockPos p_46605_, @Nullable net.minecraft.world.level.chunk.LevelChunk levelchunk, net.minecraft.world.level.block.state.BlockState blockstate, net.minecraft.world.level.block.state.BlockState p_46606_, int p_46607_, int p_46608_)
      Overrides:
      markAndNotifyBlock in class net.minecraft.world.level.Level
    • mayInteract

      public boolean mayInteract(net.minecraft.world.entity.player.Player p_46557_, net.minecraft.core.BlockPos p_46558_)
      Overrides:
      mayInteract in class net.minecraft.world.level.Level
    • neighborShapeChanged

      public void neighborShapeChanged(net.minecraft.core.Direction p_220385_, net.minecraft.world.level.block.state.BlockState p_220386_, net.minecraft.core.BlockPos p_220387_, net.minecraft.core.BlockPos p_220388_, int p_220389_, int p_220390_)
      Specified by:
      neighborShapeChanged in interface net.minecraft.world.level.LevelAccessor
      Overrides:
      neighborShapeChanged in class net.minecraft.world.level.Level
    • removeBlock

      public boolean removeBlock(net.minecraft.core.BlockPos p_46623_, boolean p_46624_)
      Specified by:
      removeBlock in interface net.minecraft.world.level.LevelWriter
      Overrides:
      removeBlock in class net.minecraft.world.level.Level
    • setBlock

      public boolean setBlock(net.minecraft.core.BlockPos p_46605_, net.minecraft.world.level.block.state.BlockState p_46606_, int p_46607_, int p_46608_)
      Specified by:
      setBlock in interface net.minecraft.world.level.LevelWriter
      Overrides:
      setBlock in class net.minecraft.world.level.Level
    • setRainLevel

      public void setRainLevel(float p_46735_)
      Overrides:
      setRainLevel in class net.minecraft.world.level.Level
    • setSpawnSettings

      public void setSpawnSettings(boolean p_46704_, boolean p_46705_)
      Overrides:
      setSpawnSettings in class net.minecraft.world.level.Level
    • setThunderLevel

      public void setThunderLevel(float p_46708_)
      Overrides:
      setThunderLevel in class net.minecraft.world.level.Level
    • shouldTickBlocksAt

      public boolean shouldTickBlocksAt(long p_186456_)
      Overrides:
      shouldTickBlocksAt in class net.minecraft.world.level.Level
    • shouldTickDeath

      public boolean shouldTickDeath(net.minecraft.world.entity.Entity p_186458_)
      Overrides:
      shouldTickDeath in class net.minecraft.world.level.Level
    • tickBlockEntities

      protected void tickBlockEntities()
      Overrides:
      tickBlockEntities in class net.minecraft.world.level.Level
    • updateNeighborsAt

      public void updateNeighborsAt(net.minecraft.core.BlockPos p_46673_, net.minecraft.world.level.block.Block p_46674_)
      Overrides:
      updateNeighborsAt in class net.minecraft.world.level.Level
    • updateSkyBrightness

      public void updateSkyBrightness()
      Overrides:
      updateSkyBrightness in class net.minecraft.world.level.Level
    • getCapability

      @NotNull public <T> @NotNull net.minecraftforge.common.util.LazyOptional<T> getCapability(@NotNull @NotNull net.minecraftforge.common.capabilities.Capability<T> cap, @Nullable @Nullable net.minecraft.core.Direction side)
      Specified by:
      getCapability in interface net.minecraftforge.common.capabilities.ICapabilityProvider
      Overrides:
      getCapability in class net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.Level>
    • invalidateCaps

      public void invalidateCaps()
      Specified by:
      invalidateCaps in interface net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.Level>
      Overrides:
      invalidateCaps in class net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.Level>
    • reviveCaps

      public void reviveCaps()
      Specified by:
      reviveCaps in interface net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.Level>
      Overrides:
      reviveCaps in class net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.Level>