Structure stuff, based on liach's PR (#2829)

* Structure stuff

Signed-off-by: liach <liach@users.noreply.github.com>

* This is post placement, not generation (addition of pieces)

* docs

* Update mappings/net/minecraft/structure/StructurePlacementData.mapping

Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>

* Update mappings/net/minecraft/structure/PostPlacementProcessor.mapping

Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>

* Merge branch '1.18-pre1' of https://github.com/FabricMC/yarn into pr-2729-structure

* Drop invalid mappings

* Re-add dropped mappings

* PostPlacementProcessor: map lambda arg, rename args

* Structure: bring mapping from my branch

* StructurePiecesGenerator: follow convention of naming every World superinterface `world`

* StructurePoolBasedGenerator: follow naming conventions

* ChunkGenerator: follow naming conventions

* ConfiguredStructureFeature: follow naming conventions

* EndCityFeature: follow naming conventions

* StructureFeature: fix naming, follow naming conventions

* WoodlandMansionFeature: follow naming conventions

* StructureFeature: remove invalid javadoc

* Apply suggestions from code review

Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>

Co-authored-by: liach <liach@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
Co-authored-by: enbrain <69905075+enbrain@users.noreply.github.com>
This commit is contained in:
apple502j 2021-11-16 10:31:21 +09:00 committed by GitHub
parent 86b92443bf
commit 3d209563b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 383 additions and 17 deletions

View File

@ -1 +0,0 @@
CLASS net/minecraft/class_4183 net/minecraft/structure/MarginedStructureStart

View File

@ -0,0 +1,21 @@
CLASS net/minecraft/class_6621 net/minecraft/structure/PostPlacementProcessor
COMMENT A post placement processor for a structure feature runs after all the
COMMENT pieces of a structure start have placed blocks in the world in the
COMMENT feature chunk status.
FIELD field_34938 EMPTY Lnet/minecraft/class_6621;
METHOD afterPlace (Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;Lnet/minecraft/class_6624;)V
ARG 1 world
ARG 2 structureAccessor
ARG 3 chunkGenerator
ARG 4 random
ARG 5 chunkBox
ARG 6 pos
ARG 7 children
METHOD method_38701 (Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;Lnet/minecraft/class_6624;)V
ARG 0 world
ARG 1 structureAccessor
ARG 2 chunkGenerator
ARG 3 random
ARG 4 chunkBox
ARG 5 pos
ARG 6 children

View File

@ -3,15 +3,20 @@ CLASS net/minecraft/class_3470 net/minecraft/structure/SimpleStructurePiece
FIELD field_15433 structure Lnet/minecraft/class_3499;
FIELD field_15434 placementData Lnet/minecraft/class_3492;
FIELD field_16586 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_31664 identifier Ljava/lang/String;
FIELD field_31664 template Ljava/lang/String;
METHOD <init> (Lnet/minecraft/class_3773;ILnet/minecraft/class_3485;Lnet/minecraft/class_2960;Ljava/lang/String;Lnet/minecraft/class_3492;Lnet/minecraft/class_2338;)V
ARG 1 type
ARG 2 length
ARG 3 structureManager
ARG 4 identifier
ARG 4 id
ARG 5 template
ARG 6 placementData
ARG 7 pos
METHOD <init> (Lnet/minecraft/class_3773;Lnet/minecraft/class_2487;Lnet/minecraft/class_3485;Ljava/util/function/Function;)V
ARG 1 type
ARG 2 nbt
ARG 3 structureManager
ARG 4 placementDataGetter
METHOD method_15026 handleMetadata (Ljava/lang/String;Lnet/minecraft/class_2338;Lnet/minecraft/class_5425;Ljava/util/Random;Lnet/minecraft/class_3341;)V
ARG 1 metadata
ARG 2 pos

View File

