Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.fabricmc.example;
- import java.util.Random;
- import net.fabricmc.api.ModInitializer;
- import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
- import net.minecraft.server.command.CommandManager;
- import net.minecraft.server.network.ServerPlayerEntity;
- import net.minecraft.server.world.ServerWorld;
- import net.minecraft.structure.StructurePiece;
- import net.minecraft.structure.StructureStart;
- import net.minecraft.util.math.BlockBox;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.util.math.ChunkPos;
- import net.minecraft.util.math.ChunkSectionPos;
- import net.minecraft.world.StructureWorldAccess;
- import net.minecraft.world.gen.StructureAccessor;
- import net.minecraft.world.gen.chunk.ChunkGenerator;
- import net.minecraft.world.gen.chunk.StructureConfig;
- import net.minecraft.world.gen.feature.DefaultFeatureConfig;
- import net.minecraft.world.gen.feature.StructureFeature;
- public class TechnicalBlocks implements ModInitializer {
- @Override
- public void onInitialize() {
- CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> {
- dispatcher.register(CommandManager.literal("spawnfeature").executes(context -> {
- ServerPlayerEntity player = context.getSource().getPlayer();
- ServerWorld world = (ServerWorld) player.getEntityWorld();
- BlockPos pos = player.getBlockPos();
- ChunkPos chunk = new ChunkPos(pos);
- StructureAccessor accessor = world.getStructureAccessor();
- ChunkGenerator generator = world.getChunkManager().getChunkGenerator();
- StructureFeature<DefaultFeatureConfig> feat = StructureFeature.DESERT_PYRAMID;
- BlockBox box = BlockBox.create(pos.add(-100, -100, -100), pos.add(100, 100, 100));
- StructureStart<?> structureStart = feat.getStructureStartFactory().create(feat, chunk, 1, 0);
- structureStart.init(world.getRegistryManager(), generator, world.getStructureManager(), chunk,
- world.getBiome(pos), null, null);
- structureStart.generateStructure(world, accessor, generator, new Random(), box, chunk);
- return 1;
- }));
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment