Interface Structure

All Superinterfaces:
BlockState, Metadatable, PersistentDataHolder, PersistentDataViewHolder, TileState

public interface Structure extends TileState
Represents a structure block that can save and load blocks from a file. They can only be used by OPs, and are not obtainable in survival.
  • Method Details

    • getStructureName

      @NotNull @NotNull String getStructureName()
      The name of this structure.
      Returns:
      structure name
    • setStructureName

      void setStructureName(@NotNull @NotNull String name)
      Set the name of this structure. This is case-sensitive. The name of the structure in the UsageMode.SAVE structure block MUST match the name within the UsageMode.CORNER block or the size calculation will fail.
      Parameters:
      name - the case-sensitive name of this structure
    • getAuthor

      @NotNull @NotNull String getAuthor()
      Get the name of who created this structure.
      Returns:
      the name of whoever created this structure.
    • setAuthor

      void setAuthor(@NotNull @NotNull String author)
      Set the name of whoever created this structure.
      Parameters:
      author - whoever created this structure (not empty)
    • setAuthor

      void setAuthor(@NotNull @NotNull LivingEntity livingEntity)
      Set the name of whoever created this structure using a LivingEntity.
      Parameters:
      livingEntity - the entity who created this structure
    • getRelativePosition

      @NotNull @NotNull BlockVector getRelativePosition()
      The relative position of the structure outline based on the position of the structure block. Maximum allowed distance is 48 blocks in any direction.
      Returns:
      a Location which contains the relative distance this structure is from the structure block.
    • setRelativePosition

      void setRelativePosition(@NotNull @NotNull BlockVector vector)
      Set the relative position from the structure block. Maximum allowed distance is 48 blocks in any direction.
      Parameters:
      vector - the BlockVector containing the relative origin coordinates of this structure.
    • getStructureSize

      @NotNull @NotNull BlockVector getStructureSize()
      The distance to the opposite corner of this structure. The maximum structure size is 48x48x48. When a structure has successfully been calculated (i.e. it is within the maximum allowed distance) a white border surrounds the structure.
      Returns:
      a BlockVector which contains the total size of the structure.
    • setStructureSize

      void setStructureSize(@NotNull @NotNull BlockVector vector)
      Set the maximum size of this structure from the origin point. Maximum allowed size is 48x48x48.
      Parameters:
      vector - the BlockVector containing the size of this structure, based off of the origin coordinates.
    • setMirror

      void setMirror(@NotNull @NotNull Mirror mirror)
      Sets the mirroring of the structure.
      Parameters:
      mirror - the new mirroring method
    • getMirror

      @NotNull @NotNull Mirror getMirror()
      How this structure is mirrored.
      Returns:
      the current mirroring method
    • setRotation

      void setRotation(@NotNull @NotNull StructureRotation rotation)
      Set how this structure is rotated.
      Parameters:
      rotation - the new rotation
    • getRotation

      Get how this structure is rotated.
      Returns:
      the new rotation
    • setUsageMode

      void setUsageMode(@NotNull @NotNull UsageMode mode)
      Set the UsageMode of this structure block.
      Parameters:
      mode - the new mode to set.
    • getUsageMode

      @NotNull @NotNull UsageMode getUsageMode()
      Get the UsageMode of this structure block.
      Returns:
      the mode this block is currently in.
    • setIgnoreEntities

      void setIgnoreEntities(boolean ignoreEntities)
      While in UsageMode.SAVE mode, this will ignore any entities when saving the structure.
      While in UsageMode.LOAD mode this will ignore any entities that were saved to file.
      Parameters:
      ignoreEntities - the flag to set
    • isIgnoreEntities

      boolean isIgnoreEntities()
      Get if this structure block should ignore entities.
      Returns:
      true if the appropriate UsageMode should ignore entities.
    • setShowAir

      void setShowAir(boolean showAir)
      Set if the structure outline should show air blocks.
      Parameters:
      showAir - if the structure block should show air blocks
    • isShowAir

      boolean isShowAir()
      Check if this structure block is currently showing all air blocks
      Returns:
      true if the structure block is showing all air blocks
    • setBoundingBoxVisible

      void setBoundingBoxVisible(boolean showBoundingBox)
      Set if this structure box should show the bounding box.
      Parameters:
      showBoundingBox - if the structure box should be shown
    • isBoundingBoxVisible

      boolean isBoundingBoxVisible()
      Get if this structure block is currently showing the bounding box.
      Returns:
      true if the bounding box is shown
    • setIntegrity

      void setIntegrity(float integrity)
      Set the integrity of the structure. Integrity must be between 0.0 and 1.0 Lower integrity values will result in more blocks being removed when loading a structure. Integrity and getSeed() are used together to determine which blocks are randomly removed to mimic "decay."
      Parameters:
      integrity - the integrity of this structure
    • getIntegrity

      float getIntegrity()
      Get the integrity of this structure.
      Returns:
      the integrity of this structure
    • setSeed

      void setSeed(long seed)
      The seed used to determine which blocks will be removed upon loading. getIntegrity() and seed are used together to determine which blocks are randomly removed to mimic "decay."
      Parameters:
      seed - the seed used to determine how many blocks will be removed
    • getSeed

      long getSeed()
      The seed used to determine how many blocks are removed upon loading of this structure.
      Returns:
      the seed used
    • setMetadata

      void setMetadata(@NotNull @NotNull String metadata)
      Only applicable while in UsageMode.DATA. Metadata are specific functions that can be applied to the structure location. Consult the Minecraft wiki for more information.
      Parameters:
      metadata - the function to perform on the selected location
    • getMetadata

      @NotNull @NotNull String getMetadata()
      Get the metadata function this structure block will perform when activated. Consult the Minecraft Wiki for more information.
      Returns:
      the function that will be performed when this block is activated