@ -56,6 +56,7 @@ CLASS net/minecraft/class_3499 net/minecraft/structure/Structure
ARG 3 pivot
ARG 4 placementData
ARG 5 random
ARG 6 flags
METHOD method_15174 saveFromWorld (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2382;ZLnet/minecraft/class_2248;)V
ARG 1 world
ARG 2 start
@ -79,6 +80,7 @@ CLASS net/minecraft/class_3499 net/minecraft/structure/Structure
ARG 4 rotation
ARG 5 pivot
ARG 6 area
ARG 7 initializeMobs
METHOD method_15180 transformBox (Lnet/minecraft/class_3492;Lnet/minecraft/class_2338;Lnet/minecraft/class_3492;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2338;
ARG 1 placementData1
ARG 2 pos1
@ -89,6 +91,8 @@ CLASS net/minecraft/class_3499 net/minecraft/structure/Structure
ARG 1 nbt
METHOD method_15184 createNbtDoubleList ([D)Lnet/minecraft/class_2499;
ARG 1 doubles
METHOD method_16185 (Lnet/minecraft/class_3499$class_3501;)I
ARG 0 blockInfo
METHOD method_16187 calculateBoundingBox (Lnet/minecraft/class_3492;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3341;
ARG 1 placementData
ARG 2 pos
@ -104,6 +108,8 @@ CLASS net/minecraft/class_3499 net/minecraft/structure/Structure
METHOD method_17916 getEntity (Lnet/minecraft/class_5425;Lnet/minecraft/class_2487;)Ljava/util/Optional;
ARG 0 world
ARG 1 nbt
METHOD method_17917 (Lnet/minecraft/class_2415;Lnet/minecraft/class_2470;Lnet/minecraft/class_243;ZLnet/minecraft/class_5425;Lnet/minecraft/class_2487;Lnet/minecraft/class_1297;)V
ARG 6 entity
METHOD method_20532 updateCorner (Lnet/minecraft/class_1936;ILnet/minecraft/class_251;III)V
ARG 0 world
ARG 1 flags
@ -115,6 +121,40 @@ CLASS net/minecraft/class_3499 net/minecraft/structure/Structure
ARG 2 rotation
ARG 3 pivot
ARG 4 mirror
METHOD method_28053 (Lnet/minecraft/class_3499$class_3501;)I
ARG 0 blockInfo
METHOD method_28054 categorize (Lnet/minecraft/class_3499$class_3501;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
COMMENT Categorizes {@code blockInfo} based on its properties, modifying
COMMENT the passed lists in-place.
COMMENT
COMMENT <p>If the block has an NBT associated with it, then it will be
COMMENT put in {@code blocksWithNbt}. If the block does not have an NBT
COMMENT associated with it, but is always a full cube, then it will be
COMMENT put in {@code fullBlocks}. Otherwise, it will be put in
COMMENT {@code otherBlocks}.
COMMENT
COMMENT @apiNote After all blocks are categorized, {@link #combineSorted}
COMMENT should be called with the same parameters to get the final list.
ARG 0 blockInfo
ARG 1 fullBlocks
ARG 2 blocksWithNbt
ARG 3 otherBlocks
METHOD method_28055 combineSorted (Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/util/List;
COMMENT {@return the list that sorts and combines the passed block lists}
COMMENT
COMMENT @apiNote The parameters passed should be the same one that was passed
COMMENT to previous calls to {@link #categorize}. The returned value is meant to
COMMENT be passed to {@link PalettedBlockInfoList}.
COMMENT
COMMENT @implNote Each list passed will be sorted in-place using the items'
COMMENT Y, X, and Z coordinates. The returned list contains all items of
COMMENT {@code fullBlocks}, {@code otherBlocks}, and {@code blocksWithNbt}
COMMENT in this order.
ARG 0 fullBlocks
ARG 1 blocksWithNbt
ARG 2 otherBlocks
METHOD method_28056 (Lnet/minecraft/class_3499$class_3501;)I
ARG 0 blockInfo
METHOD method_34400 createBox (Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_2338;Lnet/minecraft/class_2415;Lnet/minecraft/class_2382;)Lnet/minecraft/class_3341;
ARG 0 pos
ARG 1 rotation

View File

@ -0,0 +1,5 @@
CLASS net/minecraft/class_6625 net/minecraft/structure/StructureContext
FIELD comp_134 registryManager Lnet/minecraft/class_5455;
METHOD comp_134 registryManager ()Lnet/minecraft/class_5455;
METHOD method_38713 from (Lnet/minecraft/class_3218;)Lnet/minecraft/class_6625;
ARG 0 world

View File

@ -36,6 +36,7 @@ CLASS net/minecraft/class_3443 net/minecraft/structure/StructurePiece
ARG 6 box
METHOD method_14918 fillOpenings (Lnet/minecraft/class_3443;Lnet/minecraft/class_6130;Ljava/util/Random;)V
ARG 1 start
ARG 2 holder
ARG 3 random
METHOD method_14919 fillHalfEllipsoid (Lnet/minecraft/class_5281;Lnet/minecraft/class_3341;IIIIIILnet/minecraft/class_2680;Z)V
ARG 1 world
@ -87,7 +88,7 @@ CLASS net/minecraft/class_3443 net/minecraft/structure/StructurePiece
ARG 2 structureAccessor
ARG 3 chunkGenerator
ARG 4 random
ARG 5 boundingBox
ARG 5 chunkBox
ARG 6 chunkPos
ARG 7 pos
METHOD method_14933 fillWithOutlineUnderSeaLevel (Lnet/minecraft/class_5281;Lnet/minecraft/class_3341;Ljava/util/Random;FIIIIIILnet/minecraft/class_2680;Lnet/minecraft/class_2680;ZZ)V
@ -157,6 +158,7 @@ CLASS net/minecraft/class_3443 net/minecraft/structure/StructurePiece
ARG 7 maxY
ARG 8 maxZ
METHOD method_14943 writeNbt (Lnet/minecraft/class_6625;Lnet/minecraft/class_2487;)V
ARG 1 context
ARG 2 nbt
METHOD method_14945 addBlockWithRandomThreshold (Lnet/minecraft/class_5281;Lnet/minecraft/class_3341;Ljava/util/Random;FIIILnet/minecraft/class_2680;)V
ARG 1 world
@ -168,6 +170,7 @@ CLASS net/minecraft/class_3443 net/minecraft/structure/StructurePiece
ARG 7 z
ARG 8 state
METHOD method_14946 toNbt (Lnet/minecraft/class_6625;)Lnet/minecraft/class_2487;
ARG 1 context
METHOD method_16653 getType ()Lnet/minecraft/class_3773;
METHOD method_16654 intersectsChunk (Lnet/minecraft/class_1923;I)Z
ARG 1 pos
@ -212,6 +215,11 @@ CLASS net/minecraft/class_3443 net/minecraft/structure/StructurePiece
ARG 0 random
METHOD method_35458 getCenter ()Lnet/minecraft/class_2338;
METHOD method_35460 getMirror ()Lnet/minecraft/class_2415;
METHOD method_38702 firstIntersecting (Ljava/util/List;Lnet/minecraft/class_3341;)Lnet/minecraft/class_3443;
ARG 0 pieces
ARG 1 box
METHOD method_38703 boundingBox (Ljava/util/stream/Stream;)Lnet/minecraft/class_3341;
ARG 0 pieces
CLASS class_3444 BlockRandomizer
FIELD field_15317 block Lnet/minecraft/class_2680;
METHOD method_14947 getBlock ()Lnet/minecraft/class_2680;

View File

@ -55,6 +55,21 @@ CLASS net/minecraft/class_3773 net/minecraft/structure/StructurePieceType
FIELD field_22195 NETHER_FOSSIL Lnet/minecraft/class_3773;
FIELD field_24010 RUINED_PORTAL Lnet/minecraft/class_3773;
METHOD load (Lnet/minecraft/class_6625;Lnet/minecraft/class_2487;)Lnet/minecraft/class_3443;
ARG 1 context
ARG 2 nbt
METHOD method_16813 register (Lnet/minecraft/class_3773$class_6615;Ljava/lang/String;)Lnet/minecraft/class_3773;
ARG 0 type
ARG 1 id
METHOD method_38691 register (Lnet/minecraft/class_3773$class_6616;Ljava/lang/String;)Lnet/minecraft/class_3773;
ARG 0 type
ARG 1 id
METHOD method_38692 register (Lnet/minecraft/class_3773;Ljava/lang/String;)Lnet/minecraft/class_3773;
ARG 0 type
ARG 1 id
CLASS class_6615 Simple
METHOD load (Lnet/minecraft/class_2487;)Lnet/minecraft/class_3443;
ARG 1 nbt
CLASS class_6616 ManagerAware
METHOD load (Lnet/minecraft/class_3485;Lnet/minecraft/class_2487;)Lnet/minecraft/class_3443;
ARG 1 structureManager
ARG 2 nbt

View File

@ -0,0 +1,22 @@
CLASS net/minecraft/class_6626 net/minecraft/structure/StructurePiecesCollector
COMMENT A collector of structure pieces to be added to a structure start.
COMMENT
COMMENT @see StructurePiecesList
FIELD field_34944 pieces Ljava/util/List;
METHOD method_38714 toList ()Lnet/minecraft/class_6624;
METHOD method_38715 shift (I)V
ARG 1 y
METHOD method_38716 shiftInto (IILjava/util/Random;I)V
COMMENT Somewhat like {@code shiftInto(random, bottomY, topY - topPenalty)}.
ARG 1 topY
ARG 2 bottomY
ARG 3 random
ARG 4 topPenalty
METHOD method_38718 shiftInto (Ljava/util/Random;II)V
COMMENT Shifts all pieces so they lie within {@code [baseY, topY]} vertically.
ARG 1 random
ARG 2 baseY
ARG 3 topY
METHOD method_38719 clear ()V
METHOD method_38720 isEmpty ()Z
METHOD method_38721 getBoundingBox ()Lnet/minecraft/class_3341;

View File

@ -0,0 +1,25 @@
CLASS net/minecraft/class_6622 net/minecraft/structure/StructurePiecesGenerator
COMMENT A structure pieces generator adds structure pieces for a structure,
COMMENT but does not yet realize those pieces into the world. It executes in the
COMMENT structure starts chunk status.
METHOD generatePieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3037;Lnet/minecraft/class_6622$class_6623;)V
ARG 1 collector
ARG 2 config
ARG 3 context
CLASS class_6623 Context
FIELD comp_124 registryManager Lnet/minecraft/class_5455;
FIELD comp_128 biomeLimit Ljava/util/function/Predicate;
FIELD comp_129 world Lnet/minecraft/class_5539;
METHOD comp_124 registryManager ()Lnet/minecraft/class_5455;
METHOD comp_128 biomeLimit ()Ljava/util/function/Predicate;
METHOD comp_129 world ()Lnet/minecraft/class_5539;
METHOD method_38705 getMinInGroundHeight (II)I
ARG 1 deltaX
ARG 2 deltaZ
METHOD method_38706 getHeightsInGround (IIII)[I
ARG 1 x
ARG 2 deltaX
ARG 3 z
ARG 4 deltaZ
METHOD method_38707 isBiomeValid (Lnet/minecraft/class_2902$class_2903;)Z
ARG 1 type

View File

@ -1,5 +1,5 @@
CLASS net/minecraft/class_6130 net/minecraft/structure/StructurePiecesHolder
COMMENT A holder of generated structure pieces.
COMMENT A holder of structure pieces to be added.
COMMENT
COMMENT @see StructurePiece#fillOpenings
METHOD method_35461 getIntersecting (Lnet/minecraft/class_3341;)Lnet/minecraft/class_3443;

View File

@ -0,0 +1,17 @@
CLASS net/minecraft/class_6624 net/minecraft/structure/StructurePiecesList
COMMENT An immutable list of structure pieces, usually belonging to a structure
COMMENT start.
FIELD field_34941 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_34942 JIGSAW Lnet/minecraft/class_2960;
FIELD field_34943 ID_UPDATES Ljava/util/Map;
METHOD <init> (Ljava/util/List;)V
ARG 1 pieces
METHOD method_38708 isEmpty ()Z
METHOD method_38709 toNbt (Lnet/minecraft/class_6625;)Lnet/minecraft/class_2520;
ARG 1 context
METHOD method_38710 contains (Lnet/minecraft/class_2338;)Z
ARG 1 pos
METHOD method_38711 fromNbt (Lnet/minecraft/class_2499;Lnet/minecraft/class_6625;)Lnet/minecraft/class_6624;
ARG 0 list
ARG 1 context
METHOD method_38712 getBoundingBox ()Lnet/minecraft/class_3341;

View File

@ -8,6 +8,7 @@ CLASS net/minecraft/class_3492 net/minecraft/structure/StructurePlacementData
FIELD field_15571 ignoreEntities Z
FIELD field_16446 processors Ljava/util/List;
FIELD field_16587 updateNeighbors Z
FIELD field_24043 initializeMobs Z
METHOD method_15112 setRandom (Ljava/util/Random;)Lnet/minecraft/class_3492;
ARG 1 random
METHOD method_15113 getRotation ()Lnet/minecraft/class_2470;
@ -40,5 +41,8 @@ CLASS net/minecraft/class_3492 net/minecraft/structure/StructurePlacementData
METHOD method_16444 shouldUpdateNeighbors ()Z
METHOD method_16664 removeProcessor (Lnet/minecraft/class_3491;)Lnet/minecraft/class_3492;
ARG 1 processor
METHOD method_27264 setInitializeMobs (Z)Lnet/minecraft/class_3492;
ARG 1 initializeMobs
METHOD method_27265 shouldInitializeMobs ()Z
METHOD method_35476 setPlaceFluids (Z)Lnet/minecraft/class_3492;
ARG 1 placeFluids

View File

@ -15,21 +15,26 @@ CLASS net/minecraft/class_3449 net/minecraft/structure/StructureStart
FIELD field_29070 pos Lnet/minecraft/class_1923;
FIELD field_31662 INVALID Ljava/lang/String;
FIELD field_31663 boundingBox Lnet/minecraft/class_3341;
FIELD field_34940 children Lnet/minecraft/class_6624;
METHOD <init> (Lnet/minecraft/class_3195;Lnet/minecraft/class_1923;ILnet/minecraft/class_6624;)V
ARG 1 feature
ARG 2 pos
ARG 3 references
ARG 4 children
METHOD method_14963 getChildren ()Ljava/util/List;
METHOD method_14964 incrementReferences ()V
METHOD method_14969 setBoundingBoxFromChildren ()Lnet/minecraft/class_3341;
METHOD method_14969 getBoundingBox ()Lnet/minecraft/class_3341;
METHOD method_14970 getReferenceCountToBeInExistingChunk ()I
METHOD method_14972 toNbt (Lnet/minecraft/class_6625;Lnet/minecraft/class_1923;)Lnet/minecraft/class_2487;
ARG 1 context
ARG 2 chunkPos
METHOD method_14974 generateStructure (Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;)V
METHOD method_14974 place (Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;)V
ARG 1 world
ARG 2 structureAccessor
ARG 3 chunkGenerator
ARG 4 random
ARG 5 chunkBox
ARG 6 chunkPos
METHOD method_14979 isInExistingChunk ()Z
METHOD method_16656 getFeature ()Lnet/minecraft/class_3195;
METHOD method_16657 hasChildren ()Z

View File

@ -1,19 +1,34 @@
CLASS net/minecraft/class_3778 net/minecraft/structure/pool/StructurePoolBasedGenerator
FIELD field_16665 LOGGER Lorg/apache/logging/log4j/Logger;
METHOD method_27230 generate (Lnet/minecraft/class_5455;Lnet/minecraft/class_3790;ILnet/minecraft/class_3778$class_3779;Lnet/minecraft/class_2794;Lnet/minecraft/class_3485;Ljava/util/List;Ljava/util/Random;Lnet/minecraft/class_5539;)V
ARG 0 registryManager
ARG 1 piece
ARG 2 maxDepth
ARG 3 pieceFactory
ARG 4 chunkGenerator
ARG 5 structureManager
ARG 6 results
ARG 7 random
ARG 8 world
METHOD method_30419 generate (Lnet/minecraft/class_5455;Lnet/minecraft/class_3812;Lnet/minecraft/class_3778$class_3779;Lnet/minecraft/class_2794;Lnet/minecraft/class_3485;Lnet/minecraft/class_2338;Lnet/minecraft/class_6130;Ljava/util/Random;ZZLnet/minecraft/class_5539;Ljava/util/function/Predicate;)V
ARG 0 dynamicRegistries
ARG 0 registryManager
ARG 1 config
ARG 2 pieceFactory
ARG 3 chunkGenerator
ARG 4 structureManager
ARG 5 pos
ARG 6 children
ARG 7 random
ARG 8 modifyBoundingBox
ARG 9 surface
ARG 10 world
ARG 11 biomeLimit
CLASS class_3779 PieceFactory
METHOD create (Lnet/minecraft/class_3485;Lnet/minecraft/class_3784;Lnet/minecraft/class_2338;ILnet/minecraft/class_2470;Lnet/minecraft/class_3341;)Lnet/minecraft/class_3790;
ARG 1 structureManager
ARG 2 poolElement
ARG 3 pos
ARG 4 groundLevelDelta
ARG 5 rotation
ARG 6 elementBounds
CLASS class_4181 ShapedPoolStructurePiece

View File

@ -21,8 +21,20 @@ CLASS net/minecraft/class_5138 net/minecraft/world/gen/StructureAccessor
METHOD method_27834 shouldGenerateStructures ()Z
METHOD method_28388 getStructureAt (Lnet/minecraft/class_2338;Lnet/minecraft/class_3195;)Lnet/minecraft/class_3449;
ARG 1 pos
ARG 2 structure
METHOD method_29951 forRegion (Lnet/minecraft/class_3233;)Lnet/minecraft/class_5138;
ARG 1 region
METHOD method_38852 hasStructureReferences (Lnet/minecraft/class_2338;)Z
ARG 1 pos
METHOD method_38853 getStructureStarts (Lnet/minecraft/class_4076;Lnet/minecraft/class_3195;)Ljava/util/List;
COMMENT {@return a list of structure starts for this chunk} The structure starts
COMMENT are computed from the structure references of the given section's chunk.
ARG 1 sectionPos
ARG 2 feature
METHOD method_38854 getStructureContaining (Lnet/minecraft/class_2338;Lnet/minecraft/class_3195;)Lnet/minecraft/class_3449;
COMMENT {@return a structure that contains the given {@code pos}} Compared to
COMMENT {@link #getStructureAt}, this does not return a structure if the given
COMMENT position is in the expanded bounding box of the structure but not in any
COMMENT child piece of it.
ARG 1 pos
ARG 2 structure

View File

@ -79,7 +79,7 @@ CLASS net/minecraft/class_2794 net/minecraft/world/gen/chunk/ChunkGenerator
COMMENT Finds all structures that the given chunk intersects, and adds references to their starting chunks to it.
COMMENT A radius of 8 chunks around the given chunk will be searched for structure starts.
ARG 1 world
ARG 2 accessor
ARG 2 structureAccessor
ARG 3 chunk
METHOD method_16397 getHeight (IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)I
COMMENT Returns the raw noise height of a column for use in structure generation.
@ -110,11 +110,26 @@ CLASS net/minecraft/class_2794 net/minecraft/world/gen/chunk/ChunkGenerator
ARG 1 pos
METHOD method_28509 generateStrongholdPositions ()V
METHOD method_33730 getMinimumY ()I
METHOD method_38264 getStructureReferences (Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;Lnet/minecraft/class_4076;Lnet/minecraft/class_3195;)I
ARG 0 structureAccessor
ARG 1 chunk
ARG 2 sectionPos
ARG 3 structureFeature
METHOD method_38266 canPlaceStrongholdInBiome (Lnet/minecraft/class_1959;)Z
ARG 0 biome
METHOD method_38273 (Lnet/minecraft/class_2378;Ljava/util/Map$Entry;Lnet/minecraft/class_1959;)Z
ARG 3 b
METHOD method_38274 testBiomeByKey (Lnet/minecraft/class_2378;Ljava/util/function/Predicate;Lnet/minecraft/class_1959;)Z
ARG 1 registry
ARG 2 condition
ARG 3 biome
METHOD method_38275 populateBiomes (Ljava/util/concurrent/Executor;Lnet/minecraft/class_6748;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)Ljava/util/concurrent/CompletableFuture;
ARG 1 executor
ARG 3 structureAccessor
ARG 4 chunk
METHOD method_38276 getMultiNoiseSampler ()Lnet/minecraft/class_6544$class_6552;
METHOD method_38669 (Lnet/minecraft/class_2378;Lnet/minecraft/class_1959;)Ljava/util/stream/Stream;
ARG 1 biome
METHOD method_39301 getCodecKey ()Ljava/util/Optional;
METHOD method_39462 getBlockBoxForChunk (Lnet/minecraft/class_2791;)Lnet/minecraft/class_3341;
ARG 0 chunk

View File

@ -1,2 +1,4 @@
CLASS net/minecraft/class_5175 net/minecraft/world/gen/feature/BastionRemnantFeature
FIELD field_31499 STRUCTURE_START_Y I
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec

View File

@ -1,2 +1,8 @@
CLASS net/minecraft/class_2956 net/minecraft/world/gen/feature/BuriedTreasureFeature
FIELD field_31500 SALT I
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38672 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3133;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -15,3 +15,7 @@ CLASS net/minecraft/class_5312 net/minecraft/world/gen/feature/ConfiguredStructu
ARG 4 structureManager
ARG 5 worldSeed
ARG 7 chunkPos
ARG 8 structureReferences
ARG 9 structureConfig
ARG 10 world
ARG 11 biomeLimit

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_3006 net/minecraft/world/gen/feature/DesertPyramidFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38673 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1,2 +1,12 @@
CLASS net/minecraft/class_3021 net/minecraft/world/gen/feature/EndCityFeature
FIELD field_31502 Z_SEED_MULTIPLIER I
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_13085 getGenerationHeight (Lnet/minecraft/class_1923;Lnet/minecraft/class_2794;Lnet/minecraft/class_5539;)I
ARG 0 pos
ARG 1 chunkGenerator
ARG 2 world
METHOD method_38674 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_3071 net/minecraft/world/gen/feature/IglooFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38675 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -4,3 +4,7 @@ CLASS net/minecraft/class_5434 net/minecraft/world/gen/feature/JigsawFeature
ARG 2 structureStartY
ARG 3 modifyBoundingBox
ARG 4 surface
METHOD method_38676 (IZZLnet/minecraft/class_6626;Lnet/minecraft/class_3812;Lnet/minecraft/class_6622$class_6623;)V
ARG 3 collector
ARG 4 config
ARG 5 context

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_3076 net/minecraft/world/gen/feature/JungleTempleFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38677 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -0,0 +1 @@
CLASS net/minecraft/class_4183 net/minecraft/world/gen/feature/MarginedStructureFeature

View File

@ -1,4 +1,10 @@
CLASS net/minecraft/class_3098 net/minecraft/world/gen/feature/MineshaftFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38678 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3101;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context
CLASS class_3100 Type
FIELD field_13689 name Ljava/lang/String;
FIELD field_13690 BY_NAME Ljava/util/Map;

View File

@ -1,2 +1,8 @@
CLASS net/minecraft/class_3108 net/minecraft/world/gen/feature/NetherFortressFeature
FIELD field_13705 MONSTER_SPAWNS Lnet/minecraft/class_6012;
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38679 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_4785 net/minecraft/world/gen/feature/NetherFossilFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38699 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_2997;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1,2 +1,18 @@
CLASS net/minecraft/class_3116 net/minecraft/world/gen/feature/OceanMonumentFeature
FIELD field_13716 MONSTER_SPAWNS Lnet/minecraft/class_6012;
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38680 modifyPiecesOnRead (Lnet/minecraft/class_1923;JLnet/minecraft/class_6624;)Lnet/minecraft/class_6624;
ARG 0 pos
ARG 1 worldSeed
ARG 3 pieces
METHOD method_38681 createBasePiece (Lnet/minecraft/class_1923;Lnet/minecraft/class_2919;)Lnet/minecraft/class_3443;
ARG 0 pos
ARG 1 random
METHOD method_38682 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context
METHOD method_38683 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 context

View File

@ -1,4 +1,10 @@
CLASS net/minecraft/class_3411 net/minecraft/world/gen/feature/OceanRuinFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38700 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3114;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context
CLASS class_3413 BiomeType
FIELD field_14529 name Ljava/lang/String;
FIELD field_14530 BY_NAME Ljava/util/Map;

View File

@ -1,5 +1,8 @@
CLASS net/minecraft/class_3770 net/minecraft/world/gen/feature/PillagerOutpostFeature
FIELD field_16656 MONSTER_SPAWNS Lnet/minecraft/class_6012;
FIELD field_16656 MONSTER_SPAWNS Lnet/minecraft/class_6012
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_30845 isVillageNearby (Lnet/minecraft/class_2794;JLnet/minecraft/class_1923;)Z
ARG 1 generator
ARG 2 worldSeed
ARG 1 chunkGenerator
ARG 2 seed
ARG 4 pos

View File

@ -1,6 +1,8 @@
CLASS net/minecraft/class_5183 net/minecraft/world/gen/feature/RuinedPortalFeature
FIELD field_23998 RARE_PORTAL_STRUCTURE_IDS [Ljava/lang/String;
FIELD field_23999 COMMON_PORTAL_STRUCTURE_IDS [Ljava/lang/String;
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_27209 isColdAt (Lnet/minecraft/class_2338;Lnet/minecraft/class_1959;)Z
ARG 0 pos
ARG 1 biome
@ -17,6 +19,10 @@ CLASS net/minecraft/class_5183 net/minecraft/world/gen/feature/RuinedPortalFeatu
ARG 5 blockCountY
ARG 6 box
ARG 7 world
METHOD method_38684 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_5187;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context
CLASS class_5185 Type
FIELD field_24007 BY_NAME Ljava/util/Map;
FIELD field_24008 name Ljava/lang/String;

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_3170 net/minecraft/world/gen/feature/ShipwreckFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38685 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3172;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1 +1,7 @@
CLASS net/minecraft/class_3188 net/minecraft/world/gen/feature/StrongholdFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38686 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -5,6 +5,15 @@ CLASS net/minecraft/class_3195 net/minecraft/world/gen/feature/StructureFeature
FIELD field_24861 LAND_MODIFYING_STRUCTURES Ljava/util/List;
FIELD field_24862 STRUCTURE_TO_GENERATION_STEP Ljava/util/Map;
FIELD field_24863 codec Lcom/mojang/serialization/Codec;
FIELD field_34929 piecesGenerator Lnet/minecraft/class_6622;
FIELD field_34930 postProcessor Lnet/minecraft/class_6621;
METHOD <init> (Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6622;)V
ARG 1 configCodec
ARG 2 piecesGenerator
METHOD <init> (Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6622;Lnet/minecraft/class_6621;)V
ARG 1 configCodec
ARG 2 piecesGenerator
ARG 3 postPlacementProcessor
METHOD method_14015 locateStructure (Lnet/minecraft/class_4538;Lnet/minecraft/class_5138;Lnet/minecraft/class_2338;IZJLnet/minecraft/class_5314;)Lnet/minecraft/class_2338;
COMMENT Tries to find the closest structure of this type near a given block.
COMMENT <p>
@ -30,18 +39,23 @@ CLASS net/minecraft/class_3195 net/minecraft/world/gen/feature/StructureFeature
ARG 1 chunkGenerator
ARG 2 biomeSource
ARG 3 worldSeed
ARG 5 pos
ARG 6 config
ARG 7 world
METHOD method_27218 getStartChunk (Lnet/minecraft/class_5314;JII)Lnet/minecraft/class_1923;
COMMENT Determines the cell of the structure placement grid a chunk belongs to, and
COMMENT returns the chunk within that cell, that this structure will actually be placed at.
COMMENT <p>
COMMENT If the {@link StructureConfig} uses a separation setting greater than 0, the
COMMENT
COMMENT <p>If the {@link StructureConfig} uses a separation setting greater than 0, the
COMMENT placement will be constrained to [0, spacing - separation] within the grid cell.
COMMENT If a non-uniform distribution is used for placement, then this also moves
COMMENT the center towards the origin.
COMMENT
COMMENT @see #isUniformDistribution()
ARG 1 config
ARG 2 worldSeed
ARG 2 seed
ARG 4 x
ARG 5 z
METHOD method_27219 isUniformDistribution ()Z
COMMENT If true, this structure's start position will be uniformly distributed within
COMMENT a placement grid cell. If false, the structure's starting point will be biased
@ -51,14 +65,21 @@ CLASS net/minecraft/class_3195 net/minecraft/world/gen/feature/StructureFeature
COMMENT <p>
COMMENT If this structure doesn't have a starting point in the chunk, {@link StructureStart#DEFAULT}
COMMENT will be returned.
ARG 2 generator
ARG 1 registryManager
ARG 2 chunkGenerator
ARG 3 biomeSource
ARG 4 manager
ARG 4 structureManager
ARG 5 worldSeed
ARG 7 pos
ARG 8 structureReferences
ARG 9 structureConfig
ARG 10 config
ARG 11 world
ARG 12 biomeLimit
METHOD method_28659 configure (Lnet/minecraft/class_3037;)Lnet/minecraft/class_5312;
ARG 1 config
METHOD method_28660 readStructureStart (Lnet/minecraft/class_6625;Lnet/minecraft/class_2487;J)Lnet/minecraft/class_3449;
ARG 0 context
ARG 1 nbt
ARG 2 worldSeed
METHOD method_28661 register (Ljava/lang/String;Lnet/minecraft/class_3195;Lnet/minecraft/class_2893$class_2895;)Lnet/minecraft/class_3195;
@ -71,3 +92,12 @@ CLASS net/minecraft/class_3195 net/minecraft/world/gen/feature/StructureFeature
METHOD method_28664 init ()V
METHOD method_28665 getCodec ()Lcom/mojang/serialization/Codec;
METHOD method_36217 calculateBoundingBox (Lnet/minecraft/class_3341;)Lnet/minecraft/class_3341;
ARG 1 box
METHOD method_38671 getLocatedPos (Lnet/minecraft/class_1923;)Lnet/minecraft/class_2338;
COMMENT {@return a block position for feature location}
ARG 1 chunkPos
METHOD method_38688 (Lnet/minecraft/class_5312;)Lnet/minecraft/class_3037;
ARG 0 configuredFeature
METHOD method_38689 (Lnet/minecraft/class_3037;)Lnet/minecraft/class_5312;
ARG 1 config
METHOD method_38690 getPostProcessor ()Lnet/minecraft/class_6621;

View File

@ -1,3 +1,9 @@
CLASS net/minecraft/class_3197 net/minecraft/world/gen/feature/SwampHutFeature
FIELD field_13882 MONSTER_SPAWNS Lnet/minecraft/class_6012;
FIELD field_16435 CREATURE_SPAWNS Lnet/minecraft/class_6012;
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38693 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context

View File

@ -1 +1,3 @@
CLASS net/minecraft/class_3211 net/minecraft/world/gen/feature/VillageFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec

View File

@ -1 +1,15 @@
CLASS net/minecraft/class_3223 net/minecraft/world/gen/feature/WoodlandMansionFeature
METHOD <init> (Lcom/mojang/serialization/Codec;)V
ARG 1 configCodec
METHOD method_38694 postPlace (Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;Lnet/minecraft/class_6624;)V
ARG 0 world
ARG 1 structureAccessor
ARG 2 chunkGenerator
ARG 3 random
ARG 4 chunkBox
ARG 5 chunkPos
ARG 6 children
METHOD method_38695 addPieces (Lnet/minecraft/class_6626;Lnet/minecraft/class_3111;Lnet/minecraft/class_6622$class_6623;)V
ARG 0 collector
ARG 1 config
ARG 2 context