Interface Structure

All Superinterfaces:
Keyed, Wrapper
All Known Subinterfaces:
ComposedStructure, DefinedStructure, JigsawStructure, MineshaftStructure, NetherFossilStructure, OceanRuinStructure, ReferencedStructure, RuinedPortalStructure, ShipwreckStructure, SimpleStructure

@NullMarked @AsOf("3.4.0") public interface Structure extends Wrapper, Keyed
Structures are naturally-generated formations that are placed in the world from pre-built templates.

Wraps Minecraft's Structure.

Since:
3.4.0
See Also:
  • Method Details

    • wrap

      @AsOf("3.4.0") default Structure wrap()
      Resolves this structure's key in Minecraft's structure registry and decodes the registered value, keeping the key on the result.
      Returns:
      the decoded structure
      Since:
      3.4.0
    • reference

      @AsOf("3.4.0") static ReferencedStructure reference(ResourceKey key)
      References a structure already registered under the given key.
      Parameters:
      key - the registry key of the structure
      Returns:
      a reference to the registered structure
      Since:
      3.4.0
    • jigsaw

      @AsOf("3.4.0") static JigsawStructure.Builder jigsaw(StructureSettings settings, TemplatePool startPool)
      Creates a new builder for a jigsaw structure, which grows outward from a piece drawn from its start pool. Villages, bastions, ancient cities and trial chambers are jigsaw structures.
      Parameters:
      settings - the settings every structure carries
      startPool - the pool the first piece is drawn from
      Returns:
      a new builder
      Since:
      3.4.0
    • buriedTreasure

      @AsOf("3.4.0") static SimpleStructure.Builder buriedTreasure(StructureSettings settings)
      Creates a new builder for buried treasure.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • desertPyramid

      @AsOf("3.4.0") static SimpleStructure.Builder desertPyramid(StructureSettings settings)
      Creates a new builder for a desert pyramid.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • endCity

      @AsOf("3.4.0") static SimpleStructure.Builder endCity(StructureSettings settings)
      Creates a new builder for an end city.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • fortress

      @AsOf("3.4.0") static SimpleStructure.Builder fortress(StructureSettings settings)
      Creates a new builder for a nether fortress.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • igloo

      @AsOf("3.4.0") static SimpleStructure.Builder igloo(StructureSettings settings)
      Creates a new builder for an igloo.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • jungleTemple

      @AsOf("3.4.0") static SimpleStructure.Builder jungleTemple(StructureSettings settings)
      Creates a new builder for a jungle temple.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • oceanMonument

      @AsOf("3.4.0") static SimpleStructure.Builder oceanMonument(StructureSettings settings)
      Creates a new builder for an ocean monument.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • stronghold

      @AsOf("3.4.0") static SimpleStructure.Builder stronghold(StructureSettings settings)
      Creates a new builder for a stronghold.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • swampHut

      @AsOf("3.4.0") static SimpleStructure.Builder swampHut(StructureSettings settings)
      Creates a new builder for a swamp hut.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • woodlandMansion

      @AsOf("3.4.0") static SimpleStructure.Builder woodlandMansion(StructureSettings settings)
      Creates a new builder for a woodland mansion.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • mineshaft

      @AsOf("3.4.0") static MineshaftStructure.Builder mineshaft(StructureSettings settings)
      Creates a new builder for an oak mineshaft.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • netherFossil

      @AsOf("3.4.0") static NetherFossilStructure.Builder netherFossil(StructureSettings settings)
      Creates a new builder for a nether fossil.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • oceanRuin

      @AsOf("3.4.0") static OceanRuinStructure.Builder oceanRuin(StructureSettings settings, OceanRuinStructure.BiomeTemperature biomeTemperature)
      Creates a new builder for an ocean ruin.
      Parameters:
      settings - the settings every structure carries
      biomeTemperature - the template set the ruin is drawn from
      Returns:
      a new builder
      Since:
      3.4.0
    • ruinedPortal

      @AsOf("3.4.0") static RuinedPortalStructure.Builder ruinedPortal(StructureSettings settings)
      Creates a new builder for a ruined portal. Add at least one setup before building.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • shipwreck

      @AsOf("3.4.0") static ShipwreckStructure.Builder shipwreck(StructureSettings settings)
      Creates a new builder for a shipwreck on the ocean floor.
      Parameters:
      settings - the settings every structure carries
      Returns:
      a new builder
      Since:
      3.4.0
    • decode

      @AsOf("3.4.0") static Structure decode(Object minecraftStructure)
      Reads a Minecraft structure, or a keyed structure holder, into a wrapper.
      Parameters:
      minecraftStructure - the structure or structure holder to read
      Returns:
      a reference to the structure, or the decoded structure when it carries no key
      Since:
      3.4.0