syntax = "proto3";
import "google/protobuf/empty.proto";
package dk.itu.real.ooe;

/**
  The main service.
*/
service MinecraftService {

    /** Spawn multiple blocks. */
    rpc spawnBlocks (Blocks) returns (google.protobuf.Empty);

    /** Return all blocks in a cube */
    rpc readCube (Cube) returns (BlocksInfo);

	/** Return all blocks in a cube */
	rpc readCubeList (Cubes) returns (BlocksInfoList);

    /** Fill a cube with a block type */
    rpc fillCube (FillCubeRequest) returns (google.protobuf.Empty);

	/** Fill a cube with a block type */
	rpc fillCubeList (FillCubeRequests) returns (google.protobuf.Empty);

    /** Return tags of requested blocks */
    rpc tagBlockTypes (BlockTypes) returns (BlockTags);

	/** Place sign with text */
	rpc signsWithText (SignDescriptors) returns (google.protobuf.Empty);

	/** Send message to chat */
	rpc sendMessage(Message) returns (google.protobuf.Empty);

	/** Read response from chat */
	rpc readResponse(google.protobuf.Empty) returns (Message);

	/** Place observer for simulating */
	rpc placeObserver(Point) returns (google.protobuf.Empty);

	/** Place observer for simulating */
	/** rpc loadChunk(Point) returns (google.protobuf.Empty); */

}

/** Multiple cubes */
message Cubes {
	repeated Cube cubes = 1;
}

/** Multiple fill cube requests */
message FillCubeRequests {
	repeated FillCubeRequest fill_cube_requests = 1;
}

/** Multiple blocks */
message Blocks {
	repeated Block blocks = 1;
}

/** Multiple blocks information */
message BlocksInfo {
	repeated BlockInfo blocks = 1;
}

/** Multiple lists of blocks information */
message BlocksInfoList {
	repeated BlocksInfo blocks_infos = 1;
}

/** Multiple blockTypes */
message BlockTypes {
	repeated BlockType block_types = 1;
}

/** Multiple blockTypes */
message BlockTags {
	repeated BlockTag block_tags = 1;
}

/** Multiple signDescriptors */
message SignDescriptors {
	repeated SignDescriptor sign_descriptors = 1;
}

/** A 3D cube defined by two opposing corners min and max where min.x < max.x, min.y < max.y and min.z < max.z */
message Cube {
    Point min = 1;
    Point max = 2;
}

/** A request to fill the cube with the block type */
message FillCubeRequest {
    Cube cube = 1;
    BlockType type = 2;
}

/** A point in 3D space */
message Point {
    int32 x = 1;
    int32 y = 2;
    int32 z = 3;
}

/** A single block */
message Block {
    Point position = 1;
    BlockType type = 2;
    Orientation orientation = 3;
}

/** A single block extended info*/
message BlockInfo {
	Point position = 1;
	BlockType type = 2;
	Orientation orientation = 3;
	int32 power = 4;
	bool is_powered = 5;
}

/** A single block tags */
message BlockTag {
    string tag = 1;
}

/** A single sign descriptor */
message SignDescriptor {
	Block block = 1;
	string text = 2;
}

/** A string message */
message Message {
	string text = 1;
}

/** An orientation in 3D space. */
enum Orientation {
	NORTH = 0;
	NORTH_NORTHEAST = 1;
	NORTHEAST = 2;
	EAST_NORTHEAST = 3;
	EAST = 4;
	EAST_SOUTHEAST = 5;
	SOUTHEAST = 6;
	SOUTH_SOUTHEAST = 7;
	SOUTH = 8;
	SOUTH_SOUTHWEST = 9;
	SOUTHWEST = 10;
	WEST_SOUTHWEST = 11;
	WEST = 12;
	WEST_NORTHWEST = 13;
	NORTHWEST = 14;
	NORTH_NORTHWEST = 15;
	UP = 16;
	DOWN = 17;
	NONE = 18;
}

