Код IT Загрузка примера кода…

Java main.java
   package com.example.structuremod;

   import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
   import net.minecraft.block.Blocks;
   import net.minecraft.server.command.ServerCommandSource;
   import net.minecraft.text.Text;
   import net.minecraft.util.math.BlockPos;
   import com.mojang.brigadier.CommandDispatcher;
   import com.mojang.brigadier.arguments.IntegerArgumentType;
   import static net.minecraft.server.command.CommandManager.*;

   public class PyramidCommand {
       public static void register() {
           CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
               dispatcher.register(literal("structure")
                   .then(literal("pyramid")
                       .then(argument("size", IntegerArgumentType.integer(1, 32))
                           .executes(context -> {
                               ServerCommandSource source = context.getSource();
                               int size = IntegerArgumentType.getInteger(context, "size");
                               BlockPos origin = source.getPosition().add(2, 0, 2).toImmutable();
                               buildPyramid(source.getWorld(), origin, size);
                               source.sendFeedback(() -> Text.literal("Пирамида " + size + "×" + size + " построена."), false);
                               return 1;
                           })
                       )
                   )
               )
           );
       }

       private static void buildPyramid(net.minecraft.world.World world, BlockPos origin, int size) {
           for (int layer = 0; layer < size; layer++) {
               int side = size - layer;
               int y = origin.getY() + layer;
               for (int x = 0; x < side; x++) {
                   for (int z = 0; z < side; z++) {
                       BlockPos pos = origin.add(x, y, z);
                       world.setBlockState(pos, Blocks.SANDSTONE.getDefaultState(), 3);
                   }
               }
           }
       }
   }
   package com.example.structuremod;

   import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
   import net.minecraft.block.Blocks;
   import net.minecraft.server.command.ServerCommandSource;
   import net.minecraft.text.Text;
   import net.minecraft.util.math.BlockPos;
   import com.mojang.brigadier.CommandDispatcher;
   import com.mojang.brigadier.arguments.IntegerArgumentType;
   import static net.minecraft.server.command.CommandManager.*;

   public class PyramidCommand {
       public static void register() {
           CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) ->
               dispatcher.register(literal("structure")
                   .then(literal("pyramid")
                       .then(argument("size", IntegerArgumentType.integer(1, 32))
                           .executes(context -> {
                               ServerCommandSource source = context.getSource();
                               int size = IntegerArgumentType.getInteger(context, "size");
                               BlockPos origin = source.getPosition().add(2, 0, 2).toImmutable();
                               buildPyramid(source.getWorld(), origin, size);
                               source.sendFeedback(() -> Text.literal("Пирамида " + size + "×" + size + " построена."), false);
                               return 1;
                           })
                       )
                   )
               )
           );
       }

       private static void buildPyramid(net.minecraft.world.World world, BlockPos origin, int size) {
           for (int layer = 0; layer < size; layer++) {
               int side = size - layer;
               int y = origin.getY() + layer;
               for (int x = 0; x < side; x++) {
                   for (int z = 0; z < side; z++) {
                       BlockPos pos = origin.add(x, y, z);
                       world.setBlockState(pos, Blocks.SANDSTONE.getDefaultState(), 3);
                   }
               }
           }
       }
   }