我们今天在1.18的模组中实现一个建筑的生成。
往期教程:
1.12.2自定义建筑生成
1.16.5自定义建筑生成
1.首先我们按照往常要制作一个建筑的并保存为nbt文件。B站教程
2.在Java包中新建一个world包 -> world包中新建一个 structure包 -> structure包中新建一个建筑类ChurchStructure
ChurchStructure.java
package com.joy187.re8joymod.world.structure;
import java.util.Optional;
import org.apache.logging.log4j.Level;
import com.joy187.re8joymod.Main;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.StructureFeature;
import net.minecraft.world.level.levelgen.feature.configurations.JigsawConfiguration;
import net.minecraft.world.level.levelgen.structure.BuiltinStructureSets;
import net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece;
import net.minecraft.world.level.levelgen.structure.PostPlacementProcessor;
import net.minecraft.world.level.levelgen.structure.pieces.PieceGenerator;
import net.minecraft.world.level.levelgen.structure.pieces.PieceGeneratorSupplier;
import net.minecraft.world.level.levelgen.structure.pools.JigsawPlacement;
public class ChurchStructure extends StructureFeature<JigsawConfiguration>{
public ChurchStructure() {
// Create the pieces layout of the structure and give it to the game
super(JigsawConfiguration.CODEC, ChurchStructure::createPiecesGenerator, PostPlacementProcessor.NONE);
}
@Override
public GenerationStep.Decoration step() {
return GenerationStep.Decoration.SUR

这篇博客详细介绍了如何在Minecraft 1.18模组中实现自定义建筑的生成。从创建NBT文件到编写Java代码,包括`ChurchStructure`类的实现、`ModStructures`类中的注册以及资源包的数据配置,一步步教你如何让建筑在特定地形上生成。通过命令行定位,最终成功找到并测试了生成的建筑。
最低0.47元/天 解锁文章
238

被折叠的 条评论
为什么被折叠?



