Interface Structure

All Superinterfaces:
BlockState, Metadatable, PersistentDataHolder, 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 Link icon

    • getStructureName Link icon

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

      void setStructureName(@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 Link icon

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

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

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

      @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 Link icon

      void setRelativePosition(@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 Link icon

      @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 Link icon

      void setStructureSize(@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 Link icon

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

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

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

      @NotNull StructureRotation getRotation()
      Get how this structure is rotated.
      Returns:
      the new rotation
    • setUsageMode Link icon

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

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

      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 Link icon

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

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

      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 Link icon

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

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

      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 Link icon

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

      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 Link icon

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

      void setMetadata(@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 Link icon

      @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