public abstract class StructureFeature<C extends FeatureConfig> extends Feature<C>
Modifier and Type | Class and Description |
---|---|
static interface |
StructureFeature.StructureStartFactory |
Modifier and Type | Field and Description |
---|---|
private static Logger |
LOGGER |
BAMBOO, BASALT_COLUMNS, BASALT_PILLAR, BASTION_REMNANT, BLOCK_PILE, BLUE_ICE, BONUS_CHEST, BURIED_TREASURE, CHORUS_PLANT, CORAL_CLAW, CORAL_MUSHROOM, CORAL_TREE, DARK_OAK_TREE, DECORATED, DECORATED_FLOWER, DELTA_FEATURE, DESERT_PYRAMID, DESERT_WELL, DISK, EMERALD_ORE, END_CITY, END_GATEWAY, END_ISLAND, END_SPIKE, FANCY_TREE, FILL_LAYER, FLOWER, FOREST_ROCK, FOSSIL, FREEZE_TOP_LAYER, GLOWSTONE_BLOB, HUGE_BROWN_MUSHROOM, HUGE_FUNGUS, HUGE_RED_MUSHROOM, ICE_PATCH, ICE_SPIKE, ICEBERG, IGLOO, JIGSAW_STRUCTURES, JUNGLE_GROUND_BUSH, JUNGLE_TEMPLE, KELP, LAKE, MEGA_JUNGLE_TREE, MEGA_SPRUCE_TREE, MINESHAFT, MONSTER_ROOM, NETHER_BRIDGE, NETHER_FOREST_VEGETATION, NETHER_FOSSIL, NETHERRACK_REPLACE_BLOBS, NO_OP, NO_SURFACE_ORE, NORMAL_TREE, OCEAN_MONUMENT, OCEAN_RUIN, ORE, PILLAGER_OUTPOST, RANDOM_BOOLEAN_SELECTOR, RANDOM_PATCH, RANDOM_RANDOM_SELECTOR, RANDOM_SELECTOR, RUINED_PORTAL, SEA_PICKLE, SEAGRASS, SHIPWRECK, SIMPLE_BLOCK, SIMPLE_RANDOM_SELECTOR, SPRING_FEATURE, STRONGHOLD, STRUCTURES, SWAMP_HUT, TWISTING_VINES, VILLAGE, VINES, VOID_START_PLATFORM, WEEPING_VINES, WOODLAND_MANSION
Constructor and Description |
---|
StructureFeature(Function<com.mojang.datafixers.Dynamic<?>,? extends C> configDeserializer) |
Modifier and Type | Method and Description |
---|---|
ConfiguredFeature<C,? extends StructureFeature<C>> |
configure(C config) |
boolean |
generate(IWorld world,
StructureAccessor accessor,
ChunkGenerator<? extends ChunkGeneratorConfig> generator,
Random random,
BlockPos pos,
C config) |
abstract String |
getName() |
abstract int |
getRadius() |
protected int |
getSeedModifier(ChunkGeneratorConfig chunkGeneratorConfig) |
protected int |
getSeparation(DimensionType dimensionType,
ChunkGeneratorConfig chunkGenerationConfig) |
protected int |
getSpacing(DimensionType dimensionType,
ChunkGeneratorConfig chunkGeneratorConfig) |
abstract StructureFeature.StructureStartFactory |
getStructureStartFactory() |
boolean |
isApproximatelyInsideStructure(IWorld world,
StructureAccessor structureAccessor,
BlockPos blockPos) |
boolean |
isInsideStructure(IWorld world,
StructureAccessor structureAccessor,
BlockPos blockPos) |
protected StructureStart |
isInsideStructure(IWorld iWorld,
StructureAccessor structureAccessor,
BlockPos blockPos,
boolean bool) |
BlockPos |
locateStructure(ServerWorld serverWorld,
ChunkGenerator<? extends ChunkGeneratorConfig> chunkGenerator,
BlockPos blockPos,
int int2,
boolean skipExistingChunks) |
boolean |
method_27217(BiomeAccess biomeAccess,
ChunkGenerator<?> chunkGenerator,
ChunkRandom chunkRandom,
int int2,
int int3,
Biome biome) |
ChunkPos |
method_27218(ChunkGenerator<?> chunkGenerator,
ChunkRandom chunkRandom,
int int2,
int int3) |
protected boolean |
method_27219() |
protected boolean |
shouldStartAt(BiomeAccess biomeAccess,
ChunkGenerator<?> chunkGenerator,
ChunkRandom chunkRandom,
int chunkX,
int chunkZ,
Biome biome,
ChunkPos chunkPos) |
deserializeConfig, getCreatureSpawns, getMonsterSpawns, isDirt, isStone, setBlockState
private static final Logger LOGGER
public ConfiguredFeature<C,? extends StructureFeature<C>> configure(C config)
configure
in class Feature<C extends FeatureConfig>
public boolean generate(IWorld world, StructureAccessor accessor, ChunkGenerator<? extends ChunkGeneratorConfig> generator, Random random, BlockPos pos, C config)
generate
in class Feature<C extends FeatureConfig>
protected StructureStart isInsideStructure(IWorld iWorld, StructureAccessor structureAccessor, BlockPos blockPos, boolean bool)
public boolean isApproximatelyInsideStructure(IWorld world, StructureAccessor structureAccessor, BlockPos blockPos)
public boolean isInsideStructure(IWorld world, StructureAccessor structureAccessor, BlockPos blockPos)
@Nullable public BlockPos locateStructure(ServerWorld serverWorld, ChunkGenerator<? extends ChunkGeneratorConfig> chunkGenerator, BlockPos blockPos, int int2, boolean skipExistingChunks)
protected int getSpacing(DimensionType dimensionType, ChunkGeneratorConfig chunkGeneratorConfig)
protected int getSeparation(DimensionType dimensionType, ChunkGeneratorConfig chunkGenerationConfig)
protected int getSeedModifier(ChunkGeneratorConfig chunkGeneratorConfig)
protected boolean method_27219()
public final ChunkPos method_27218(ChunkGenerator<?> chunkGenerator, ChunkRandom chunkRandom, int int2, int int3)
public boolean method_27217(BiomeAccess biomeAccess, ChunkGenerator<?> chunkGenerator, ChunkRandom chunkRandom, int int2, int int3, Biome biome)
protected boolean shouldStartAt(BiomeAccess biomeAccess, ChunkGenerator<?> chunkGenerator, ChunkRandom chunkRandom, int chunkX, int chunkZ, Biome biome, ChunkPos chunkPos)
public abstract StructureFeature.StructureStartFactory getStructureStartFactory()
public abstract String getName()
public abstract int getRadius()