/** A block type. To get the corresponding Minecraft id name, lowercase and append "minecraft:", e.g. "minecraft:acacia_door" */
enum BlockType {
	ACACIA_BUTTON = 0;
	ACACIA_DOOR = 1;
	ACACIA_FENCE = 2;
	ACACIA_FENCE_GATE = 3;
	ACACIA_HANGING_SIGN = 4;
	ACACIA_LEAVES = 5;
	ACACIA_LOG = 6;
	ACACIA_PLANKS = 7;
	ACACIA_PRESSURE_PLATE = 8;
	ACACIA_SAPLING = 9;
	ACACIA_SIGN = 10;
	ACACIA_SLAB = 11;
	ACACIA_STAIRS = 12;
	ACACIA_TRAPDOOR = 13;
	ACACIA_WALL_HANGING_SIGN = 14;
	ACACIA_WALL_SIGN = 15;
	ACACIA_WOOD = 16;
	ACTIVATOR_RAIL = 17;
	AIR = 18;
	ALLIUM = 19;
	AMETHYST_BLOCK = 20;
	AMETHYST_CLUSTER = 21;
	ANCIENT_DEBRIS = 22;
	ANDESITE = 23;
	ANDESITE_SLAB = 24;
	ANDESITE_STAIRS = 25;
	ANDESITE_WALL = 26;
	ANVIL = 27;
	ATTACHED_MELON_STEM = 28;
	ATTACHED_PUMPKIN_STEM = 29;
	AZALEA = 30;
	AZALEA_LEAVES = 31;
	AZURE_BLUET = 32;
	BAMBOO = 33;
	BAMBOO_BLOCK = 34;
	BAMBOO_BUTTON = 35;
	BAMBOO_DOOR = 36;
	BAMBOO_FENCE = 37;
	BAMBOO_FENCE_GATE = 38;
	BAMBOO_HANGING_SIGN = 39;
	BAMBOO_MOSAIC = 40;
	BAMBOO_MOSAIC_SLAB = 41;
	BAMBOO_MOSAIC_STAIRS = 42;
	BAMBOO_PLANKS = 43;
	BAMBOO_PRESSURE_PLATE = 44;
	BAMBOO_SAPLING = 45;
	BAMBOO_SIGN = 46;
	BAMBOO_SLAB = 47;
	BAMBOO_STAIRS = 48;
	BAMBOO_TRAPDOOR = 49;
	BAMBOO_WALL_HANGING_SIGN = 50;
	BAMBOO_WALL_SIGN = 51;
	BARREL = 52;
	BARRIER = 53;
	BASALT = 54;
	BEACON = 55;
	BEDROCK = 56;
	BEE_NEST = 57;
	BEEHIVE = 58;
	BEETROOTS = 59;
	BELL = 60;
	BIG_DRIPLEAF = 61;
	BIG_DRIPLEAF_STEM = 62;
	BIRCH_BUTTON = 63;
	BIRCH_DOOR = 64;
	BIRCH_FENCE = 65;
	BIRCH_FENCE_GATE = 66;
	BIRCH_HANGING_SIGN = 67;
	BIRCH_LEAVES = 68;
	BIRCH_LOG = 69;
	BIRCH_PLANKS = 70;
	BIRCH_PRESSURE_PLATE = 71;
	BIRCH_SAPLING = 72;
	BIRCH_SIGN = 73;
	BIRCH_SLAB = 74;
	BIRCH_STAIRS = 75;
	BIRCH_TRAPDOOR = 76;
	BIRCH_WALL_HANGING_SIGN = 77;
	BIRCH_WALL_SIGN = 78;
	BIRCH_WOOD = 79;
	BLACK_BANNER = 80;
	BLACK_BED = 81;
	BLACK_CANDLE = 82;
	BLACK_CANDLE_CAKE = 83;
	BLACK_CARPET = 84;
	BLACK_CONCRETE = 85;
	BLACK_CONCRETE_POWDER = 86;
	BLACK_GLAZED_TERRACOTTA = 87;
	BLACK_SHULKER_BOX = 88;
	BLACK_STAINED_GLASS = 89;
	BLACK_STAINED_GLASS_PANE = 90;
	BLACK_TERRACOTTA = 91;
	BLACK_WALL_BANNER = 92;
	BLACK_WOOL = 93;
	BLACKSTONE = 94;
	BLACKSTONE_SLAB = 95;
	BLACKSTONE_STAIRS = 96;
	BLACKSTONE_WALL = 97;
	BLAST_FURNACE = 98;
	BLUE_BANNER = 99;
	BLUE_BED = 100;
	BLUE_CANDLE = 101;
	BLUE_CANDLE_CAKE = 102;
	BLUE_CARPET = 103;
	BLUE_CONCRETE = 104;
	BLUE_CONCRETE_POWDER = 105;
	BLUE_GLAZED_TERRACOTTA = 106;
	BLUE_ICE = 107;
	BLUE_ORCHID = 108;
	BLUE_SHULKER_BOX = 109;
	BLUE_STAINED_GLASS = 110;
	BLUE_STAINED_GLASS_PANE = 111;
	BLUE_TERRACOTTA = 112;
	BLUE_WALL_BANNER = 113;
	BLUE_WOOL = 114;
	BONE_BLOCK = 115;
	BOOKSHELF = 116;
	BRAIN_CORAL = 117;
	BRAIN_CORAL_BLOCK = 118;
	BRAIN_CORAL_FAN = 119;
	BRAIN_CORAL_WALL_FAN = 120;
	BREWING_STAND = 121;
	BRICK_SLAB = 122;
	BRICK_STAIRS = 123;
	BRICK_WALL = 124;
	BRICKS = 125;
	BROWN_BANNER = 126;
	BROWN_BED = 127;
	BROWN_CANDLE = 128;
	BROWN_CANDLE_CAKE = 129;
	BROWN_CARPET = 130;
	BROWN_CONCRETE = 131;
	BROWN_CONCRETE_POWDER = 132;
	BROWN_GLAZED_TERRACOTTA = 133;
	BROWN_MUSHROOM = 134;
	BROWN_MUSHROOM_BLOCK = 135;
	BROWN_SHULKER_BOX = 136;
	BROWN_STAINED_GLASS = 137;
	BROWN_STAINED_GLASS_PANE = 138;
	BROWN_TERRACOTTA = 139;
	BROWN_WALL_BANNER = 140;
	BROWN_WOOL = 141;
	BUBBLE_COLUMN = 142;
	BUBBLE_CORAL = 143;
	BUBBLE_CORAL_BLOCK = 144;
	BUBBLE_CORAL_FAN = 145;
	BUBBLE_CORAL_WALL_FAN = 146;
	BUDDING_AMETHYST = 147;
	CACTUS = 148;
	CAKE = 149;
	CALCITE = 150;
	CALIBRATED_SCULK_SENSOR = 151;
	CAMPFIRE = 152;
	CANDLE = 153;
	CANDLE_CAKE = 154;
	CARROTS = 155;
	CARTOGRAPHY_TABLE = 156;
	CARVED_PUMPKIN = 157;
	CAULDRON = 158;
	CAVE_AIR = 159;
	CAVE_VINES = 160;
	CAVE_VINES_PLANT = 161;
	CHAIN = 162;
	CHAIN_COMMAND_BLOCK = 163;
	CHERRY_BUTTON = 164;
	CHERRY_DOOR = 165;
	CHERRY_FENCE = 166;
	CHERRY_FENCE_GATE = 167;
	CHERRY_HANGING_SIGN = 168;
	CHERRY_LEAVES = 169;
	CHERRY_LOG = 170;
	CHERRY_PLANKS = 171;
	CHERRY_PRESSURE_PLATE = 172;
	CHERRY_SAPLING = 173;
	CHERRY_SIGN = 174;
	CHERRY_SLAB = 175;
	CHERRY_STAIRS = 176;
	CHERRY_TRAPDOOR = 177;
	CHERRY_WALL_HANGING_SIGN = 178;
	CHERRY_WALL_SIGN = 179;
	CHERRY_WOOD = 180;
	CHEST = 181;
	CHIPPED_ANVIL = 182;
	CHISELED_BOOKSHELF = 183;
	CHISELED_DEEPSLATE = 184;
	CHISELED_NETHER_BRICKS = 185;
	CHISELED_POLISHED_BLACKSTONE = 186;
	CHISELED_QUARTZ_BLOCK = 187;
	CHISELED_RED_SANDSTONE = 188;
	CHISELED_SANDSTONE = 189;
	CHISELED_STONE_BRICKS = 190;
	CHORUS_FLOWER = 191;
	CHORUS_PLANT = 192;
	CLAY = 193;
	COAL_BLOCK = 194;
	COAL_ORE = 195;
	COARSE_DIRT = 196;
	COBBLED_DEEPSLATE = 197;
	COBBLED_DEEPSLATE_SLAB = 198;
	COBBLED_DEEPSLATE_STAIRS = 199;
	COBBLED_DEEPSLATE_WALL = 200;
	COBBLESTONE = 201;
	COBBLESTONE_SLAB = 202;
	COBBLESTONE_STAIRS = 203;
	COBBLESTONE_WALL = 204;
	COBWEB = 205;
	COCOA = 206;
	COMMAND_BLOCK = 207;
	COMPARATOR = 208;
	COMPOSTER = 209;
	CONDUIT = 210;
	COPPER_BLOCK = 211;
	COPPER_ORE = 212;
	CORNFLOWER = 213;
	CRACKED_DEEPSLATE_BRICKS = 214;
	CRACKED_DEEPSLATE_TILES = 215;
	CRACKED_NETHER_BRICKS = 216;
	CRACKED_POLISHED_BLACKSTONE_BRICKS = 217;
	CRACKED_STONE_BRICKS = 218;
	CRAFTING_TABLE = 219;
	CREEPER_HEAD = 220;
	CREEPER_WALL_HEAD = 221;
	CRIMSON_BUTTON = 222;
	CRIMSON_DOOR = 223;
	CRIMSON_FENCE = 224;
	CRIMSON_FENCE_GATE = 225;
	CRIMSON_FUNGUS = 226;
	CRIMSON_HANGING_SIGN = 227;
	CRIMSON_HYPHAE = 228;
	CRIMSON_NYLIUM = 229;
	CRIMSON_PLANKS = 230;
	CRIMSON_PRESSURE_PLATE = 231;
	CRIMSON_ROOTS = 232;
	CRIMSON_SIGN = 233;
	CRIMSON_SLAB = 234;
	CRIMSON_STAIRS = 235;
	CRIMSON_STEM = 236;
	CRIMSON_TRAPDOOR = 237;
	CRIMSON_WALL_HANGING_SIGN = 238;
	CRIMSON_WALL_SIGN = 239;
	CRYING_OBSIDIAN = 240;
	CUT_COPPER = 241;
	CUT_COPPER_SLAB = 242;
	CUT_COPPER_STAIRS = 243;
	CUT_RED_SANDSTONE = 244;
	CUT_RED_SANDSTONE_SLAB = 245;
	CUT_SANDSTONE = 246;
	CUT_SANDSTONE_SLAB = 247;
	CYAN_BANNER = 248;
	CYAN_BED = 249;
	CYAN_CANDLE = 250;
	CYAN_CANDLE_CAKE = 251;
	CYAN_CARPET = 252;
	CYAN_CONCRETE = 253;
	CYAN_CONCRETE_POWDER = 254;
	CYAN_GLAZED_TERRACOTTA = 255;
	CYAN_SHULKER_BOX = 256;
	CYAN_STAINED_GLASS = 257;
	CYAN_STAINED_GLASS_PANE = 258;
	CYAN_TERRACOTTA = 259;
	CYAN_WALL_BANNER = 260;
	CYAN_WOOL = 261;
	DAMAGED_ANVIL = 262;
	DANDELION = 263;
	DARK_OAK_BUTTON = 264;
	DARK_OAK_DOOR = 265;
	DARK_OAK_FENCE = 266;
	DARK_OAK_FENCE_GATE = 267;
	DARK_OAK_HANGING_SIGN = 268;
	DARK_OAK_LEAVES = 269;
	DARK_OAK_LOG = 270;
	DARK_OAK_PLANKS = 271;
	DARK_OAK_PRESSURE_PLATE = 272;
	DARK_OAK_SAPLING = 273;
	DARK_OAK_SIGN = 274;
	DARK_OAK_SLAB = 275;
	DARK_OAK_STAIRS = 276;
	DARK_OAK_TRAPDOOR = 277;
	DARK_OAK_WALL_HANGING_SIGN = 278;
	DARK_OAK_WALL_SIGN = 279;
	DARK_OAK_WOOD = 280;
	DARK_PRISMARINE = 281;
	DARK_PRISMARINE_SLAB = 282;
	DARK_PRISMARINE_STAIRS = 283;
	DAYLIGHT_DETECTOR = 284;
	DEAD_BRAIN_CORAL = 285;
	DEAD_BRAIN_CORAL_BLOCK = 286;
	DEAD_BRAIN_CORAL_FAN = 287;
	DEAD_BRAIN_CORAL_WALL_FAN = 288;
	DEAD_BUBBLE_CORAL = 289;
	DEAD_BUBBLE_CORAL_BLOCK = 290;
	DEAD_BUBBLE_CORAL_FAN = 291;
	DEAD_BUBBLE_CORAL_WALL_FAN = 292;
	DEAD_BUSH = 293;
	DEAD_FIRE_CORAL = 294;
	DEAD_FIRE_CORAL_BLOCK = 295;
	DEAD_FIRE_CORAL_FAN = 296;
	DEAD_FIRE_CORAL_WALL_FAN = 297;
	DEAD_HORN_CORAL = 298;
	DEAD_HORN_CORAL_BLOCK = 299;
	DEAD_HORN_CORAL_FAN = 300;
	DEAD_HORN_CORAL_WALL_FAN = 301;
	DEAD_TUBE_CORAL = 302;
	DEAD_TUBE_CORAL_BLOCK = 303;
	DEAD_TUBE_CORAL_FAN = 304;
	DEAD_TUBE_CORAL_WALL_FAN = 305;
	DECORATED_POT = 306;
	DEEPSLATE = 307;
	DEEPSLATE_BRICK_SLAB = 308;
	DEEPSLATE_BRICK_STAIRS = 309;
	DEEPSLATE_BRICK_WALL = 310;
	DEEPSLATE_BRICKS = 311;
	DEEPSLATE_COAL_ORE = 312;
	DEEPSLATE_COPPER_ORE = 313;
	DEEPSLATE_DIAMOND_ORE = 314;
	DEEPSLATE_EMERALD_ORE = 315;
	DEEPSLATE_GOLD_ORE = 316;
	DEEPSLATE_IRON_ORE = 317;
	DEEPSLATE_LAPIS_ORE = 318;
	DEEPSLATE_REDSTONE_ORE = 319;
	DEEPSLATE_TILE_SLAB = 320;
	DEEPSLATE_TILE_STAIRS = 321;
	DEEPSLATE_TILE_WALL = 322;
	DEEPSLATE_TILES = 323;
	DETECTOR_RAIL = 324;
	DIAMOND_BLOCK = 325;
	DIAMOND_ORE = 326;
	DIORITE = 327;
	DIORITE_SLAB = 328;
	DIORITE_STAIRS = 329;
	DIORITE_WALL = 330;
	DIRT = 331;
	DIRT_PATH = 332;
	DISPENSER = 333;
	DRAGON_EGG = 334;
	DRAGON_HEAD = 335;
	DRAGON_WALL_HEAD = 336;
	DRIED_KELP_BLOCK = 337;
	DRIPSTONE_BLOCK = 338;
	DROPPER = 339;
	EMERALD_BLOCK = 340;
	EMERALD_ORE = 341;
	ENCHANTING_TABLE = 342;
	END_GATEWAY = 343;
	END_PORTAL = 344;
	END_PORTAL_FRAME = 345;
	END_ROD = 346;
	END_STONE = 347;
	END_STONE_BRICK_SLAB = 348;
	END_STONE_BRICK_STAIRS = 349;
	END_STONE_BRICK_WALL = 350;
	END_STONE_BRICKS = 351;
	ENDER_CHEST = 352;
	EXPOSED_COPPER = 353;
	EXPOSED_CUT_COPPER = 354;
	EXPOSED_CUT_COPPER_SLAB = 355;
	EXPOSED_CUT_COPPER_STAIRS = 356;
	FARMLAND = 357;
	FERN = 358;
	FIRE = 359;
	FIRE_CORAL = 360;
	FIRE_CORAL_BLOCK = 361;
	FIRE_CORAL_FAN = 362;
	FIRE_CORAL_WALL_FAN = 363;
	FLETCHING_TABLE = 364;
	FLOWER_POT = 365;
	FLOWERING_AZALEA = 366;
	FLOWERING_AZALEA_LEAVES = 367;
	FROGSPAWN = 368;
	FROSTED_ICE = 369;
	FURNACE = 370;
	GILDED_BLACKSTONE = 371;
	GLASS = 372;
	GLASS_PANE = 373;
	GLOW_LICHEN = 374;
	GLOWSTONE = 375;
	GOLD_BLOCK = 376;
	GOLD_ORE = 377;
	GRANITE = 378;
	GRANITE_SLAB = 379;
	GRANITE_STAIRS = 380;
	GRANITE_WALL = 381;
	GRASS = 382;
	GRASS_BLOCK = 383;
	GRAVEL = 384;
	GRAY_BANNER = 385;
	GRAY_BED = 386;
	GRAY_CANDLE = 387;
	GRAY_CANDLE_CAKE = 388;
	GRAY_CARPET = 389;
	GRAY_CONCRETE = 390;
	GRAY_CONCRETE_POWDER = 391;
	GRAY_GLAZED_TERRACOTTA = 392;
	GRAY_SHULKER_BOX = 393;
	GRAY_STAINED_GLASS = 394;
	GRAY_STAINED_GLASS_PANE = 395;
	GRAY_TERRACOTTA = 396;
	GRAY_WALL_BANNER = 397;
	GRAY_WOOL = 398;
	GREEN_BANNER = 399;
	GREEN_BED = 400;
	GREEN_CANDLE = 401;
	GREEN_CANDLE_CAKE = 402;
	GREEN_CARPET = 403;
	GREEN_CONCRETE = 404;
	GREEN_CONCRETE_POWDER = 405;
	GREEN_GLAZED_TERRACOTTA = 406;
	GREEN_SHULKER_BOX = 407;
	GREEN_STAINED_GLASS = 408;
	GREEN_STAINED_GLASS_PANE = 409;
	GREEN_TERRACOTTA = 410;
	GREEN_WALL_BANNER = 411;
	GREEN_WOOL = 412;
	GRINDSTONE = 413;
	HANGING_ROOTS = 414;
	HAY_BLOCK = 415;
	HEAVY_WEIGHTED_PRESSURE_PLATE = 416;
	HONEY_BLOCK = 417;
	HONEYCOMB_BLOCK = 418;
	HOPPER = 419;
	HORN_CORAL = 420;
	HORN_CORAL_BLOCK = 421;
	HORN_CORAL_FAN = 422;
	HORN_CORAL_WALL_FAN = 423;
	ICE = 424;
	INFESTED_CHISELED_STONE_BRICKS = 425;
	INFESTED_COBBLESTONE = 426;
	INFESTED_CRACKED_STONE_BRICKS = 427;
	INFESTED_DEEPSLATE = 428;
	INFESTED_MOSSY_STONE_BRICKS = 429;
	INFESTED_STONE = 430;
	INFESTED_STONE_BRICKS = 431;
	IRON_BARS = 432;
	IRON_BLOCK = 433;
	IRON_DOOR = 434;
	IRON_ORE = 435;
	IRON_TRAPDOOR = 436;
	JACK_O_LANTERN = 437;
	JIGSAW = 438;
	JUKEBOX = 439;
	JUNGLE_BUTTON = 440;
	JUNGLE_DOOR = 441;
	JUNGLE_FENCE = 442;
	JUNGLE_FENCE_GATE = 443;
	JUNGLE_HANGING_SIGN = 444;
	JUNGLE_LEAVES = 445;
	JUNGLE_LOG = 446;
	JUNGLE_PLANKS = 447;
	JUNGLE_PRESSURE_PLATE = 448;
	JUNGLE_SAPLING = 449;
	JUNGLE_SIGN = 450;
	JUNGLE_SLAB = 451;
	JUNGLE_STAIRS = 452;
	JUNGLE_TRAPDOOR = 453;
	JUNGLE_WALL_HANGING_SIGN = 454;
	JUNGLE_WALL_SIGN = 455;
	JUNGLE_WOOD = 456;
	KELP = 457;
	KELP_PLANT = 458;
	LADDER = 459;
	LANTERN = 460;
	LAPIS_BLOCK = 461;
	LAPIS_ORE = 462;
	LARGE_AMETHYST_BUD = 463;
	LARGE_FERN = 464;
	LAVA = 465;
	LAVA_CAULDRON = 466;
	LECTERN = 467;
	LEVER = 468;
	LIGHT = 469;
	LIGHT_BLUE_BANNER = 470;
	LIGHT_BLUE_BED = 471;
	LIGHT_BLUE_CANDLE = 472;
	LIGHT_BLUE_CANDLE_CAKE = 473;
	LIGHT_BLUE_CARPET = 474;
	LIGHT_BLUE_CONCRETE = 475;
	LIGHT_BLUE_CONCRETE_POWDER = 476;
	LIGHT_BLUE_GLAZED_TERRACOTTA = 477;
	LIGHT_BLUE_SHULKER_BOX = 478;
	LIGHT_BLUE_STAINED_GLASS = 479;
	LIGHT_BLUE_STAINED_GLASS_PANE = 480;
	LIGHT_BLUE_TERRACOTTA = 481;
	LIGHT_BLUE_WALL_BANNER = 482;
	LIGHT_BLUE_WOOL = 483;
	LIGHT_GRAY_BANNER = 484;
	LIGHT_GRAY_BED = 485;
	LIGHT_GRAY_CANDLE = 486;
	LIGHT_GRAY_CANDLE_CAKE = 487;
	LIGHT_GRAY_CARPET = 488;
	LIGHT_GRAY_CONCRETE = 489;
	LIGHT_GRAY_CONCRETE_POWDER = 490;
	LIGHT_GRAY_GLAZED_TERRACOTTA = 491;
	LIGHT_GRAY_SHULKER_BOX = 492;
	LIGHT_GRAY_STAINED_GLASS = 493;
	LIGHT_GRAY_STAINED_GLASS_PANE = 494;
	LIGHT_GRAY_TERRACOTTA = 495;
	LIGHT_GRAY_WALL_BANNER = 496;
	LIGHT_GRAY_WOOL = 497;
	LIGHT_WEIGHTED_PRESSURE_PLATE = 498;
	LIGHTNING_ROD = 499;
	LILAC = 500;
	LILY_OF_THE_VALLEY = 501;
	LILY_PAD = 502;
	LIME_BANNER = 503;
	LIME_BED = 504;
	LIME_CANDLE = 505;
	LIME_CANDLE_CAKE = 506;
	LIME_CARPET = 507;
	LIME_CONCRETE = 508;
	LIME_CONCRETE_POWDER = 509;
	LIME_GLAZED_TERRACOTTA = 510;
	LIME_SHULKER_BOX = 511;
	LIME_STAINED_GLASS = 512;
	LIME_STAINED_GLASS_PANE = 513;
	LIME_TERRACOTTA = 514;
	LIME_WALL_BANNER = 515;
	LIME_WOOL = 516;
	LODESTONE = 517;
	LOOM = 518;
	MAGENTA_BANNER = 519;
	MAGENTA_BED = 520;
	MAGENTA_CANDLE = 521;
	MAGENTA_CANDLE_CAKE = 522;
	MAGENTA_CARPET = 523;
	MAGENTA_CONCRETE = 524;
	MAGENTA_CONCRETE_POWDER = 525;
	MAGENTA_GLAZED_TERRACOTTA = 526;
	MAGENTA_SHULKER_BOX = 527;
	MAGENTA_STAINED_GLASS = 528;
	MAGENTA_STAINED_GLASS_PANE = 529;
	MAGENTA_TERRACOTTA = 530;
	MAGENTA_WALL_BANNER = 531;
	MAGENTA_WOOL = 532;
	MAGMA_BLOCK = 533;
	MANGROVE_BUTTON = 534;
	MANGROVE_DOOR = 535;
	MANGROVE_FENCE = 536;
	MANGROVE_FENCE_GATE = 537;
	MANGROVE_HANGING_SIGN = 538;
	MANGROVE_LEAVES = 539;
	MANGROVE_LOG = 540;
	MANGROVE_PLANKS = 541;
	MANGROVE_PRESSURE_PLATE = 542;
	MANGROVE_PROPAGULE = 543;
	MANGROVE_ROOTS = 544;
	MANGROVE_SIGN = 545;
	MANGROVE_SLAB = 546;
	MANGROVE_STAIRS = 547;
	MANGROVE_TRAPDOOR = 548;
	MANGROVE_WALL_HANGING_SIGN = 549;
	MANGROVE_WALL_SIGN = 550;
	MANGROVE_WOOD = 551;
	MEDIUM_AMETHYST_BUD = 552;
	MELON = 553;
	MELON_STEM = 554;
	MOSS_BLOCK = 555;
	MOSS_CARPET = 556;
	MOSSY_COBBLESTONE = 557;
	MOSSY_COBBLESTONE_SLAB = 558;
	MOSSY_COBBLESTONE_STAIRS = 559;
	MOSSY_COBBLESTONE_WALL = 560;
	MOSSY_STONE_BRICK_SLAB = 561;
	MOSSY_STONE_BRICK_STAIRS = 562;
	MOSSY_STONE_BRICK_WALL = 563;
	MOSSY_STONE_BRICKS = 564;
	MOVING_PISTON = 565;
	MUD = 566;
	MUD_BRICK_SLAB = 567;
	MUD_BRICK_STAIRS = 568;
	MUD_BRICK_WALL = 569;
	MUD_BRICKS = 570;
	MUDDY_MANGROVE_ROOTS = 571;
	MUSHROOM_STEM = 572;
	MYCELIUM = 573;
	NETHER_BRICK_FENCE = 574;
	NETHER_BRICK_SLAB = 575;
	NETHER_BRICK_STAIRS = 576;
	NETHER_BRICK_WALL = 577;
	NETHER_BRICKS = 578;
	NETHER_GOLD_ORE = 579;
	NETHER_PORTAL = 580;
	NETHER_QUARTZ_ORE = 581;
	NETHER_SPROUTS = 582;
	NETHER_WART = 583;
	NETHER_WART_BLOCK = 584;
	NETHERITE_BLOCK = 585;
	NETHERRACK = 586;
	NOTE_BLOCK = 587;
	OAK_BUTTON = 588;
	OAK_DOOR = 589;
	OAK_FENCE = 590;
	OAK_FENCE_GATE = 591;
	OAK_HANGING_SIGN = 592;
	OAK_LEAVES = 593;
	OAK_LOG = 594;
	OAK_PLANKS = 595;
	OAK_PRESSURE_PLATE = 596;
	OAK_SAPLING = 597;
	OAK_SIGN = 598;
	OAK_SLAB = 599;
	OAK_STAIRS = 600;
	OAK_TRAPDOOR = 601;
	OAK_WALL_HANGING_SIGN = 602;
	OAK_WALL_SIGN = 603;
	OAK_WOOD = 604;
	OBSERVER = 605;
	OBSIDIAN = 606;
	OCHRE_FROGLIGHT = 607;
	ORANGE_BANNER = 608;
	ORANGE_BED = 609;
	ORANGE_CANDLE = 610;
	ORANGE_CANDLE_CAKE = 611;
	ORANGE_CARPET = 612;
	ORANGE_CONCRETE = 613;
	ORANGE_CONCRETE_POWDER = 614;
	ORANGE_GLAZED_TERRACOTTA = 615;
	ORANGE_SHULKER_BOX = 616;
	ORANGE_STAINED_GLASS = 617;
	ORANGE_STAINED_GLASS_PANE = 618;
	ORANGE_TERRACOTTA = 619;
	ORANGE_TULIP = 620;
	ORANGE_WALL_BANNER = 621;
	ORANGE_WOOL = 622;
	OXEYE_DAISY = 623;
	OXIDIZED_COPPER = 624;
	OXIDIZED_CUT_COPPER = 625;
	OXIDIZED_CUT_COPPER_SLAB = 626;
	OXIDIZED_CUT_COPPER_STAIRS = 627;
	PACKED_ICE = 628;
	PACKED_MUD = 629;
	PEARLESCENT_FROGLIGHT = 630;
	PEONY = 631;
	PETRIFIED_OAK_SLAB = 632;
	PIGLIN_HEAD = 633;
	PIGLIN_WALL_HEAD = 634;
	PINK_BANNER = 635;
	PINK_BED = 636;
	PINK_CANDLE = 637;
	PINK_CANDLE_CAKE = 638;
	PINK_CARPET = 639;
	PINK_CONCRETE = 640;
	PINK_CONCRETE_POWDER = 641;
	PINK_GLAZED_TERRACOTTA = 642;
	PINK_PETALS = 643;
	PINK_SHULKER_BOX = 644;
	PINK_STAINED_GLASS = 645;
	PINK_STAINED_GLASS_PANE = 646;
	PINK_TERRACOTTA = 647;
	PINK_TULIP = 648;
	PINK_WALL_BANNER = 649;
	PINK_WOOL = 650;
	PISTON = 651;
	PISTON_HEAD = 652;
	PITCHER_CROP = 653;
	PITCHER_PLANT = 654;
	PLAYER_HEAD = 655;
	PLAYER_WALL_HEAD = 656;
	PODZOL = 657;
	POINTED_DRIPSTONE = 658;
	POLISHED_ANDESITE = 659;
	POLISHED_ANDESITE_SLAB = 660;
	POLISHED_ANDESITE_STAIRS = 661;
	POLISHED_BASALT = 662;
	POLISHED_BLACKSTONE = 663;
	POLISHED_BLACKSTONE_BRICK_SLAB = 664;
	POLISHED_BLACKSTONE_BRICK_STAIRS = 665;
	POLISHED_BLACKSTONE_BRICK_WALL = 666;
	POLISHED_BLACKSTONE_BRICKS = 667;
	POLISHED_BLACKSTONE_BUTTON = 668;
	POLISHED_BLACKSTONE_PRESSURE_PLATE = 669;
	POLISHED_BLACKSTONE_SLAB = 670;
	POLISHED_BLACKSTONE_STAIRS = 671;
	POLISHED_BLACKSTONE_WALL = 672;
	POLISHED_DEEPSLATE = 673;
	POLISHED_DEEPSLATE_SLAB = 674;
	POLISHED_DEEPSLATE_STAIRS = 675;
	POLISHED_DEEPSLATE_WALL = 676;
	POLISHED_DIORITE = 677;
	POLISHED_DIORITE_SLAB = 678;
	POLISHED_DIORITE_STAIRS = 679;
	POLISHED_GRANITE = 680;
	POLISHED_GRANITE_SLAB = 681;
	POLISHED_GRANITE_STAIRS = 682;
	POPPY = 683;
	POTATOES = 684;
	POTTED_ACACIA_SAPLING = 685;
	POTTED_ALLIUM = 686;
	POTTED_AZALEA_BUSH = 687;
	POTTED_AZURE_BLUET = 688;
	POTTED_BAMBOO = 689;
	POTTED_BIRCH_SAPLING = 690;
	POTTED_BLUE_ORCHID = 691;
	POTTED_BROWN_MUSHROOM = 692;
	POTTED_CACTUS = 693;
	POTTED_CHERRY_SAPLING = 694;
	POTTED_CORNFLOWER = 695;
	POTTED_CRIMSON_FUNGUS = 696;
	POTTED_CRIMSON_ROOTS = 697;
	POTTED_DANDELION = 698;
	POTTED_DARK_OAK_SAPLING = 699;
	POTTED_DEAD_BUSH = 700;
	POTTED_FERN = 701;
	POTTED_FLOWERING_AZALEA_BUSH = 702;
	POTTED_JUNGLE_SAPLING = 703;
	POTTED_LILY_OF_THE_VALLEY = 704;
	POTTED_MANGROVE_PROPAGULE = 705;
	POTTED_OAK_SAPLING = 706;
	POTTED_ORANGE_TULIP = 707;
	POTTED_OXEYE_DAISY = 708;
	POTTED_PINK_TULIP = 709;
	POTTED_POPPY = 710;
	POTTED_RED_MUSHROOM = 711;
	POTTED_RED_TULIP = 712;
	POTTED_SPRUCE_SAPLING = 713;
	POTTED_TORCHFLOWER = 714;
	POTTED_WARPED_FUNGUS = 715;
	POTTED_WARPED_ROOTS = 716;
	POTTED_WHITE_TULIP = 717;
	POTTED_WITHER_ROSE = 718;
	POWDER_SNOW = 719;
	POWDER_SNOW_CAULDRON = 720;
	POWERED_RAIL = 721;
	PRISMARINE = 722;
	PRISMARINE_BRICK_SLAB = 723;
	PRISMARINE_BRICK_STAIRS = 724;
	PRISMARINE_BRICKS = 725;
	PRISMARINE_SLAB = 726;
	PRISMARINE_STAIRS = 727;
	PRISMARINE_WALL = 728;
	PUMPKIN = 729;
	PUMPKIN_STEM = 730;
	PURPLE_BANNER = 731;
	PURPLE_BED = 732;
	PURPLE_CANDLE = 733;
	PURPLE_CANDLE_CAKE = 734;
	PURPLE_CARPET = 735;
	PURPLE_CONCRETE = 736;
	PURPLE_CONCRETE_POWDER = 737;
	PURPLE_GLAZED_TERRACOTTA = 738;
	PURPLE_SHULKER_BOX = 739;
	PURPLE_STAINED_GLASS = 740;
	PURPLE_STAINED_GLASS_PANE = 741;
	PURPLE_TERRACOTTA = 742;
	PURPLE_WALL_BANNER = 743;
	PURPLE_WOOL = 744;
	PURPUR_BLOCK = 745;
	PURPUR_PILLAR = 746;
	PURPUR_SLAB = 747;
	PURPUR_STAIRS = 748;
	QUARTZ_BLOCK = 749;
	QUARTZ_BRICKS = 750;
	QUARTZ_PILLAR = 751;
	QUARTZ_SLAB = 752;
	QUARTZ_STAIRS = 753;
	RAIL = 754;
	RAW_COPPER_BLOCK = 755;
	RAW_GOLD_BLOCK = 756;
	RAW_IRON_BLOCK = 757;
	RED_BANNER = 758;
	RED_BED = 759;
	RED_CANDLE = 760;
	RED_CANDLE_CAKE = 761;
	RED_CARPET = 762;
	RED_CONCRETE = 763;
	RED_CONCRETE_POWDER = 764;
	RED_GLAZED_TERRACOTTA = 765;
	RED_MUSHROOM = 766;
	RED_MUSHROOM_BLOCK = 767;
	RED_NETHER_BRICK_SLAB = 768;
	RED_NETHER_BRICK_STAIRS = 769;
	RED_NETHER_BRICK_WALL = 770;
	RED_NETHER_BRICKS = 771;
	RED_SAND = 772;
	RED_SANDSTONE = 773;
	RED_SANDSTONE_SLAB = 774;
	RED_SANDSTONE_STAIRS = 775;
	RED_SANDSTONE_WALL = 776;
	RED_SHULKER_BOX = 777;
	RED_STAINED_GLASS = 778;
	RED_STAINED_GLASS_PANE = 779;
	RED_TERRACOTTA = 780;
	RED_TULIP = 781;
	RED_WALL_BANNER = 782;
	RED_WOOL = 783;
	REDSTONE_BLOCK = 784;
	REDSTONE_LAMP = 785;
	REDSTONE_ORE = 786;
	REDSTONE_TORCH = 787;
	REDSTONE_WALL_TORCH = 788;
	REDSTONE_WIRE = 789;
	REINFORCED_DEEPSLATE = 790;
	REPEATER = 791;
	REPEATING_COMMAND_BLOCK = 792;
	RESPAWN_ANCHOR = 793;
	ROOTED_DIRT = 794;
	ROSE_BUSH = 795;
	SAND = 796;
	SANDSTONE = 797;
	SANDSTONE_SLAB = 798;
	SANDSTONE_STAIRS = 799;
	SANDSTONE_WALL = 800;
	SCAFFOLDING = 801;
	SCULK = 802;
	SCULK_CATALYST = 803;
	SCULK_SENSOR = 804;
	SCULK_SHRIEKER = 805;
	SCULK_VEIN = 806;
	SEA_LANTERN = 807;
	SEA_PICKLE = 808;
	SEAGRASS = 809;
	SHROOMLIGHT = 810;
	SHULKER_BOX = 811;
	SKELETON_SKULL = 812;
	SKELETON_WALL_SKULL = 813;
	SLIME_BLOCK = 814;
	SMALL_AMETHYST_BUD = 815;
	SMALL_DRIPLEAF = 816;
	SMITHING_TABLE = 817;
	SMOKER = 818;
	SMOOTH_BASALT = 819;
	SMOOTH_QUARTZ = 820;
	SMOOTH_QUARTZ_SLAB = 821;
	SMOOTH_QUARTZ_STAIRS = 822;
	SMOOTH_RED_SANDSTONE = 823;
	SMOOTH_RED_SANDSTONE_SLAB = 824;
	SMOOTH_RED_SANDSTONE_STAIRS = 825;
	SMOOTH_SANDSTONE = 826;
	SMOOTH_SANDSTONE_SLAB = 827;
	SMOOTH_SANDSTONE_STAIRS = 828;
	SMOOTH_STONE = 829;
	SMOOTH_STONE_SLAB = 830;
	SNIFFER_EGG = 831;
	SNOW = 832;
	SNOW_BLOCK = 833;
	SOUL_CAMPFIRE = 834;
	SOUL_FIRE = 835;
	SOUL_LANTERN = 836;
	SOUL_SAND = 837;
	SOUL_SOIL = 838;
	SOUL_TORCH = 839;
	SOUL_WALL_TORCH = 840;
	SPAWNER = 841;
	SPONGE = 842;
	SPORE_BLOSSOM = 843;
	SPRUCE_BUTTON = 844;
	SPRUCE_DOOR = 845;
	SPRUCE_FENCE = 846;
	SPRUCE_FENCE_GATE = 847;
	SPRUCE_HANGING_SIGN = 848;
	SPRUCE_LEAVES = 849;
	SPRUCE_LOG = 850;
	SPRUCE_PLANKS = 851;
	SPRUCE_PRESSURE_PLATE = 852;
	SPRUCE_SAPLING = 853;
	SPRUCE_SIGN = 854;
	SPRUCE_SLAB = 855;
	SPRUCE_STAIRS = 856;
	SPRUCE_TRAPDOOR = 857;
	SPRUCE_WALL_HANGING_SIGN = 858;
	SPRUCE_WALL_SIGN = 859;
	SPRUCE_WOOD = 860;
	STICKY_PISTON = 861;
	STONE = 862;
	STONE_BRICK_SLAB = 863;
	STONE_BRICK_STAIRS = 864;
	STONE_BRICK_WALL = 865;
	STONE_BRICKS = 866;
	STONE_BUTTON = 867;
	STONE_PRESSURE_PLATE = 868;
	STONE_SLAB = 869;
	STONE_STAIRS = 870;
	STONECUTTER = 871;
	STRIPPED_ACACIA_LOG = 872;
	STRIPPED_ACACIA_WOOD = 873;
	STRIPPED_BAMBOO_BLOCK = 874;
	STRIPPED_BIRCH_LOG = 875;
	STRIPPED_BIRCH_WOOD = 876;
	STRIPPED_CHERRY_LOG = 877;
	STRIPPED_CHERRY_WOOD = 878;
	STRIPPED_CRIMSON_HYPHAE = 879;
	STRIPPED_CRIMSON_STEM = 880;
	STRIPPED_DARK_OAK_LOG = 881;
	STRIPPED_DARK_OAK_WOOD = 882;
	STRIPPED_JUNGLE_LOG = 883;
	STRIPPED_JUNGLE_WOOD = 884;
	STRIPPED_MANGROVE_LOG = 885;
	STRIPPED_MANGROVE_WOOD = 886;
	STRIPPED_OAK_LOG = 887;
	STRIPPED_OAK_WOOD = 888;
	STRIPPED_SPRUCE_LOG = 889;
	STRIPPED_SPRUCE_WOOD = 890;
	STRIPPED_WARPED_HYPHAE = 891;
	STRIPPED_WARPED_STEM = 892;
	STRUCTURE_BLOCK = 893;
	STRUCTURE_VOID = 894;
	SUGAR_CANE = 895;
	SUNFLOWER = 896;
	SUSPICIOUS_GRAVEL = 897;
	SUSPICIOUS_SAND = 898;
	SWEET_BERRY_BUSH = 899;
	TALL_GRASS = 900;
	TALL_SEAGRASS = 901;
	TARGET = 902;
	TERRACOTTA = 903;
	TINTED_GLASS = 904;
	TNT = 905;
	TORCH = 906;
	TORCHFLOWER = 907;
	TORCHFLOWER_CROP = 908;
	TRAPPED_CHEST = 909;
	TRIPWIRE = 910;
	TRIPWIRE_HOOK = 911;
	TUBE_CORAL = 912;
	TUBE_CORAL_BLOCK = 913;
	TUBE_CORAL_FAN = 914;
	TUBE_CORAL_WALL_FAN = 915;
	TUFF = 916;
	TURTLE_EGG = 917;
	TWISTING_VINES = 918;
	TWISTING_VINES_PLANT = 919;
	VERDANT_FROGLIGHT = 920;
	VINE = 921;
	VOID_AIR = 922;
	WALL_TORCH = 923;
	WARPED_BUTTON = 924;
	WARPED_DOOR = 925;
	WARPED_FENCE = 926;
	WARPED_FENCE_GATE = 927;
	WARPED_FUNGUS = 928;
	WARPED_HANGING_SIGN = 929;
	WARPED_HYPHAE = 930;
	WARPED_NYLIUM = 931;
	WARPED_PLANKS = 932;
	WARPED_PRESSURE_PLATE = 933;
	WARPED_ROOTS = 934;
	WARPED_SIGN = 935;
	WARPED_SLAB = 936;
	WARPED_STAIRS = 937;
	WARPED_STEM = 938;
	WARPED_TRAPDOOR = 939;
	WARPED_WALL_HANGING_SIGN = 940;
	WARPED_WALL_SIGN = 941;
	WARPED_WART_BLOCK = 942;
	WATER = 943;
	WATER_CAULDRON = 944;
	WAXED_COPPER_BLOCK = 945;
	WAXED_CUT_COPPER = 946;
	WAXED_CUT_COPPER_SLAB = 947;
	WAXED_CUT_COPPER_STAIRS = 948;
	WAXED_EXPOSED_COPPER = 949;
	WAXED_EXPOSED_CUT_COPPER = 950;
	WAXED_EXPOSED_CUT_COPPER_SLAB = 951;
	WAXED_EXPOSED_CUT_COPPER_STAIRS = 952;
	WAXED_OXIDIZED_COPPER = 953;
	WAXED_OXIDIZED_CUT_COPPER = 954;
	WAXED_OXIDIZED_CUT_COPPER_SLAB = 955;
	WAXED_OXIDIZED_CUT_COPPER_STAIRS = 956;
	WAXED_WEATHERED_COPPER = 957;
	WAXED_WEATHERED_CUT_COPPER = 958;
	WAXED_WEATHERED_CUT_COPPER_SLAB = 959;
	WAXED_WEATHERED_CUT_COPPER_STAIRS = 960;
	WEATHERED_COPPER = 961;
	WEATHERED_CUT_COPPER = 962;
	WEATHERED_CUT_COPPER_SLAB = 963;
	WEATHERED_CUT_COPPER_STAIRS = 964;
	WEEPING_VINES = 965;
	WEEPING_VINES_PLANT = 966;
	WET_SPONGE = 967;
	WHEAT = 968;
	WHITE_BANNER = 969;
	WHITE_BED = 970;
	WHITE_CANDLE = 971;
	WHITE_CANDLE_CAKE = 972;
	WHITE_CARPET = 973;
	WHITE_CONCRETE = 974;
	WHITE_CONCRETE_POWDER = 975;
	WHITE_GLAZED_TERRACOTTA = 976;
	WHITE_SHULKER_BOX = 977;
	WHITE_STAINED_GLASS = 978;
	WHITE_STAINED_GLASS_PANE = 979;
	WHITE_TERRACOTTA = 980;
	WHITE_TULIP = 981;
	WHITE_WALL_BANNER = 982;
	WHITE_WOOL = 983;
	WITHER_ROSE = 984;
	WITHER_SKELETON_SKULL = 985;
	WITHER_SKELETON_WALL_SKULL = 986;
	YELLOW_BANNER = 987;
	YELLOW_BED = 988;
	YELLOW_CANDLE = 989;
	YELLOW_CANDLE_CAKE = 990;
	YELLOW_CARPET = 991;
	YELLOW_CONCRETE = 992;
	YELLOW_CONCRETE_POWDER = 993;
	YELLOW_GLAZED_TERRACOTTA = 994;
	YELLOW_SHULKER_BOX = 995;
	YELLOW_STAINED_GLASS = 996;
	YELLOW_STAINED_GLASS_PANE = 997;
	YELLOW_TERRACOTTA = 998;
	YELLOW_WALL_BANNER = 999;
	YELLOW_WOOL = 1000;
	ZOMBIE_HEAD = 1001;
	ZOMBIE_WALL_HEAD = 1002;
}