Class StructureBlockEntity

All Implemented Interfaces:
IAttachmentHolder, IBlockEntityExtension

public class StructureBlockEntity extends BlockEntity
  • Field Details

    • SCAN_CORNER_BLOCKS_RANGE

      private static final int SCAN_CORNER_BLOCKS_RANGE
      See Also:
    • MAX_OFFSET_PER_AXIS

      public static final int MAX_OFFSET_PER_AXIS
      See Also:
    • MAX_SIZE_PER_AXIS

      public static final int MAX_SIZE_PER_AXIS
      See Also:
    • AUTHOR_TAG

      public static final String AUTHOR_TAG
      See Also:
    • structureName

      @Nullable private ResourceLocation structureName
    • author

      private String author
    • metaData

      private String metaData
    • structurePos

      private BlockPos structurePos
    • structureSize

      private Vec3i structureSize
    • mirror

      private Mirror mirror
    • rotation

      private Rotation rotation
    • mode

      private StructureMode mode
    • ignoreEntities

      private boolean ignoreEntities
    • powered

      private boolean powered
    • showAir

      private boolean showAir
    • showBoundingBox

      private boolean showBoundingBox
    • integrity

      private float integrity
    • seed

      private long seed
  • Constructor Details

    • StructureBlockEntity

      public StructureBlockEntity(BlockPos pPos, BlockState pBlockState)
  • Method Details

    • saveAdditional

      protected void saveAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries)
      Overrides:
      saveAdditional in class BlockEntity
    • loadAdditional

      protected void loadAdditional(CompoundTag pTag, HolderLookup.Provider pRegistries)
      Overrides:
      loadAdditional in class BlockEntity
    • updateBlockState

      private void updateBlockState()
    • getUpdatePacket

      public ClientboundBlockEntityDataPacket getUpdatePacket()
      Overrides:
      getUpdatePacket in class BlockEntity
    • getUpdateTag

      public CompoundTag getUpdateTag(HolderLookup.Provider pRegistries)
      Overrides:
      getUpdateTag in class BlockEntity
    • usedBy

      public boolean usedBy(Player pPlayer)
    • getStructureName

      public String getStructureName()
    • hasStructureName

      public boolean hasStructureName()
    • setStructureName

      public void setStructureName(@Nullable String pStructureName)
    • setStructureName

      public void setStructureName(@Nullable ResourceLocation pStructureName)
    • createdBy

      public void createdBy(LivingEntity pAuthor)
    • getStructurePos

      public BlockPos getStructurePos()
    • setStructurePos

      public void setStructurePos(BlockPos pStructurePos)
    • getStructureSize

      public Vec3i getStructureSize()
    • setStructureSize

      public void setStructureSize(Vec3i pStructureSize)
    • getMirror

      public Mirror getMirror()
    • setMirror

      public void setMirror(Mirror pMirror)
    • getRotation

      public Rotation getRotation()
    • setRotation

      public void setRotation(Rotation pRotation)
    • getMetaData

      public String getMetaData()
    • setMetaData

      public void setMetaData(String pMetaData)
    • getMode

      public StructureMode getMode()
    • setMode

      public void setMode(StructureMode pMode)
    • isIgnoreEntities

      public boolean isIgnoreEntities()
    • setIgnoreEntities

      public void setIgnoreEntities(boolean pIgnoreEntities)
    • getIntegrity

      public float getIntegrity()
    • setIntegrity

      public void setIntegrity(float pIntegrity)
    • getSeed

      public long getSeed()
    • setSeed

      public void setSeed(long pSeed)
    • detectSize

      public boolean detectSize()
    • getRelatedCorners

      private Stream<BlockPos> getRelatedCorners(BlockPos pMinPos, BlockPos pMaxPos)
    • calculateEnclosingBoundingBox

      private static Optional<BoundingBox> calculateEnclosingBoundingBox(BlockPos pPos, Stream<BlockPos> pRelatedCorners)
    • saveStructure

      public boolean saveStructure()
    • saveStructure

      public boolean saveStructure(boolean pWriteToDisk)
      Saves the template, either updating the local version or writing it to disk.
      Returns:
      true if the template was successfully saved.
    • createRandom

      public static RandomSource createRandom(long pSeed)
    • placeStructureIfSameSize

      public boolean placeStructureIfSameSize(ServerLevel pLevel)
    • loadStructureInfo

      public boolean loadStructureInfo(ServerLevel pLevel)
    • loadStructureInfo

      private void loadStructureInfo(StructureTemplate pStructureTemplate)
    • placeStructure

      public void placeStructure(ServerLevel pLevel)
    • getStructureTemplate

      @Nullable private StructureTemplate getStructureTemplate(ServerLevel pLevel)
    • placeStructure

      private void placeStructure(ServerLevel pLevel, StructureTemplate pStructureTemplate)
    • unloadStructure

      public void unloadStructure()
    • isStructureLoadable

      public boolean isStructureLoadable()
    • isPowered

      public boolean isPowered()
    • setPowered

      public void setPowered(boolean pPowered)
    • getShowAir

      public boolean getShowAir()
    • setShowAir

      public void setShowAir(boolean pShowAir)
    • getShowBoundingBox

      public boolean getShowBoundingBox()
    • setShowBoundingBox

      public void setShowBoundingBox(boolean pShowBoundingBox)