Class SingleBlockFakeLevel

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.Level>
net.minecraft.world.level.Level
com.ldtteam.structurize.client.fakelevel.FakeLevel
com.ldtteam.structurize.client.fakelevel.SingleBlockFakeLevel
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

public class SingleBlockFakeLevel extends FakeLevel
Simple implementation of IFakeLevelBlockGetter mostly for usage in methods where Level is needed for virtual BE/entities etc.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
    static class 
     

    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 inherited from class com.ldtteam.structurize.client.fakelevel.FakeLevel

    blockEntities, chunkSource, levelEntityGetter, levelSource, lightEngine, lightProvider, overrideBeLevel, realLevel, scoreboard, worldPos

    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
    SingleBlockFakeLevel(net.minecraft.world.level.Level realLevel)
    Creates simple fakeLevel instance
  • Method Summary

    Modifier and Type
    Method
    Description
     
    void
    prepare(net.minecraft.world.level.block.state.BlockState blockState, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel)
    Do not forget to unset to prevent potential memory leaks
    void
    unset(@Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity)
     
    <T> T
    useFakeLevelContext(net.minecraft.world.level.block.state.BlockState blockState, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel, Function<net.minecraft.world.level.Level,T> action)
    See related methods for more information.
    void
    withFakeLevelContext(net.minecraft.world.level.block.state.BlockState blockState, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel, Consumer<net.minecraft.world.level.Level> action)
    See related methods for more information.

    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
  • Constructor Details

    • SingleBlockFakeLevel

      public SingleBlockFakeLevel(net.minecraft.world.level.Level realLevel)
      Creates simple fakeLevel instance
      Parameters:
      realLevel - actual valid vanilla instance to provide eg. registries
  • Method Details

    • getLevelSource

      Overrides:
      getLevelSource in class FakeLevel
      Returns:
      current data source
    • prepare

      public void prepare(net.minecraft.world.level.block.state.BlockState blockState, @Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel)
      Do not forget to unset to prevent potential memory leaks
      Parameters:
      blockState - related to blockEntity
      blockEntity - related to blockState
      realLevel - actual valid vanilla instance to provide eg. registries
      See Also:
    • unset

      public void unset(@Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity)
      Parameters:
      blockEntity - to unlink level if needed
      See Also:
      • #prepare(FakeLevel, BlockState, BlockEntity, Level)
    • withFakeLevelContext

      public void withFakeLevelContext(net.minecraft.world.level.block.state.BlockState blockState, @Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel, Consumer<net.minecraft.world.level.Level> action)
      See related methods for more information.
      Parameters:
      blockState - related to blockEntity
      blockEntity - related to blockState
      realLevel - actual valid vanilla instance to provide eg. registries
      action - context action
      See Also:
      • #prepare(FakeLevel, BlockState, BlockEntity, Level)
      • #unset(FakeLevel, BlockEntity)
    • useFakeLevelContext

      public <T> T useFakeLevelContext(net.minecraft.world.level.block.state.BlockState blockState, @Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, net.minecraft.world.level.Level realLevel, Function<net.minecraft.world.level.Level,T> action)
      See related methods for more information.
      Parameters:
      blockState - related to blockEntity
      blockEntity - related to blockState
      realLevel - actual valid vanilla instance to provide eg. registries
      action - context action
      See Also:
      • #prepare(FakeLevel, BlockState, BlockEntity, Level)
      • #unset(FakeLevel, BlockEntity)