From 3124f58f779d5cc8e74547bae3bded38b43f1d4a Mon Sep 17 00:00:00 2001 From: Zontreck Date: Fri, 1 Mar 2024 03:44:33 -0700 Subject: [PATCH] Move engineers decor stuff from Thresholds to AE --- gradle.properties | 4 +- .../essentials/blocks/BlockCustomVoxels.java | 22 + .../zontreck/essentials/blocks/ModBlocks.java | 321 ++++++++++++ .../blocks/PartialTransparentBlock.java | 18 + .../blocks/PartialTransparentSlabBlock.java | 19 + .../essentials/blocks/RotatableBlock.java | 26 + .../blocks/RotatableBlockCustomVoxels.java | 35 ++ .../data/ModBlockStatesProvider.java | 467 ++++++++++++++++++ .../zontreck/essentials/data/ModDatagen.java | 28 ++ .../data/ModItemModelsProvider.java | 58 +++ .../data/ModLootTablesProvider.java | 20 + .../dev/zontreck/essentials/data/README.md | 7 + .../data/loot/ModBlockLootTablesProvider.java | 108 ++++ .../zontreck/essentials/items/ModItems.java | 2 + .../blockstates/clinker_brick_recessed.json | 19 + .../clinker_brick_sastor_corner_block.json | 25 + .../clinker_brick_vertically_slit.json | 19 + .../assets/ariasessentials/lang/en_us.json | 38 ++ .../brick/clinker_brick_recessed_model.json | 283 +++++++++++ .../clinker_brick_sastor_corner_model.json | 86 ++++ .../clinker_brick_sastor_down_model.json | 12 + .../brick/clinker_brick_sastor_up_model.json | 12 + .../clinker_brick_vertically_slit_model.json | 247 +++++++++ .../furniture/steel_catwalk.json | 105 ++++ .../furniture/steel_catwalk_rail_n.json | 152 ++++++ .../furniture/steel_catwalk_rail_ne.json | 187 +++++++ .../furniture/steel_catwalk_stairs.json | 289 +++++++++++ .../furniture/steel_catwalk_stairs_dr.json | 419 ++++++++++++++++ .../furniture/steel_catwalk_stairs_lr.json | 351 +++++++++++++ .../furniture/steel_catwalk_stairs_rr.json | 351 +++++++++++++ .../furniture/steel_catwalk_top.json | 119 +++++ .../furniture/steel_floor_grating.json | 203 ++++++++ .../furniture/steel_floor_grating_top.json | 224 +++++++++ .../furniture/steel_railing.json | 86 ++++ .../engineersdecor/furniture/steel_table.json | 386 +++++++++++++++ .../clinker_brick/clinker_brick_pole_side.png | Bin 0 -> 568 bytes ...inker_brick_sastor_corner_down_texture.png | Bin 0 -> 569 bytes ...inker_brick_sastor_corner_side_texture.png | Bin 0 -> 635 bytes ...clinker_brick_sastor_corner_up_texture.png | Bin 0 -> 621 bytes ...er_brick_sastor_downplate_side_texture.png | Bin 0 -> 576 bytes ...nker_brick_sastor_upplate_side_texture.png | Bin 0 -> 566 bytes ...inker_brick_sastor_upplate_top_texture.png | Bin 0 -> 515 bytes .../clinker_brick_stained_texture0.png | Bin 0 -> 785 bytes .../clinker_brick_stained_texture1.png | Bin 0 -> 771 bytes .../clinker_brick_stained_texture2.png | Bin 0 -> 782 bytes .../clinker_brick_stained_texture3.png | Bin 0 -> 790 bytes .../clinker_brick_stained_texture4.png | Bin 0 -> 802 bytes .../clinker_brick_stained_texture5.png | Bin 0 -> 796 bytes .../clinker_brick_stained_texture6.png | Bin 0 -> 787 bytes .../clinker_brick_stained_texture7.png | Bin 0 -> 793 bytes .../clinker_brick/clinker_brick_texture0.png | Bin 0 -> 641 bytes .../clinker_brick/clinker_brick_texture1.png | Bin 0 -> 652 bytes .../clinker_brick/clinker_brick_texture2.png | Bin 0 -> 666 bytes .../clinker_brick/clinker_brick_texture3.png | Bin 0 -> 602 bytes .../clinker_brick/clinker_brick_texture4.png | Bin 0 -> 624 bytes .../clinker_brick/clinker_brick_texture5.png | Bin 0 -> 592 bytes .../clinker_brick/clinker_brick_texture6.png | Bin 0 -> 633 bytes .../clinker_brick/clinker_brick_texture7.png | Bin 0 -> 619 bytes .../clinker_brick/clinker_brick_top.png | Bin 0 -> 570 bytes .../clinker_brick/clinker_brick_wall0.png | Bin 0 -> 625 bytes .../clinker_brick/clinker_brick_wall1.png | Bin 0 -> 564 bytes .../clinker_brick/clinker_brick_wall2.png | Bin 0 -> 653 bytes .../clinker_brick/clinker_brick_wall3.png | Bin 0 -> 659 bytes .../clinker_brick/clinker_brick_wall4.png | Bin 0 -> 623 bytes .../clinker_brick/clinker_brick_wall5.png | Bin 0 -> 611 bytes .../clinker_brick/clinker_brick_wall6.png | Bin 0 -> 645 bytes .../clinker_brick/clinker_brick_wall7.png | Bin 0 -> 636 bytes .../concrete/rebar_concrete_texture0.png | Bin 0 -> 607 bytes .../concrete/rebar_concrete_texture1.png | Bin 0 -> 623 bytes .../concrete/rebar_concrete_texture2.png | Bin 0 -> 639 bytes .../concrete/rebar_concrete_texture3.png | Bin 0 -> 618 bytes .../concrete/rebar_concrete_texture4.png | Bin 0 -> 612 bytes .../concrete/rebar_concrete_texture5.png | Bin 0 -> 619 bytes .../concrete/rebar_concrete_texture6.png | Bin 0 -> 611 bytes .../concrete/rebar_concrete_texture7.png | Bin 0 -> 615 bytes .../concrete/rebar_concrete_tile_texture0.png | Bin 0 -> 510 bytes .../concrete/rebar_concrete_tile_texture1.png | Bin 0 -> 521 bytes .../concrete/rebar_concrete_tile_texture2.png | Bin 0 -> 532 bytes .../concrete/rebar_concrete_tile_texture3.png | Bin 0 -> 529 bytes .../concrete/rebar_concrete_tile_texture4.png | Bin 0 -> 515 bytes .../concrete/rebar_concrete_tile_texture5.png | Bin 0 -> 534 bytes .../concrete/rebar_concrete_tile_texture6.png | Bin 0 -> 518 bytes .../concrete/rebar_concrete_tile_texture7.png | Bin 0 -> 534 bytes .../metal_sliding_door_texture_bottom.png | Bin 0 -> 517 bytes .../door/metal_sliding_door_texture_side.png | Bin 0 -> 428 bytes .../door/metal_sliding_door_texture_top.png | Bin 0 -> 564 bytes .../old_industrial_door_texture_bottom.png | Bin 0 -> 579 bytes .../door/old_industrial_door_texture_side.png | Bin 0 -> 551 bytes .../door/old_industrial_door_texture_top.png | Bin 0 -> 569 bytes .../furniture/steel_catwalk_side.png | Bin 0 -> 369 bytes .../furniture/steel_catwalk_top.png | Bin 0 -> 593 bytes .../furniture/steel_table_side_texture.png | Bin 0 -> 328 bytes .../furniture/steel_table_top_texture.png | Bin 0 -> 327 bytes .../glass/panzerglass_block_texture0.png | Bin 0 -> 591 bytes .../glass/panzerglass_block_texture1.png | Bin 0 -> 614 bytes .../glass/panzerglass_block_texture2.png | Bin 0 -> 616 bytes .../glass/panzerglass_block_texture3.png | Bin 0 -> 585 bytes .../panzerglass_block_texture_inventory.png | Bin 0 -> 658 bytes .../glass/window_glass_texture.png | Bin 0 -> 560 bytes .../steel_double_t_support_end_texture.png | Bin 0 -> 350 bytes .../steel_double_t_support_side_texture.png | Bin 0 -> 270 bytes .../steel_double_t_support_top_texture.png | Bin 0 -> 376 bytes .../material/industrial_planks_texture0.png | Bin 0 -> 581 bytes .../material/industrial_planks_texture1.png | Bin 0 -> 596 bytes .../material/industrial_planks_texture2.png | Bin 0 -> 575 bytes .../material/industrial_planks_texture3.png | Bin 0 -> 612 bytes .../engineersdecor/material/steel_texture.png | Bin 0 -> 527 bytes .../material/wood_framed_texture.png | Bin 0 -> 504 bytes .../material/wood_rough_texture.png | Bin 0 -> 585 bytes .../material/wood_sanded_texture.png | Bin 0 -> 503 bytes .../pole/thick_steel_pole_side_texture.png | Bin 0 -> 402 bytes .../pole/thick_steel_pole_top_texture.png | Bin 0 -> 348 bytes .../pole/thin_steel_pole_side_texture.png | Bin 0 -> 342 bytes .../pole/thin_steel_pole_top_texture.png | Bin 0 -> 373 bytes .../pole/treated_wood_pole_side_texture.png | Bin 0 -> 444 bytes ...reated_wood_pole_support_edges_texture.png | Bin 0 -> 368 bytes .../treated_wood_pole_support_top_texture.png | Bin 0 -> 454 bytes .../pole/treated_wood_pole_top_texture.png | Bin 0 -> 452 bytes .../engineersdecor/roof/dark_shingle_roof.png | Bin 0 -> 412 bytes .../slag_brick/slag_brick_pole_side.png | Bin 0 -> 450 bytes .../slag_brick/slag_brick_texture0.png | Bin 0 -> 734 bytes .../slag_brick/slag_brick_texture1.png | Bin 0 -> 707 bytes .../slag_brick/slag_brick_texture2.png | Bin 0 -> 728 bytes .../slag_brick/slag_brick_texture3.png | Bin 0 -> 748 bytes .../slag_brick/slag_brick_texture4.png | Bin 0 -> 723 bytes .../slag_brick/slag_brick_texture5.png | Bin 0 -> 729 bytes .../slag_brick/slag_brick_texture6.png | Bin 0 -> 751 bytes .../slag_brick/slag_brick_texture7.png | Bin 0 -> 742 bytes .../slag_brick/slag_brick_top.png | Bin 0 -> 506 bytes .../slag_brick/slag_brick_wall0.png | Bin 0 -> 692 bytes .../slag_brick/slag_brick_wall1.png | Bin 0 -> 682 bytes .../slag_brick/slag_brick_wall2.png | Bin 0 -> 684 bytes .../slag_brick/slag_brick_wall3.png | Bin 0 -> 706 bytes .../slag_brick/slag_brick_wall4.png | Bin 0 -> 687 bytes .../slag_brick/slag_brick_wall5.png | Bin 0 -> 693 bytes .../slag_brick/slag_brick_wall6.png | Bin 0 -> 697 bytes .../slag_brick/slag_brick_wall7.png | Bin 0 -> 711 bytes .../soil/dense_grit_dirt_texture0.png | Bin 0 -> 880 bytes .../soil/dense_grit_dirt_texture1.png | Bin 0 -> 866 bytes .../soil/dense_grit_dirt_texture2.png | Bin 0 -> 850 bytes .../soil/dense_grit_dirt_texture3.png | Bin 0 -> 809 bytes .../soil/dense_grit_dirt_texture4.png | Bin 0 -> 819 bytes .../soil/dense_grit_dirt_texture5.png | Bin 0 -> 868 bytes .../soil/dense_grit_dirt_texture6.png | Bin 0 -> 857 bytes .../soil/dense_grit_dirt_texture7.png | Bin 0 -> 862 bytes .../soil/dense_grit_sand_texture0.png | Bin 0 -> 862 bytes .../soil/dense_grit_sand_texture1.png | Bin 0 -> 844 bytes .../soil/dense_grit_sand_texture2.png | Bin 0 -> 836 bytes .../soil/dense_grit_sand_texture3.png | Bin 0 -> 869 bytes .../soil/dense_grit_sand_texture4.png | Bin 0 -> 836 bytes .../soil/dense_grit_sand_texture5.png | Bin 0 -> 840 bytes .../soil/dense_grit_sand_texture6.png | Bin 0 -> 859 bytes .../soil/dense_grit_sand_texture7.png | Bin 0 -> 856 bytes .../textures/item/metal_bar.png | Bin 0 -> 300 bytes .../clinker_brick_recessed_recipe.json | 11 + .../finalized/clinker_brick_recipe.json | 23 + ...nker_brick_sastor_corner_block_recipe.json | 19 + .../finalized/clinker_brick_slab_recipe.json | 15 + .../clinker_brick_slab_stonecutting.json | 8 + .../clinker_brick_stained_block_recipe.json | 14 + ..._brick_stained_block_recipe_decompose.json | 11 + .../clinker_brick_stained_slab_recipe.json | 15 + ...r_brick_stained_slab_recipe_decompose.json | 14 + .../clinker_brick_stained_stairs_recipe.json | 17 + .../clinker_brick_stairs_recipe.json | 17 + ...clinker_brick_stairs_recipe_decompose.json | 16 + .../clinker_brick_stairs_stonecutting.json | 8 + ..._vertically_slit_from_recessed_recipe.json | 11 + .../clinker_brick_vertically_slit_recipe.json | 20 + .../finalized/clinker_brick_wall_recipe.json | 17 + .../clinker_brick_wall_recipe_decompose.json | 16 + .../finalized/metal_bar_recipe.json | 17 + .../old_industrial_wood_door_recipe.json | 17 + ...dustrial_wood_planks_from_treatedwood.json | 19 + ...d_industrial_wood_planks_from_vanilla.json | 19 + .../old_industrial_wood_slab_recipe.json | 15 + ...industrial_wood_slab_recipe_decompose.json | 14 + .../old_industrial_wood_stairs_recipe.json | 17 + ...dustrial_wood_stairs_recipe_decompose.json | 16 + .../finalized/panzerglass_block_recipe.json | 20 + .../finalized/panzerglass_slab_recipe.json | 17 + .../rebar_concrete_block_from_vanilla.json | 20 + ...r_concrete_block_immersiveengineering.json | 20 + .../finalized/rebar_concrete_slab_recipe.json | 15 + .../rebar_concrete_slab_recipe_decompose.json | 16 + .../rebar_concrete_stairs_recipe.json | 17 + ...ebar_concrete_stairs_recipe_decompose.json | 16 + .../finalized/rebar_concrete_tile_recipe.json | 16 + .../rebar_concrete_tile_recipe_decompose.json | 16 + .../rebar_concrete_tile_slab_recipe.json | 15 + ...r_concrete_tile_slab_recipe_decompose.json | 16 + .../rebar_concrete_tile_stairs_recipe.json | 17 + ...concrete_tile_stairs_recipe_decompose.json | 16 + .../finalized/rebar_concrete_wall_recipe.json | 17 + .../rebar_concrete_wall_recipe_decompose.json | 16 + .../slag_brick_immersiveengineering.json | 20 + .../finalized/slag_brick_slab_recipe.json | 15 + .../finalized/slag_brick_stairs_recipe.json | 17 + .../slag_brick_stairs_recipe_decompose.json | 16 + .../finalized/slag_brick_vanilla.json | 23 + .../finalized/slag_brick_wall_recipe.json | 16 + .../slag_brick_wall_recipe_decompose.json | 16 + .../finalized/steel_catwalk_recipe.json | 17 + .../steel_catwalk_stairs_recipe.json | 17 + .../finalized/steel_floor_grating_recipe.json | 16 + .../finalized/steel_table_recipe.json | 20 + .../tags/blocks/engineersdecor.json | 44 ++ .../tags/blocks/plain_concretes.json | 37 ++ .../items/accepted_mineral_smelter_input.json | 64 +++ .../tags/items/brick_blocks.json | 7 + .../tags/items/brick_ingots.json | 7 + .../tags/items/plain_concretes.json | 37 ++ .../tags/blocks/mineable/pickaxe.json | 6 + .../tags/blocks/needs_iron_tool.json | 6 + .../data/minecraft/tags/blocks/slabs.json | 10 + .../data/minecraft/tags/blocks/stairs.json | 9 + .../data/minecraft/tags/blocks/walls.json | 8 + .../minecraft/tags/blocks/wither_immune.json | 14 + 218 files changed, 5844 insertions(+), 2 deletions(-) create mode 100644 src/main/java/dev/zontreck/essentials/blocks/BlockCustomVoxels.java create mode 100644 src/main/java/dev/zontreck/essentials/blocks/ModBlocks.java create mode 100644 src/main/java/dev/zontreck/essentials/blocks/PartialTransparentBlock.java create mode 100644 src/main/java/dev/zontreck/essentials/blocks/PartialTransparentSlabBlock.java create mode 100644 src/main/java/dev/zontreck/essentials/blocks/RotatableBlock.java create mode 100644 src/main/java/dev/zontreck/essentials/blocks/RotatableBlockCustomVoxels.java create mode 100644 src/main/java/dev/zontreck/essentials/data/ModBlockStatesProvider.java create mode 100644 src/main/java/dev/zontreck/essentials/data/ModDatagen.java create mode 100644 src/main/java/dev/zontreck/essentials/data/ModItemModelsProvider.java create mode 100644 src/main/java/dev/zontreck/essentials/data/ModLootTablesProvider.java create mode 100644 src/main/java/dev/zontreck/essentials/data/README.md create mode 100644 src/main/java/dev/zontreck/essentials/data/loot/ModBlockLootTablesProvider.java create mode 100644 src/main/resources/assets/ariasessentials/blockstates/clinker_brick_recessed.json create mode 100644 src/main/resources/assets/ariasessentials/blockstates/clinker_brick_sastor_corner_block.json create mode 100644 src/main/resources/assets/ariasessentials/blockstates/clinker_brick_vertically_slit.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_recessed_model.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_corner_model.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_down_model.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_up_model.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_vertically_slit_model.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_n.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_ne.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_dr.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_lr.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_rr.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_top.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating_top.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_railing.json create mode 100644 src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_table.json create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_pole_side.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_down_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_up_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_downplate_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_top.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/metal_sliding_door_texture_bottom.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/metal_sliding_door_texture_side.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/metal_sliding_door_texture_top.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/old_industrial_door_texture_bottom.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/old_industrial_door_texture_side.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/old_industrial_door_texture_top.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_side.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_top.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_table_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_table_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture_inventory.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/window_glass_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_end_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/steel_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_framed_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_rough_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_sanded_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thick_steel_pole_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thick_steel_pole_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thin_steel_pole_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thin_steel_pole_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_side_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_support_edges_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_support_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_top_texture.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/roof/dark_shingle_roof.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_pole_side.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_top.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture0.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture1.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture2.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture3.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture4.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture5.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture6.png create mode 100644 src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture7.png create mode 100644 src/main/resources/assets/ariasessentials/textures/item/metal_bar.png create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_recessed_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_sastor_corner_block_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_slab_stonecutting.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stained_block_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stained_block_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stained_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stained_slab_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stained_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stairs_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_stairs_stonecutting.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_vertically_slit_from_recessed_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_vertically_slit_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_wall_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/clinker_brick_wall_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/metal_bar_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_door_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_planks_from_treatedwood.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_planks_from_vanilla.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_slab_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/old_industrial_wood_stairs_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/panzerglass_block_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/panzerglass_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_block_from_vanilla.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_block_immersiveengineering.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_slab_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_stairs_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_slab_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_tile_stairs_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_wall_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/rebar_concrete_wall_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_immersiveengineering.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_slab_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_stairs_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_vanilla.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_wall_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/slag_brick_wall_recipe_decompose.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/steel_catwalk_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/steel_catwalk_stairs_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/steel_floor_grating_recipe.json create mode 100644 src/main/resources/data/ariasessentials/recipes/engineersdecor/finalized/steel_table_recipe.json create mode 100644 src/main/resources/data/ariasessentials/tags/blocks/engineersdecor.json create mode 100644 src/main/resources/data/ariasessentials/tags/blocks/plain_concretes.json create mode 100644 src/main/resources/data/ariasessentials/tags/items/accepted_mineral_smelter_input.json create mode 100644 src/main/resources/data/ariasessentials/tags/items/brick_blocks.json create mode 100644 src/main/resources/data/ariasessentials/tags/items/brick_ingots.json create mode 100644 src/main/resources/data/ariasessentials/tags/items/plain_concretes.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/needs_iron_tool.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/slabs.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/stairs.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/walls.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/wither_immune.json diff --git a/gradle.properties b/gradle.properties index 8804768..1973941 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false -libzontreck=1201.11.021824.0918 +libzontreck=1201.11.022724.1602 ## Environment Properties @@ -48,7 +48,7 @@ mod_name=Aria's Essentials # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=GPLv3 # The mod version. See https://semver.org/ -mod_version=1201.2.021824.0940 +mod_version=1201.2.030124.0305 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/dev/zontreck/essentials/blocks/BlockCustomVoxels.java b/src/main/java/dev/zontreck/essentials/blocks/BlockCustomVoxels.java new file mode 100644 index 0000000..2ffc173 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/BlockCustomVoxels.java @@ -0,0 +1,22 @@ +package dev.zontreck.essentials.blocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class BlockCustomVoxels extends PartialTransparentBlock +{ + private VoxelShape superShape; + protected BlockCustomVoxels(Properties p_54120_, VoxelShape shape) { + super(p_54120_); + this.superShape = shape; + } + + @Override + public VoxelShape getShape(BlockState p_60555_, BlockGetter p_60556_, BlockPos p_60557_, CollisionContext p_60558_) { + return superShape; + } +} diff --git a/src/main/java/dev/zontreck/essentials/blocks/ModBlocks.java b/src/main/java/dev/zontreck/essentials/blocks/ModBlocks.java new file mode 100644 index 0000000..98b064a --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/ModBlocks.java @@ -0,0 +1,321 @@ +package dev.zontreck.essentials.blocks; + +import dev.zontreck.essentials.AriasEssentials; +import dev.zontreck.essentials.items.CreativeModeTabs; +import dev.zontreck.libzontreck.edlibmc.Auxiliaries; +import dev.zontreck.libzontreck.edlibmc.StandardBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockSetType; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.shapes.BooleanOp; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.stream.Stream; + +public class ModBlocks { + + private static BlockBehaviour.StatePredicate shulkerState = (p_152653_, p_152654_, p_152655_) -> { + BlockEntity blockentity = p_152654_.getBlockEntity(p_152655_); + if (!(blockentity instanceof ShulkerBoxBlockEntity)) { + return true; + } else { + ShulkerBoxBlockEntity shulkerboxblockentity = (ShulkerBoxBlockEntity)blockentity; + return shulkerboxblockentity.isClosed(); + } + }; + + + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, AriasEssentials.MODID); + public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, AriasEssentials.MODID); + + private static boolean never(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { + return false; + } + private static boolean always(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { + return true; + } + + + private static boolean neverSpawn(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, EntityType entityType) { + return false; + } + + public static void register(IEventBus bus){ + BLOCKS.register(bus); + ITEMS.register(bus); + AriasEssentials.LOGGER.info("Registering all blocks..."); + } + + private static BlockBehaviour.Properties standardBehavior() + { + return BlockBehaviour.Properties.of().requiresCorrectToolForDrops().strength(7F).destroyTime(6).isValidSpawn(ModBlocks::neverSpawn); + } + private static BlockBehaviour.Properties gratingBlock() + { + return standardBehavior() + .noOcclusion() + .strength(0.5f, 2000f) + .isViewBlocking(ModBlocks::never); + } + + private static BlockBehaviour.Properties stoneLikeBehavior() + { + return BlockBehaviour.Properties.copy(Blocks.COBBLESTONE).isValidSpawn(ModBlocks::neverSpawn); + } + + private static BlockBehaviour.Properties explosionResistance() + { + return standardBehavior().explosionResistance(1200); + } + + private static BlockBehaviour.Properties noViewBlocking() + { + return standardBehavior().noOcclusion().isViewBlocking(ModBlocks::never); + } + + private static BlockBehaviour.Properties fullBright() + { + return standardBehavior().lightLevel((X)->{ + return 15; + }).noOcclusion(); + } + + private static BlockBehaviour.Properties standard = standardBehavior(); + + private static BlockBehaviour.Properties explosionResistance = explosionResistance(); + + private static BlockBehaviour.Properties noViewBlocking = noViewBlocking(); + + private static BlockBehaviour.Properties stone = stoneLikeBehavior(); + + private static BlockBehaviour.Properties gratingBlock = gratingBlock(); + + private static BlockBehaviour.Properties poolLightClean = BlockBehaviour.Properties.copy(Blocks.GLASS).lightLevel((X) -> 15); + private static BlockBehaviour.Properties poolLightDirty = BlockBehaviour.Properties.copy(Blocks.GLASS).lightLevel((X) -> 12); + private static BlockBehaviour.Properties poolLightFilthy = BlockBehaviour.Properties.copy(Blocks.GLASS).lightLevel((X) -> 4); + + + public static RegistryObject registerWithItem(RegistryObject blk, Item.Properties props) + { + CreativeModeTabs.addToAETab(ITEMS.register(blk.getId().getPath(), ()->new BlockItem(blk.get(), props))); + + return blk; + } + + + /* + + ENGINEERS DECOR BLOCKS + + */ + + public static final RegistryObject CLINKER_BRICK_BLOCK = registerWithItem(BLOCKS.register("clinker_brick_block", ()->new StandardBlocks.BaseBlock( + StandardBlocks.CFG_DEFAULT, + BlockBehaviour.Properties.of().strength(0.5f, 7f).sound(SoundType.STONE) + )), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_RECESSED = registerWithItem(BLOCKS.register("clinker_brick_recessed", ()->new StandardBlocks.HorizontalWaterLoggable( + StandardBlocks.CFG_CUTOUT|StandardBlocks.CFG_HORIZIONTAL|StandardBlocks.CFG_LOOK_PLACEMENT, + BlockBehaviour.Properties.of().strength(0.5f, 7f).sound(SoundType.STONE), + new AABB[] { + Auxiliaries.getPixeledAABB( 3,0, 0, 13,16, 1), + Auxiliaries.getPixeledAABB( 0,0, 1, 16,16,11), + Auxiliaries.getPixeledAABB( 4,0,11, 12,16,13) + } + )), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_VERTICALLY_SLIT = registerWithItem(BLOCKS.register("clinker_brick_vertically_slit", ()->new StandardBlocks.HorizontalWaterLoggable( + StandardBlocks.CFG_CUTOUT|StandardBlocks.CFG_HORIZIONTAL|StandardBlocks.CFG_LOOK_PLACEMENT, + BlockBehaviour.Properties.of().strength(0.5f, 7f).sound(SoundType.STONE), + new AABB[] { + Auxiliaries.getPixeledAABB( 3,0, 0, 13,16, 1), + Auxiliaries.getPixeledAABB( 3,0,15, 13,16,16), + Auxiliaries.getPixeledAABB( 0,0, 1, 16,16,15) + } + )), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_SLAB = registerWithItem(BLOCKS.register("clinker_brick_slab", ()->new SlabBlock(BlockBehaviour.Properties.copy(Blocks.STONE_SLAB))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_STAIRS = registerWithItem(BLOCKS.register("clinker_brick_stairs", ()->new StairBlock(CLINKER_BRICK_BLOCK.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.STONE_STAIRS))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_WALL = registerWithItem(BLOCKS.register("clinker_brick_wall", ()->new WallBlock(BlockBehaviour.Properties.copy(Blocks.STONE_BRICK_WALL))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_STAINED_BLOCK = registerWithItem(BLOCKS.register("clinker_brick_stained_block", ()->new Block(BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_STAINED_SLAB = registerWithItem(BLOCKS.register("clinker_brick_stained_slab", ()-> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_STAINED_STAIRS = registerWithItem(BLOCKS.register("clinker_brick_stained_stairs", ()-> new StairBlock(CLINKER_BRICK_STAINED_BLOCK.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject CLINKER_BRICK_SASTOR_CORNER_BLOCK = registerWithItem(BLOCKS.register("clinker_brick_sastor_corner_block", ()-> new RotatableBlock(BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + /*public static final RegistryObject CLINKER_BRICK_VERTICAL_SLAB_STRUCTURED = registerWithItem(BLOCKS.register("clinker_brick_vertical_slab_structured", () -> new StandardBlocks.HorizontalWaterLoggable( + StandardBlocks.CFG_CUTOUT | StandardBlocks.CFG_HORIZIONTAL | StandardBlocks.CFG_LOOK_PLACEMENT, + BlockBehaviour.Properties.of().strength(0.5f, 7f).sound(SoundType.STONE), + new AABB[]{ + Auxiliaries.getPixeledAABB(0, 0, 0, 16, 16, 8), + } + )), new Item.Properties());*/ + + public static final RegistryObject SLAG_BRICK_BLOCK = registerWithItem(BLOCKS.register("slag_brick_block", ()-> new Block(BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject SLAG_BRICK_SLAB = registerWithItem(BLOCKS.register("slag_brick_slab", ()-> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject SLAG_BRICK_STAIRS = registerWithItem(BLOCKS.register("slag_brick_stairs", ()-> new StairBlock(SLAG_BRICK_BLOCK.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.STONE))), new Item.Properties()); + + public static final RegistryObject SLAG_BRICK_WALL = registerWithItem(BLOCKS.register("slag_brick_wall", ()-> new WallBlock(BlockBehaviour.Properties.copy(Blocks.STONE_BRICK_WALL))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_BLOCK = registerWithItem(BLOCKS.register("rebar_concrete", ()-> new Block(BlockBehaviour.Properties.copy(Blocks.STONE).isValidSpawn(ModBlocks::neverSpawn).strength(1f, 2000f))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_SLAB = registerWithItem(BLOCKS.register("rebar_concrete_slab", ()-> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2000f).isValidSpawn(ModBlocks::neverSpawn))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_STAIRS = registerWithItem(BLOCKS.register("rebar_concrete_stairs", ()-> new StairBlock(ModBlocks.REBAR_CONCRETE_BLOCK.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2000f).isValidSpawn(ModBlocks::neverSpawn))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_WALL = registerWithItem(BLOCKS.register("rebar_concrete_wall", ()-> new WallBlock(BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2000f).isValidSpawn(ModBlocks::neverSpawn))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_TILE_BLOCK = registerWithItem(BLOCKS.register("rebar_concrete_tile", ()-> new Block(BlockBehaviour.Properties.copy(Blocks.STONE).isValidSpawn(ModBlocks::neverSpawn).strength(1f, 2000f))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_TILE_SLAB = registerWithItem(BLOCKS.register("rebar_concrete_tile_slab", ()-> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2000f).isValidSpawn(ModBlocks::neverSpawn))), new Item.Properties()); + + public static final RegistryObject REBAR_CONCRETE_TILE_STAIRS = registerWithItem(BLOCKS.register("rebar_concrete_tile_stairs", ()-> new StairBlock(ModBlocks.REBAR_CONCRETE_BLOCK.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.STONE).strength(1f, 2000f).isValidSpawn(ModBlocks::neverSpawn))), new Item.Properties()); + + /*public static final RegistryObject REBAR_CONCRETE_HALFSLAB = registerWithItem(BLOCKS.register("halfslab_rebar_concrete", () -> new SlabSliceBlock( + StandardBlocks.CFG_CUTOUT, + BlockBehaviour.Properties.of().strength(1.0f, 2000f).sound(SoundType.STONE).isValidSpawn(ModBlocks::neverSpawn) + )), new Item.Properties());*/ + + public static final RegistryObject PANZER_GLASS_BLOCK = registerWithItem(BLOCKS.register("panzerglass_block", ()-> new PartialTransparentBlock(BlockBehaviour.Properties.of().noOcclusion().strength(0.5f, 2000f).isValidSpawn(ModBlocks::neverSpawn).sound(SoundType.METAL))), new Item.Properties()); + + public static final RegistryObject PANZER_GLASS_SLAB = registerWithItem(BLOCKS.register("panzerglass_slab", ()-> new PartialTransparentSlabBlock(BlockBehaviour.Properties.of().noOcclusion().strength(0.5f, 2000f).isValidSpawn(ModBlocks::neverSpawn).sound(SoundType.METAL))), new Item.Properties()); + + public static final RegistryObject OLD_INDUSTRIAL_WOOD_PLANKS = registerWithItem(BLOCKS.register("old_industrial_wood_planks", ()-> new Block(BlockBehaviour.Properties.copy(Blocks.OAK_PLANKS).strength(0.5f, 6f).sound(SoundType.WOOD))), new Item.Properties()); + + public static final RegistryObject OLD_INDUSTRIAL_WOOD_SLAB = registerWithItem(BLOCKS.register("old_industrial_wood_slab", ()-> new SlabBlock(BlockBehaviour.Properties.copy(Blocks.OAK_PLANKS).strength(0.5f, 6f).sound(SoundType.WOOD))), new Item.Properties()); + + public static final RegistryObject OLD_INDUSTRIAL_WOOD_STAIRS = registerWithItem(BLOCKS.register("old_industrial_wood_stairs", ()-> new StairBlock(ModBlocks.OLD_INDUSTRIAL_WOOD_PLANKS.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.OAK_PLANKS).strength(0.5f, 6f).sound(SoundType.WOOD))), new Item.Properties()); + + public static final RegistryObject OLD_INDUSTRIAL_WOOD_DOOR = registerWithItem(BLOCKS.register("old_industrial_wood_door", ()-> new DoorBlock(BlockBehaviour.Properties.copy(Blocks.OAK_PLANKS).strength(0.5f, 6f).noOcclusion(), BlockSetType.DARK_OAK)), new Item.Properties()); + + public static final RegistryObject STEEL_CATWALK = registerWithItem(BLOCKS.register("steel_catwalk", ()-> new BlockCustomVoxels(gratingBlock, Block.box(0, 0, 0, 16, 2, 16))), new Item.Properties()); + + public static final RegistryObject STEEL_CATWALK_TOP = registerWithItem(BLOCKS.register("steel_catwalk_top", ()-> new BlockCustomVoxels(gratingBlock, Block.box(0, 14, 0, 16, 16, 16))), new Item.Properties()); + + public static final RegistryObject STEEL_GRATING = registerWithItem(BLOCKS.register("steel_floor_grating", ()-> new BlockCustomVoxels(gratingBlock, Block.box(0, 0, 0, 16, 2, 16))), new Item.Properties()); + + public static final RegistryObject STEEL_GRATING_TOP = registerWithItem(BLOCKS.register("steel_floor_grating_top", ()-> new BlockCustomVoxels(gratingBlock, Block.box(0, 14, 0, 16, 16, 16))), new Item.Properties()); + + public static final RegistryObject STEEL_TABLE = registerWithItem(BLOCKS.register("steel_table", ()-> new BlockCustomVoxels(gratingBlock, Block.box(0, 0, 0, 16, 16, 16))), new Item.Properties()); + + private static final VoxelShape STEEL_CATWALK_STAIRS_NORTH = Shapes.join(Block.box(1, 10, 0, 15, 12, 8), Block.box(1, 2, 8, 15, 4, 16), BooleanOp.OR); + + private static final VoxelShape STEEL_CATWALK_STAIRS_SOUTH = Shapes.join(Block.box(1, 10, 8, 15, 12, 16), Block.box(1, 2, 0, 15, 4, 8), BooleanOp.OR); + + private static final VoxelShape STEEL_CATWALK_STAIRS_EAST = Shapes.join(Block.box(8, 10, 1, 16, 12, 15), Block.box(0, 2, 1, 8, 4, 15), BooleanOp.OR); + + private static final VoxelShape STEEL_CATWALK_STAIRS_WEST = Shapes.join(Block.box(0, 10, 1, 8, 12, 15), Block.box(8, 2, 1, 16, 4, 15), BooleanOp.OR); + + public static final RegistryObject STEEL_CATWALK_STAIRS = registerWithItem(BLOCKS.register("steel_catwalk_stairs", ()-> new RotatableBlockCustomVoxels(gratingBlock, STEEL_CATWALK_STAIRS_NORTH, STEEL_CATWALK_STAIRS_SOUTH, STEEL_CATWALK_STAIRS_WEST, STEEL_CATWALK_STAIRS_EAST)), new Item.Properties()); + + private static final VoxelShape STEEL_CATWALK_STAIRS_LR_NORTH = Stream.of( + Block.box(1, 2, 8, 15, 4, 16), + Block.box(1, 10, 0, 15, 12, 8), + Block.box(0, 0, 0, 1, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_LR_SOUTH = Stream.of( + Block.box(1, 2, 0, 15, 4, 8), + Block.box(1, 10, 8, 15, 12, 16), + Block.box(15, 0, 0, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_LR_EAST = Stream.of( + Block.box(0, 2, 1, 8, 4, 15), + Block.box(8, 10, 1, 16, 12, 15), + Block.box(0, 0, 0, 16, 21, 1) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_LR_WEST = Stream.of( + Block.box(8, 2, 1, 16, 4, 15), + Block.box(0, 10, 1, 8, 12, 15), + Block.box(0, 0, 15, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + public static final RegistryObject STEEL_CATWALK_STAIRS_LR = registerWithItem(BLOCKS.register("steel_catwalk_stairs_lr", ()-> new RotatableBlockCustomVoxels(gratingBlock, STEEL_CATWALK_STAIRS_LR_NORTH, STEEL_CATWALK_STAIRS_LR_SOUTH, STEEL_CATWALK_STAIRS_LR_WEST, STEEL_CATWALK_STAIRS_LR_EAST)), new Item.Properties()); + + private static final VoxelShape STEEL_CATWALK_STAIRS_RR_NORTH = Stream.of( + Block.box(1, 2, 8, 15, 4, 16), + Block.box(1, 10, 0, 15, 12, 8), + Block.box(15, 0, 0, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_RR_SOUTH = Stream.of( + Block.box(1, 2, 0, 15, 4, 8), + Block.box(1, 10, 8, 15, 12, 16), + Block.box(0, 0, 0, 1, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_RR_EAST = Stream.of( + Block.box(0, 2, 1, 8, 4, 15), + Block.box(8, 10, 1, 16, 12, 15), + Block.box(0, 0, 15, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_RR_WEST = Stream.of( + Block.box(8, 2, 1, 16, 4, 15), + Block.box(0, 10, 1, 8, 12, 15), + Block.box(0, 0, 0, 16, 21, 1) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + public static final RegistryObject STEEL_CATWALK_STAIRS_RR = registerWithItem(BLOCKS.register("steel_catwalk_stairs_rr", ()-> new RotatableBlockCustomVoxels(gratingBlock, STEEL_CATWALK_STAIRS_RR_NORTH, STEEL_CATWALK_STAIRS_RR_SOUTH, STEEL_CATWALK_STAIRS_RR_WEST, STEEL_CATWALK_STAIRS_RR_EAST)), new Item.Properties()); + + private static final VoxelShape STEEL_CATWALK_STAIRS_DR_NORTH = Stream.of( + Block.box(1, 10, 0, 15, 12, 8), + Block.box(1, 2, 8, 15, 4, 16), + Block.box(0, 0, 0, 1, 21, 16), + Block.box(15, 0, 0, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_DR_SOUTH = Stream.of( + Block.box(1, 10, 8, 15, 12, 16), + Block.box(1, 2, 0, 15, 4, 8), + Block.box(15, 0, 0, 16, 21, 16), + Block.box(0, 0, 0, 1, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_DR_WEST = Stream.of( + Block.box(8, 10, 1, 16, 12, 15), + Block.box(0, 2, 1, 8, 4, 15), + Block.box(0, 0, 0, 16, 21, 1), + Block.box(0, 0, 15, 16, 21, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + private static final VoxelShape STEEL_CATWALK_STAIRS_DR_EAST = Stream.of( + Block.box(0, 10, 1, 8, 12, 15), + Block.box(8, 2, 1, 16, 4, 15), + Block.box(0, 0, 15, 16, 21, 16), + Block.box(0, 0, 0, 16, 21, 1) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(); + + public static final RegistryObject STEEL_CATWALK_STAIRS_DR = registerWithItem(BLOCKS.register("steel_catwalk_stairs_dr", ()-> new RotatableBlockCustomVoxels(gratingBlock, STEEL_CATWALK_STAIRS_DR_NORTH, STEEL_CATWALK_STAIRS_DR_SOUTH, STEEL_CATWALK_STAIRS_DR_WEST, STEEL_CATWALK_STAIRS_DR_EAST)), new Item.Properties()); + + private static final VoxelShape STEEL_RAILING_NORTH = Block.box(0.25, 0.25, 0.25, 15.75, 16, 1.25); + private static final VoxelShape STEEL_RAILING_SOUTH = Block.box(0.25, 0.25, 14.75, 15.75, 16, 15.75); + + private static final VoxelShape STEEL_RAILING_WEST = Block.box(14.75, 0.25, 0.25, 15.75, 16, 15.75); + private static final VoxelShape STEEL_RAILING_EAST = Block.box(0.25, 0.25, 0.25, 1.25, 16, 15.75); + public static final RegistryObject STEEL_RAILING = registerWithItem(BLOCKS.register("steel_railing", ()->new RotatableBlockCustomVoxels(gratingBlock, STEEL_RAILING_NORTH, STEEL_RAILING_SOUTH, STEEL_RAILING_WEST, STEEL_RAILING_EAST)), new Item.Properties()); + + +} diff --git a/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentBlock.java b/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentBlock.java new file mode 100644 index 0000000..45dfe82 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentBlock.java @@ -0,0 +1,18 @@ +package dev.zontreck.essentials.blocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.AbstractGlassBlock; +import net.minecraft.world.level.block.state.BlockState; + +public class PartialTransparentBlock extends AbstractGlassBlock +{ + protected PartialTransparentBlock(Properties p_48729_) { + super(p_48729_); + } + + @Override + public boolean propagatesSkylightDown(BlockState p_48740_, BlockGetter p_48741_, BlockPos p_48742_) { + return true; + } +} diff --git a/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentSlabBlock.java b/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentSlabBlock.java new file mode 100644 index 0000000..3d6b45c --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/PartialTransparentSlabBlock.java @@ -0,0 +1,19 @@ +package dev.zontreck.essentials.blocks; + +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.AbstractGlassBlock; +import net.minecraft.world.level.block.SlabBlock; +import net.minecraft.world.level.block.state.BlockState; + +public class PartialTransparentSlabBlock extends SlabBlock +{ + protected PartialTransparentSlabBlock(Properties p_48729_) { + super(p_48729_); + } + + @Override + public boolean propagatesSkylightDown(BlockState p_48740_, BlockGetter p_48741_, BlockPos p_48742_) { + return true; + } +} diff --git a/src/main/java/dev/zontreck/essentials/blocks/RotatableBlock.java b/src/main/java/dev/zontreck/essentials/blocks/RotatableBlock.java new file mode 100644 index 0000000..52b8478 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/RotatableBlock.java @@ -0,0 +1,26 @@ +package dev.zontreck.essentials.blocks; + +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; + +public class RotatableBlock extends HorizontalDirectionalBlock +{ + protected RotatableBlock(Properties pProperties) { + super(pProperties); + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder); + pBuilder.add(FACING); + } + + + @Override + public BlockState getStateForPlacement(BlockPlaceContext pContext) { + return defaultBlockState().setValue(FACING, pContext.getHorizontalDirection()); + } +} \ No newline at end of file diff --git a/src/main/java/dev/zontreck/essentials/blocks/RotatableBlockCustomVoxels.java b/src/main/java/dev/zontreck/essentials/blocks/RotatableBlockCustomVoxels.java new file mode 100644 index 0000000..86c86ea --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/blocks/RotatableBlockCustomVoxels.java @@ -0,0 +1,35 @@ +package dev.zontreck.essentials.blocks; + +import dev.zontreck.ariaslib.util.Maps; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +import java.util.HashMap; +import java.util.Map; + + +public class RotatableBlockCustomVoxels extends RotatableBlock +{ + private Map rotatedShapes = new HashMap<>(); + + protected RotatableBlockCustomVoxels(Properties properties, VoxelShape north, VoxelShape south, VoxelShape east, VoxelShape west) { + super(properties); + rotatedShapes = Maps.of(new Maps.Entry<>(Direction.NORTH, north), new Maps.Entry<>(Direction.SOUTH, south), new Maps.Entry<>(Direction.WEST, west), new Maps.Entry<>(Direction.EAST, east), new Maps.Entry<>(Direction.NORTH, north), new Maps.Entry<>(Direction.DOWN, north)); + } + + @Override + public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { + Direction facing = state.getValue(FACING); + return rotatedShapes.get(facing); + } + + @Override + public boolean propagatesSkylightDown(BlockState p_49928_, BlockGetter p_49929_, BlockPos p_49930_) { + return true; + } +} diff --git a/src/main/java/dev/zontreck/essentials/data/ModBlockStatesProvider.java b/src/main/java/dev/zontreck/essentials/data/ModBlockStatesProvider.java new file mode 100644 index 0000000..92293eb --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/ModBlockStatesProvider.java @@ -0,0 +1,467 @@ +package dev.zontreck.essentials.data; + +import dev.zontreck.essentials.AriasEssentials; +import dev.zontreck.essentials.blocks.ModBlocks; +import net.minecraft.core.Direction; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.properties.*; +import net.minecraftforge.client.model.generators.BlockStateProvider; +import net.minecraftforge.client.model.generators.ConfiguredModel; +import net.minecraftforge.client.model.generators.ModelFile; +import net.minecraftforge.client.model.generators.VariantBlockStateBuilder; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.concurrent.atomic.AtomicReference; + +public class ModBlockStatesProvider extends BlockStateProvider { + public ModBlockStatesProvider(PackOutput output, ExistingFileHelper existingFileHelper) { + super(output, AriasEssentials.MODID, existingFileHelper); + } + + @Override + protected void registerStatesAndModels() { + + + ResourceLocation[] clinkerBlock = new ResourceLocation[]{ + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture3"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture4"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture5"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture6"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_texture7") + }; + ResourceLocation[] clinkerStainedBlock = new ResourceLocation[]{ + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture3"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture4"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture5"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture6"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/clinker_brick/clinker_brick_stained_texture7") + }; + + ResourceLocation[] slagBricks = new ResourceLocation[]{ + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture3"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture4"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture5"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture6"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/slag_brick/slag_brick_texture7") + }; + + ResourceLocation[] rebarConcrete = new ResourceLocation[] { + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture3"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture4"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture5"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture6"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_texture7") + }; + + ResourceLocation[] rebarConcreteTile = new ResourceLocation[] { + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture3"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture4"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture5"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture6"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/concrete/rebar_concrete_tile_texture7") + }; + + ResourceLocation[] panzerglass = new ResourceLocation[]{ + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/glass/panzerglass_block_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/glass/panzerglass_block_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/glass/panzerglass_block_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/glass/panzerglass_block_texture3") + }; + + ResourceLocation[] oldIndustrialWood = new ResourceLocation[]{ + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/material/industrial_planks_texture0"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/material/industrial_planks_texture1"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/material/industrial_planks_texture2"), + new ResourceLocation(AriasEssentials.MODID, "engineersdecor/material/industrial_planks_texture3"), + }; + + variantCubeBlock(ModBlocks.CLINKER_BRICK_BLOCK, clinkerBlock); + customSlabBlock(ModBlocks.CLINKER_BRICK_SLAB, clinkerBlock); + customStairBlock(ModBlocks.CLINKER_BRICK_STAIRS, clinkerBlock); + variantCubeBlock(ModBlocks.CLINKER_BRICK_STAINED_BLOCK, clinkerStainedBlock); + customSlabBlock(ModBlocks.CLINKER_BRICK_STAINED_SLAB, clinkerStainedBlock); + customStairBlock(ModBlocks.CLINKER_BRICK_STAINED_STAIRS, clinkerStainedBlock); + + wallBlock(ModBlocks.CLINKER_BRICK_WALL, new ResourceLocation(AriasEssentials.MODID, "block/engineersdecor/clinker_brick/clinker_brick_wall0")); + + variantCubeBlock(ModBlocks.SLAG_BRICK_BLOCK, slagBricks); + customSlabBlock(ModBlocks.SLAG_BRICK_SLAB, slagBricks); + customStairBlock(ModBlocks.SLAG_BRICK_STAIRS, slagBricks); + wallBlock(ModBlocks.SLAG_BRICK_WALL, new ResourceLocation(AriasEssentials.MODID, "block/engineersdecor/slag_brick/slag_brick_wall0")); + + variantCubeBlock(ModBlocks.REBAR_CONCRETE_BLOCK, rebarConcrete); + customSlabBlock(ModBlocks.REBAR_CONCRETE_SLAB, rebarConcrete); + customStairBlock(ModBlocks.REBAR_CONCRETE_STAIRS, rebarConcrete); + wallBlock(ModBlocks.REBAR_CONCRETE_WALL, new ResourceLocation(AriasEssentials.MODID, "block/" + rebarConcrete[0].getPath())); + + variantCubeBlock(ModBlocks.REBAR_CONCRETE_TILE_BLOCK, rebarConcreteTile); + customSlabBlock(ModBlocks.REBAR_CONCRETE_TILE_SLAB, rebarConcreteTile); + customStairBlock(ModBlocks.REBAR_CONCRETE_TILE_STAIRS, rebarConcreteTile); + + variantTransparentCubeBlock(ModBlocks.PANZER_GLASS_BLOCK, new ResourceLocation(AriasEssentials.MODID, "engineersdecor/glass/panzerglass_block_texture_inventory"), panzerglass); + customTransparentSlabBlock(ModBlocks.PANZER_GLASS_SLAB, panzerglass); + + variantCubeBlock(ModBlocks.OLD_INDUSTRIAL_WOOD_PLANKS, oldIndustrialWood); + customSlabBlock(ModBlocks.OLD_INDUSTRIAL_WOOD_SLAB, oldIndustrialWood); + customStairBlock(ModBlocks.OLD_INDUSTRIAL_WOOD_STAIRS, oldIndustrialWood); + doorBlock(ModBlocks.OLD_INDUSTRIAL_WOOD_DOOR, new ResourceLocation(AriasEssentials.MODID, "block/engineersdecor/door/old_industrial_door_texture_bottom"), new ResourceLocation(AriasEssentials.MODID, "block/engineersdecor/door/old_industrial_door_texture_top")); + + blockWithExistingModel(ModBlocks.STEEL_GRATING, "block/engineersdecor/furniture/steel_floor_grating", false); + blockWithExistingModel(ModBlocks.STEEL_GRATING_TOP, "block/engineersdecor/furniture/steel_floor_grating_top", false); + blockWithExistingModel(ModBlocks.STEEL_TABLE, "block/engineersdecor/furniture/steel_table", false); + blockWithExistingModel(ModBlocks.STEEL_CATWALK, "block/engineersdecor/furniture/steel_catwalk", false); + blockWithExistingModel(ModBlocks.STEEL_CATWALK_TOP, "block/engineersdecor/furniture/steel_catwalk_top", false); + blockWithExistingModel(ModBlocks.STEEL_RAILING, "block/engineersdecor/furniture/steel_railing", true); + blockWithExistingModel(ModBlocks.STEEL_CATWALK_STAIRS, "block/engineersdecor/furniture/steel_catwalk_stairs", true); + blockWithExistingModel(ModBlocks.STEEL_CATWALK_STAIRS_LR, "block/engineersdecor/furniture/steel_catwalk_stairs_lr", true); + blockWithExistingModel(ModBlocks.STEEL_CATWALK_STAIRS_RR, "block/engineersdecor/furniture/steel_catwalk_stairs_rr", true); + blockWithExistingModel(ModBlocks.STEEL_CATWALK_STAIRS_DR, "block/engineersdecor/furniture/steel_catwalk_stairs_dr", true); + + + } + + private void blockWithExistingModel(RegistryObject blk, String model, boolean rotatable) + { + ResourceLocation modelLoc = new ResourceLocation(AriasEssentials.MODID, model); + ModelFile mFile = models().withExistingParent(name(blk.get()), modelLoc); + + if(!rotatable) + simpleBlock(blk.get(), mFile); + else horizontalBlock(blk.get(), mFile); + + simpleBlockItem(blk.get(), mFile); + } + + private void doorBlock(RegistryObject blk, ResourceLocation textureTop, ResourceLocation textureBottom) + { + doorBlockWithRenderType((DoorBlock) blk.get(), textureBottom, textureTop, new ResourceLocation("translucent")); + + simpleBlockItem(blk.get(), models().doorBottomLeft(name(blk.get()), textureBottom, textureTop)); + } + + private void wallBlock(RegistryObject blk, ResourceLocation texture) + { + wallBlock((WallBlock) blk.get(), texture); + var wallInv = models().wallInventory(name(blk.get()) + "_inventory", texture); + + simpleBlockItem(blk.get(), wallInv); + } + + private void blockWithItem(RegistryObject blockRegistryObject) { + simpleBlockWithItem(blockRegistryObject.get(), cubeAll(blockRegistryObject.get())); + } + + private void blockWithItem(RegistryObject blockRegistryObject, ModelFile model) { + simpleBlockWithItem(blockRegistryObject.get(), model); + } + + private void stairBlock(RegistryObject blk, RegistryObject texture) { + stairsBlock((StairBlock) blk.get(), blockTexture(texture.get())); + simpleBlockItem(blk.get(), stairsModel(blk.get(), texture.get())); + } + + private void carpetBlock(RegistryObject blk, RegistryObject texture) { + simpleBlockWithItem(blk.get(), carpetModel(blk.get(), texture.get())); + } + + private String name(Block block) { + return this.key(block).getPath(); + } + + private ResourceLocation key(Block block) { + return ForgeRegistries.BLOCKS.getKey(block); + } + + public ModelFile stairsModel(Block block, Block texture) { + return this.models().stairs(name(block), blockTexture(texture), blockTexture(texture), blockTexture(texture)); + } + + public ModelFile carpetModel(Block block, Block texture) { + return this.models().carpet(name(block), blockTexture(texture)); + } + + public ModelFile slabModel(Block block, Block texture) { + return this.models().slab(name(block), blockTexture(texture), blockTexture(texture), blockTexture(texture)); + } + + private void slabBlock(RegistryObject blk, RegistryObject texture) { + slabBlock((SlabBlock) blk.get(), blockTexture(texture.get()), blockTexture(texture.get())); + simpleBlockItem(blk.get(), slabModel(blk.get(), texture.get())); + } + + private void customSlabBlock(RegistryObject blockId, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + + + AtomicReference model0 = new AtomicReference<>(); + + builder.forAllStates((state)->{ + ConfiguredModel[] models = new ConfiguredModel[variations.length]; + + + String appendName = ""; + SlabType type = state.getValue(SlabBlock.TYPE); + + if(type == SlabType.BOTTOM) + appendName = "_bottom"; + else if(type == SlabType.TOP) + appendName = "_top"; + else if(type == SlabType.DOUBLE) + appendName = "_double"; + + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + ModelFile model = null; + if(type == SlabType.TOP) + model = models().slabTop(name(blockId.get()) + "_model" + i + appendName, rss, rss, rss); + else if(type == SlabType.BOTTOM) + model = models().slab(name(blockId.get()) + "_model" + i + appendName, rss, rss, rss); + else if(type == SlabType.DOUBLE) + model = models().cubeAll(name(blockId.get()) + "_model" + i + appendName, rss); + + + ConfiguredModel[] cfgModel = ConfiguredModel.builder().modelFile(model).build(); + + if(i==0 && model0.get()==null && type == SlabType.BOTTOM) model0.set(model); + + models[i] = cfgModel[0]; + //builder.partialState().addModels(cfgModel); + } + return models; + }); + + + simpleBlockItem(blockId.get(), model0.get()); + } + + private void customStairBlock(RegistryObject blockId, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + ResourceLocation blockDefault = blockTexture(blockId.get()); + + + AtomicReference model0 = new AtomicReference<>(); + + builder.forAllStates((state)->{ + ConfiguredModel[] models = new ConfiguredModel[variations.length]; + Direction facing = (Direction)state.getValue(StairBlock.FACING); + Half half = (Half)state.getValue(StairBlock.HALF); + StairsShape shape = (StairsShape)state.getValue(StairBlock.SHAPE); + int yRot = (int)facing.getClockWise().toYRot(); + if (shape == StairsShape.INNER_LEFT || shape == StairsShape.OUTER_LEFT) { + yRot += 270; + } + + if (shape != StairsShape.STRAIGHT && half == Half.TOP) { + yRot += 90; + } + + yRot %= 360; + boolean uvlock = yRot != 0 || half == Half.TOP; + + String modelName = (shape == StairsShape.STRAIGHT) ? "" : (shape != StairsShape.INNER_LEFT && shape != StairsShape.INNER_RIGHT) ? "_outer":"_inner"; + boolean straight = (shape == StairsShape.STRAIGHT); + boolean inner = (shape == StairsShape.INNER_LEFT || shape == StairsShape.INNER_RIGHT); + + + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + ModelFile cubeModel = null; + if(straight) + cubeModel = models().stairs( + blockId.getId().getPath() + "_model"+i + modelName, // Model name + rss, rss, rss // Texture location + ); + + if(inner) + cubeModel = models().stairsInner(blockId.getId().getPath()+"_model"+i + modelName, rss, rss, rss); + else if(!inner && !straight) + cubeModel = models().stairsOuter(blockId.getId().getPath() + "_model"+i+modelName, rss, rss, rss); + + ConfiguredModel[] cfgModel = ConfiguredModel.builder().modelFile(cubeModel).rotationX(half == Half.BOTTOM ? 0 : 180).rotationY(yRot).uvLock(uvlock).build(); + + if(i==0 && model0.get()==null) model0.set(cubeModel); + + models[i] = cfgModel[0]; + //builder.partialState().addModels(cfgModel); + } + + return models; + }); + + + simpleBlockItem(blockId.get(), model0.get()); + } + private void customTransparentSlabBlock(RegistryObject blockId, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + + + AtomicReference model0 = new AtomicReference<>(); + + builder.forAllStates((state)->{ + ConfiguredModel[] models = new ConfiguredModel[variations.length]; + + + String appendName = ""; + SlabType type = state.getValue(SlabBlock.TYPE); + + if(type == SlabType.BOTTOM) + appendName = "_bottom"; + else if(type == SlabType.TOP) + appendName = "_top"; + else if(type == SlabType.DOUBLE) + appendName = "_double"; + + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + ModelFile model = null; + if(type == SlabType.TOP) + model = models().slabTop(name(blockId.get()) + "_model" + i + appendName, rss, rss, rss).renderType(new ResourceLocation("translucent")); + else if(type == SlabType.BOTTOM) + model = models().slab(name(blockId.get()) + "_model" + i + appendName, rss, rss, rss).renderType(new ResourceLocation("translucent")); + else if(type == SlabType.DOUBLE) + model = models().cubeAll(name(blockId.get()) + "_model" + i + appendName, rss).renderType(new ResourceLocation("translucent")); + + + ConfiguredModel[] cfgModel = ConfiguredModel.builder().modelFile(model).build(); + + if(i==0 && model0.get()==null && type == SlabType.BOTTOM) model0.set(model); + + models[i] = cfgModel[0]; + //builder.partialState().addModels(cfgModel); + } + return models; + }); + + + simpleBlockItem(blockId.get(), model0.get()); + } + + private void customTransparentStairBlock(RegistryObject blockId, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + ResourceLocation blockDefault = blockTexture(blockId.get()); + + + AtomicReference model0 = new AtomicReference<>(); + + builder.forAllStates((state)->{ + ConfiguredModel[] models = new ConfiguredModel[variations.length]; + Direction facing = (Direction)state.getValue(StairBlock.FACING); + Half half = (Half)state.getValue(StairBlock.HALF); + StairsShape shape = (StairsShape)state.getValue(StairBlock.SHAPE); + int yRot = (int)facing.getClockWise().toYRot(); + if (shape == StairsShape.INNER_LEFT || shape == StairsShape.OUTER_LEFT) { + yRot += 270; + } + + if (shape != StairsShape.STRAIGHT && half == Half.TOP) { + yRot += 90; + } + + yRot %= 360; + boolean uvlock = yRot != 0 || half == Half.TOP; + + String modelName = (shape == StairsShape.STRAIGHT) ? "" : (shape != StairsShape.INNER_LEFT && shape != StairsShape.INNER_RIGHT) ? "_outer":"_inner"; + boolean straight = (shape == StairsShape.STRAIGHT); + boolean inner = (shape == StairsShape.INNER_LEFT || shape == StairsShape.INNER_RIGHT); + + + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + ModelFile cubeModel = null; + if(straight) + cubeModel = models().stairs( + blockId.getId().getPath() + "_model"+i + modelName, // Model name + rss, rss, rss // Texture location + ).renderType(new ResourceLocation("translucent")); + + if(inner) + cubeModel = models().stairsInner(blockId.getId().getPath()+"_model"+i + modelName, rss, rss, rss).renderType(new ResourceLocation("translucent")); + else if(!inner && !straight) + cubeModel = models().stairsOuter(blockId.getId().getPath() + "_model"+i+modelName, rss, rss, rss).renderType(new ResourceLocation("translucent")); + + ConfiguredModel[] cfgModel = ConfiguredModel.builder().modelFile(cubeModel).rotationX(half == Half.BOTTOM ? 0 : 180).rotationY(yRot).uvLock(uvlock).build(); + + if(i==0 && model0.get()==null) model0.set(cubeModel); + + models[i] = cfgModel[0]; + //builder.partialState().addModels(cfgModel); + } + + return models; + }); + + + simpleBlockItem(blockId.get(), model0.get()); + } + + public void variantCubeBlock(RegistryObject blockId, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + ResourceLocation blockDefault = blockTexture(blockId.get()); + + ModelFile model0 = null; + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + ModelFile cubeModel = models().cubeAll( + blockId.getId().getPath() + "_model"+i, // Model name + rss // Texture location + ); + var cfgModel = ConfiguredModel.builder().modelFile(cubeModel).build(); + if(i==0)model0 = cubeModel; + builder.partialState().addModels(cfgModel); + } + + + + simpleBlockItem(blockId.get(), model0); + } + + public void variantTransparentCubeBlock(RegistryObject blockId, ResourceLocation inventory, ResourceLocation... variations) { + VariantBlockStateBuilder builder = getVariantBuilder(blockId.get()); + ResourceLocation blockDefault = blockTexture(blockId.get()); + + ModelFile model0 = models().cubeAll(name(blockId.get()) + "_inventory", new ResourceLocation(inventory.getNamespace(), "block/" + inventory.getPath())).renderType(new ResourceLocation("translucent")); + + + for (int i = 0; i < variations.length; i++) { + ResourceLocation texture = variations[i]; + ResourceLocation rss = new ResourceLocation(texture.getNamespace(), "block/" + texture.getPath()); + + ModelFile cubeModel = models().cubeAll( + blockId.getId().getPath() + "_model"+i, // Model name + rss // Texture location + ).renderType(new ResourceLocation("translucent")); + var cfgModel = ConfiguredModel.builder().modelFile(cubeModel).build(); + //if(i==0)model0 = cubeModel; + builder.partialState().addModels(cfgModel); + } + + + + + simpleBlockItem(blockId.get(), model0); + } +} diff --git a/src/main/java/dev/zontreck/essentials/data/ModDatagen.java b/src/main/java/dev/zontreck/essentials/data/ModDatagen.java new file mode 100644 index 0000000..32a6389 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/ModDatagen.java @@ -0,0 +1,28 @@ +package dev.zontreck.essentials.data; + + +import dev.zontreck.essentials.AriasEssentials; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.data.event.GatherDataEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; + +@Mod.EventBusSubscriber(modid = AriasEssentials.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) +public class ModDatagen +{ + + @SubscribeEvent + public static void gatherData(GatherDataEvent event) + { + DataGenerator gen = event.getGenerator(); + PackOutput output = gen.getPackOutput(); + + ExistingFileHelper helper = event.getExistingFileHelper(); + + gen.addProvider(true, new ModBlockStatesProvider(output, helper)); + gen.addProvider(true, new ModItemModelsProvider(output,helper)); + gen.addProvider(true, ModLootTablesProvider.create(output)); + } +} diff --git a/src/main/java/dev/zontreck/essentials/data/ModItemModelsProvider.java b/src/main/java/dev/zontreck/essentials/data/ModItemModelsProvider.java new file mode 100644 index 0000000..d93453d --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/ModItemModelsProvider.java @@ -0,0 +1,58 @@ +package dev.zontreck.essentials.data; + +import dev.zontreck.essentials.AriasEssentials; +import dev.zontreck.essentials.items.ModItems; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraftforge.client.model.generators.ItemModelBuilder; +import net.minecraftforge.client.model.generators.ItemModelProvider; +import net.minecraftforge.client.model.generators.ModelFile; +import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.Objects; + +public class ModItemModelsProvider extends ItemModelProvider +{ + public ModItemModelsProvider(PackOutput output, ExistingFileHelper helper) + { + super(output, AriasEssentials.MODID, helper); + } + + @Override + protected void registerModels() { + + item(ModItems.METAL_BAR); + item(ModItems.TIME_IN_A_BOTTLE); + + /* + Engineer's Decor Items + */ + + + + /* + DEPRECATED ITEMS + */ + + } + + + + private ItemModelBuilder item(RegistryObject ite) { + return this.item((ResourceLocation) Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(ite.get()))); + } + + private ItemModelBuilder item(ResourceLocation item) { + return (ItemModelBuilder)((ItemModelBuilder)((ItemModelBuilder)this.getBuilder(item.toString())).parent(new ModelFile.UncheckedModelFile("item/generated"))).texture("layer0", new ResourceLocation(item.getNamespace(), "item/" + item.getPath())); + } + private ItemModelBuilder deprecated(RegistryObject ite) { + return this.deprecated((ResourceLocation) Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(ite.get()))); + } + + private ItemModelBuilder deprecated(ResourceLocation item) { + return (ItemModelBuilder)((ItemModelBuilder)((ItemModelBuilder)this.getBuilder(item.toString())).parent(new ModelFile.UncheckedModelFile("item/generated"))).texture("layer0", new ResourceLocation(item.getNamespace(), "item/deprecated")); + } +} diff --git a/src/main/java/dev/zontreck/essentials/data/ModLootTablesProvider.java b/src/main/java/dev/zontreck/essentials/data/ModLootTablesProvider.java new file mode 100644 index 0000000..5b6eb58 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/ModLootTablesProvider.java @@ -0,0 +1,20 @@ +package dev.zontreck.essentials.data; + +import dev.zontreck.essentials.data.loot.ModBlockLootTablesProvider; +import net.minecraft.data.PackOutput; +import net.minecraft.data.loot.LootTableProvider; +import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; +import net.minecraft.world.level.storage.loot.parameters.LootContextParams; + +import java.util.List; +import java.util.Set; + +public class ModLootTablesProvider +{ + public static LootTableProvider create(PackOutput output) + { + return new LootTableProvider(output, Set.of(), List.of( + new LootTableProvider.SubProviderEntry(ModBlockLootTablesProvider::new, LootContextParamSets.BLOCK) + )); + } +} diff --git a/src/main/java/dev/zontreck/essentials/data/README.md b/src/main/java/dev/zontreck/essentials/data/README.md new file mode 100644 index 0000000..0e8c7f0 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/README.md @@ -0,0 +1,7 @@ +Datagen +====== +____________ + +This is the datagen system for Aria's Essentials. + +Please exercise caution when updating this, and test everything. \ No newline at end of file diff --git a/src/main/java/dev/zontreck/essentials/data/loot/ModBlockLootTablesProvider.java b/src/main/java/dev/zontreck/essentials/data/loot/ModBlockLootTablesProvider.java new file mode 100644 index 0000000..e25e6f0 --- /dev/null +++ b/src/main/java/dev/zontreck/essentials/data/loot/ModBlockLootTablesProvider.java @@ -0,0 +1,108 @@ +package dev.zontreck.essentials.data.loot; + +import dev.zontreck.essentials.blocks.ModBlocks; +import net.minecraft.data.loot.BlockLootSubProvider; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.enchantment.Enchantments; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.storage.loot.LootTable; +import net.minecraft.world.level.storage.loot.entries.LootItem; +import net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer; +import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; +import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; +import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; +import net.minecraftforge.registries.RegistryObject; + +import java.util.Set; + +public class ModBlockLootTablesProvider extends BlockLootSubProvider +{ + public ModBlockLootTablesProvider() + { + super(Set.of(), FeatureFlags.REGISTRY.allFlags()); + } + + @Override + protected void generate() { + + + /* + Engineer's Decor Blocks + */ + dropSelf(ModBlocks.CLINKER_BRICK_BLOCK.get()); + dropSelf(ModBlocks.CLINKER_BRICK_RECESSED.get()); + dropSelf(ModBlocks.CLINKER_BRICK_VERTICALLY_SLIT.get()); + createSlabItemTable(ModBlocks.CLINKER_BRICK_SLAB); + dropSelf(ModBlocks.CLINKER_BRICK_STAIRS.get()); + dropSelf(ModBlocks.CLINKER_BRICK_STAINED_BLOCK.get()); + createSlabItemTable(ModBlocks.CLINKER_BRICK_STAINED_SLAB); + dropSelf(ModBlocks.CLINKER_BRICK_STAINED_STAIRS.get()); + dropSelf(ModBlocks.CLINKER_BRICK_SASTOR_CORNER_BLOCK.get()); + dropSelf(ModBlocks.CLINKER_BRICK_WALL.get()); + + dropSelf(ModBlocks.SLAG_BRICK_BLOCK.get()); + createSlabItemTable(ModBlocks.SLAG_BRICK_SLAB); + dropSelf(ModBlocks.SLAG_BRICK_WALL.get()); + dropSelf(ModBlocks.SLAG_BRICK_STAIRS.get()); + + dropSelf(ModBlocks.REBAR_CONCRETE_BLOCK.get()); + createSlabItemTable(ModBlocks.REBAR_CONCRETE_SLAB); + dropSelf(ModBlocks.REBAR_CONCRETE_STAIRS.get()); + dropSelf(ModBlocks.REBAR_CONCRETE_WALL.get()); + + dropSelf(ModBlocks.REBAR_CONCRETE_TILE_BLOCK.get()); + createSlabItemTable(ModBlocks.REBAR_CONCRETE_TILE_SLAB); + dropSelf(ModBlocks.REBAR_CONCRETE_TILE_STAIRS.get()); + + dropSelf(ModBlocks.PANZER_GLASS_BLOCK.get()); + createSlabItemTable(ModBlocks.PANZER_GLASS_SLAB); + + dropSelf(ModBlocks.OLD_INDUSTRIAL_WOOD_PLANKS.get()); + createSlabItemTable(ModBlocks.OLD_INDUSTRIAL_WOOD_SLAB); + dropSelf(ModBlocks.OLD_INDUSTRIAL_WOOD_STAIRS.get()); + createDoorTable(ModBlocks.OLD_INDUSTRIAL_WOOD_DOOR); + + dropSelf(ModBlocks.STEEL_TABLE.get()); + dropSelf(ModBlocks.STEEL_CATWALK.get()); + dropSelf(ModBlocks.STEEL_RAILING.get()); + dropSelf(ModBlocks.STEEL_CATWALK_STAIRS.get()); + dropSelf(ModBlocks.STEEL_CATWALK_STAIRS_LR.get()); + dropSelf(ModBlocks.STEEL_CATWALK_STAIRS_RR.get()); + dropSelf(ModBlocks.STEEL_CATWALK_STAIRS_DR.get()); + dropSelf(ModBlocks.STEEL_GRATING.get()); + + dropSelf(ModBlocks.STEEL_GRATING_TOP.get()); + dropSelf(ModBlocks.STEEL_CATWALK_TOP.get()); + + + + } + + private void createDoorTable(RegistryObject blk) + { + var loot = createDoorTable(blk.get()); + + add(blk.get(), loot); + } + + private void createSlabItemTable(RegistryObject slab) + { + var loot = createSlabItemTable(slab.get()); + add(slab.get(), loot); + } + + @Override + protected Iterable getKnownBlocks() { + return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get)::iterator; + } + + + protected LootTable.Builder createCopperOreDrops(Block block, Item rawOre) { + return createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder) this.applyExplosionDecay(block, LootItem.lootTableItem(rawOre).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 5.0F))).apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))); + } + + protected LootTable.Builder createOreDrop(Block block, Item rawOre) { + return createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, LootItem.lootTableItem(rawOre).apply(ApplyBonusCount.addOreBonusCount(Enchantments.BLOCK_FORTUNE)))); + } +} diff --git a/src/main/java/dev/zontreck/essentials/items/ModItems.java b/src/main/java/dev/zontreck/essentials/items/ModItems.java index f696837..f1ea2f0 100644 --- a/src/main/java/dev/zontreck/essentials/items/ModItems.java +++ b/src/main/java/dev/zontreck/essentials/items/ModItems.java @@ -17,4 +17,6 @@ public class ModItems } public static RegistryObject TIME_IN_A_BOTTLE = CreativeModeTabs.addToAETab(REGISTRY.register("tiab", ()->new TimeBottle())); + + public static RegistryObject METAL_BAR = CreativeModeTabs.addToAETab(REGISTRY.register("metal_bar", ()->new Item(new Item.Properties()))); } diff --git a/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_recessed.json b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_recessed.json new file mode 100644 index 0000000..51a849f --- /dev/null +++ b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_recessed.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_recessed_model" + }, + "facing=south": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_recessed_model", + "y": 180 + }, + "facing=west": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_recessed_model", + "y": 270 + }, + "facing=east": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_recessed_model", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_sastor_corner_block.json b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_sastor_corner_block.json new file mode 100644 index 0000000..8cf0fe0 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_sastor_corner_block.json @@ -0,0 +1,25 @@ +{ + "variants": { + "facing=north": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_corner_model" + }, + "facing=south": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_corner_model", + "y": 180 + }, + "facing=west": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_corner_model", + "y": 270 + }, + "facing=east": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_corner_model", + "y": 90 + }, + "facing=up": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_up_model" + }, + "facing=down": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_sastor_down_model" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_vertically_slit.json b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_vertically_slit.json new file mode 100644 index 0000000..1413761 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/blockstates/clinker_brick_vertically_slit.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_vertically_slit_model" + }, + "facing=south": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_vertically_slit_model", + "y": 180 + }, + "facing=west": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_vertically_slit_model", + "y": 270 + }, + "facing=east": { + "model": "ariasessentials:block/engineersdecor/brick/clinker_brick_vertically_slit_model", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/lang/en_us.json b/src/main/resources/assets/ariasessentials/lang/en_us.json index 557f20d..516a5a4 100644 --- a/src/main/resources/assets/ariasessentials/lang/en_us.json +++ b/src/main/resources/assets/ariasessentials/lang/en_us.json @@ -3,6 +3,44 @@ "item.ariasessentials.tiab": "Time in a Bottle", "item.ariasessentials.eiab": "Energy in a Bottle", + "item.ariasessentials.metal_bar": "Metal Bar", + + + "block.ariasessentials.clinker_brick_block": "Clinker Brick Block", + "block.ariasessentials.clinker_brick_wall": "Clinker Brick Wall", + "block.ariasessentials.clinker_brick_recessed": "Recessed Clinker Brick", + "block.ariasessentials.clinker_brick_vertically_slit": "Vertically Slit Clinker Bricks", + "block.ariasessentials.clinker_brick_slab": "Clinker Brick Slab", + "block.ariasessentials.clinker_brick_stairs": "Clinker Brick Stairs", + "block.ariasessentials.clinker_brick_stained_block": "Stained Clinker Brick Block", + "block.ariasessentials.clinker_brick_stained_slab": "Stained Clinker Brick Slab", + "block.ariasessentials.clinker_brick_stained_stairs": "Stained Clinker Brick Stairs", + "block.ariasessentials.clinker_brick_sastor_corner_block": "Sandstone Ornated Clinker Brick", + "block.ariasessentials.slag_brick_block": "Slag Brick Block", + "block.ariasessentials.slag_brick_slab": "Slag Brick Slab", + "block.ariasessentials.slag_brick_stairs": "Slag Brick Stairs", + "block.ariasessentials.slag_brick_wall": "Slag Brick Wall", + "block.ariasessentials.rebar_concrete": "Rebar Concrete Block", + "block.ariasessentials.rebar_concrete_slab": "Rebar Concrete Slab", + "block.ariasessentials.rebar_concrete_stairs": "Rebar Concrete Stairs", + "block.ariasessentials.rebar_concrete_tile": "Rebar Concrete Tile", + "block.ariasessentials.rebar_concrete_tile_slab": "Rebar Concrete Tile Slab", + "block.ariasessentials.rebar_concrete_tile_stairs": "Rebar Concrete Tile Stairs", + "block.ariasessentials.rebar_concrete_wall": "Rebar Concrete Wall", + "block.ariasessentials.panzerglass_block": "Panzer Glass Block", + "block.ariasessentials.panzerglass_slab": "Panzer Glass Slab", + "block.ariasessentials.old_industrial_wood_door": "Old Industrial Wood Door", + "block.ariasessentials.old_industrial_wood_planks": "Old Industrial Wood Planks", + "block.ariasessentials.old_industrial_wood_slab": "Old Industrial Wood Slab", + "block.ariasessentials.old_industrial_wood_stairs": "Old Industrial Wood Stairs", + "block.ariasessentials.steel_floor_grating": "Steel Floor Grating", + "block.ariasessentials.steel_table": "Steel Table", + "block.ariasessentials.steel_catwalk": "Steel Catwalk", + "block.ariasessentials.steel_railing": "Steel Railing", + "block.ariasessentials.steel_catwalk_stairs": "Steel Catwalk Stairs", + "block.ariasessentials.steel_catwalk_stairs_lr": "Steel Catwalk Left Rail", + "block.ariasessentials.steel_catwalk_stairs_rr": "Steel Catwalk Right Rail", + "block.ariasessentials.steel_catwalk_stairs_dr": "Steel Catwalk Double Rail", "key.category.ariasessentials": "Aria's Essentials", "key.ariasessentials.autowalk": "Auto Walk" diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_recessed_model.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_recessed_model.json new file mode 100644 index 0000000..827f66e --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_recessed_model.json @@ -0,0 +1,283 @@ +{ + "parent": "block/block", + "textures": { + "f": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_pole_side", + "s": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture", + "particle": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "d": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0" + }, + "elements": [ + { + "from": [ + 4, + 0, + 11 + ], + "to": [ + 12, + 16, + 13 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + 6 + ] + }, + "faces": { + "east": { + "uv": [ + 3, + 0, + 5, + 16 + ], + "texture": "#d" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#d" + }, + "west": { + "uv": [ + 11, + 0, + 13, + 16 + ], + "texture": "#d" + }, + "up": { + "uv": [ + 4, + 11, + 12, + 13 + ], + "texture": "#s" + }, + "down": { + "uv": [ + 4, + 3, + 12, + 5 + ], + "texture": "#s" + } + } + }, + { + "from": [ + 0, + 0, + 1 + ], + "to": [ + 8, + 16, + 11 + ], + "faces": { + "north": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "west": { + "uv": [ + 1, + 0, + 11, + 16 + ], + "texture": "#d" + }, + "up": { + "uv": [ + 0, + 1, + 8, + 11 + ], + "texture": "#d" + }, + "down": { + "uv": [ + 0, + 5, + 8, + 15 + ], + "texture": "#d" + } + } + }, + { + "from": [ + 8, + 0, + 1 + ], + "to": [ + 16, + 16, + 11 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 16, + 8, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "east": { + "uv": [ + 5, + 0, + 15, + 16 + ], + "texture": "#d" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "up": { + "uv": [ + 8, + 1, + 16, + 11 + ], + "texture": "#d" + }, + "down": { + "uv": [ + 8, + 5, + 16, + 15 + ], + "texture": "#d" + } + } + }, + { + "from": [ + 3, + 0, + 0 + ], + "to": [ + 13, + 16, + 1 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 8, + -3 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 0, + 14, + 16 + ], + "texture": "#d" + }, + "east": { + "uv": [ + 15, + 0, + 16, + 16 + ], + "texture": "#s" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#d" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 16 + ], + "texture": "#s" + }, + "up": { + "uv": [ + 4, + 0, + 12, + 1 + ], + "texture": "#s" + }, + "down": { + "uv": [ + 4, + 15, + 12, + 16 + ], + "texture": "#s" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_corner_model.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_corner_model.json new file mode 100644 index 0000000..186cfe7 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_corner_model.json @@ -0,0 +1,86 @@ +{ + "parent": "block/block", + "textures": { + "d": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_down_texture", + "n": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_side_texture", + "particle": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "s": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "u": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_up_texture" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": "#n", + "cullface": "north" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#n", + "cullface": "east" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#s", + "cullface": "south" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#s", + "cullface": "west" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#u", + "cullface": "up" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#d", + "cullface": "down" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_down_model.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_down_model.json new file mode 100644 index 0000000..b625b6e --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_down_model.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "down": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture", + "up": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "north": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_downplate_side_texture", + "south": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_downplate_side_texture", + "west": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_downplate_side_texture", + "east": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_downplate_side_texture" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_up_model.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_up_model.json new file mode 100644 index 0000000..4460b42 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_sastor_up_model.json @@ -0,0 +1,12 @@ +{ + "parent": "block/cube", + "textures": { + "particle": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "down": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "up": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture", + "north": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_side_texture", + "south": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_side_texture", + "west": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_side_texture", + "east": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_side_texture" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_vertically_slit_model.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_vertically_slit_model.json new file mode 100644 index 0000000..e3ede38 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/brick/clinker_brick_vertically_slit_model.json @@ -0,0 +1,247 @@ +{ + "parent": "block/block", + "textures": { + "f": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_pole_side", + "s": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture", + "particle": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0", + "d": "ariasessentials:block/engineersdecor/clinker_brick/clinker_brick_texture0" + }, + "elements": [ + { + "from": [ + 0, + 0, + 1 + ], + "to": [ + 8, + 16, + 15 + ], + "faces": { + "north": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "west": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": "#d" + }, + "up": { + "uv": [ + 0, + 1, + 8, + 15 + ], + "texture": "#d" + }, + "down": { + "uv": [ + 0, + 1, + 8, + 15 + ], + "texture": "#d" + } + } + }, + { + "from": [ + 8, + 0, + 1 + ], + "to": [ + 16, + 16, + 15 + ], + "faces": { + "north": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "east": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": "#d" + }, + "south": { + "uv": [ + 4, + 0, + 12, + 16 + ], + "texture": "#f" + }, + "up": { + "uv": [ + 8, + 1, + 16, + 15 + ], + "texture": "#d" + }, + "down": { + "uv": [ + 8, + 1, + 16, + 15 + ], + "texture": "#d" + } + } + }, + { + "from": [ + 3, + 0, + 0 + ], + "to": [ + 13, + 16, + 1 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 13, + 16 + ], + "texture": "#d" + }, + "east": { + "uv": [ + 15, + 0, + 16, + 16 + ], + "texture": "#s" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 16 + ], + "texture": "#s" + }, + "up": { + "uv": [ + 3, + 0, + 13, + 1 + ], + "texture": "#s" + }, + "down": { + "uv": [ + 3, + 15, + 13, + 16 + ], + "texture": "#s" + } + } + }, + { + "from": [ + 3, + 0, + 15 + ], + "to": [ + 13, + 16, + 16 + ], + "faces": { + "east": { + "uv": [ + 0, + 0, + 1, + 16 + ], + "texture": "#s" + }, + "south": { + "uv": [ + 3, + 0, + 13, + 16 + ], + "texture": "#d" + }, + "west": { + "uv": [ + 15, + 0, + 16, + 16 + ], + "texture": "#s" + }, + "up": { + "uv": [ + 3, + 15, + 13, + 16 + ], + "texture": "#s" + }, + "down": { + "uv": [ + 3, + 0, + 13, + 1 + ], + "texture": "#s" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk.json new file mode 100644 index 0000000..c6ac363 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk.json @@ -0,0 +1,105 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, -0.25]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 0, 1], + "to": [16, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [15, 1, 16, 15], "texture": "#s"}, + "down": {"uv": [15, 1, 16, 15], "texture": "#s"} + } + }, + { + "from": [0, 0, 15], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 14.75]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + }, + { + "from": [1, 2, 1], + "to": [15, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -6.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#t"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 1, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -7.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 1, 1.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [8, 0, 42], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0.25, 1.25, -3], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -4], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_n.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_n.json new file mode 100644 index 0000000..5d6c90e --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_n.json @@ -0,0 +1,152 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "frame": "ariasessentials:block/engineersdecor/material/steel_texture", + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, -0.25]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 0, 1], + "to": [16, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [15, 1, 16, 15], "texture": "#s"}, + "down": {"uv": [15, 1, 16, 15], "texture": "#s"} + } + }, + { + "from": [0, 0, 15], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 14.75]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + }, + { + "from": [1, 2, 1], + "to": [15, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -6.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#t"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 1, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -7.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"} + } + }, + { + "from": [0, 2, 0], + "to": [1, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "south": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#frame"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "east": {"uv": [15, 0, 16, 1], "texture": "#frame"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#frame"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#frame"} + } + }, + { + "from": [1, 14.5, 0.25], + "to": [15, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 0]}, + "faces": { + "north": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "south": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "up": {"uv": [1, 0.25, 15, 1], "texture": "#frame"}, + "down": {"uv": [1, 15, 15, 15.75], "texture": "#frame"} + } + }, + { + "from": [15, 2, 0], + "to": [16, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "south": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#frame"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 1, 1.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [8, 0, 42], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0.25, 3, -3], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -4], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_ne.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_ne.json new file mode 100644 index 0000000..3f5ae46 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_rail_ne.json @@ -0,0 +1,187 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "frame": "ariasessentials:block/engineersdecor/material/steel_texture", + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, -0.25]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 0, 1], + "to": [16, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [15, 1, 16, 15], "texture": "#s"}, + "down": {"uv": [15, 1, 16, 15], "texture": "#s"} + } + }, + { + "from": [0, 0, 15], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 14.75]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + }, + { + "from": [1, 2, 1], + "to": [15, 2, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -6.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#t"} + } + }, + { + "from": [1, 1, 1], + "to": [15, 1, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -7.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"} + } + }, + { + "from": [0, 2, 0], + "to": [1, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "south": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#frame"} + } + }, + { + "from": [15, 2, 15], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [23, 8, 15.5]}, + "faces": { + "north": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "east": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "south": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "west": {"uv": [15, 1, 16, 14], "texture": "#frame"} + } + }, + { + "from": [0, 15, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "east": {"uv": [15, 0, 16, 1], "texture": "#frame"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#frame"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#frame"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#frame"} + } + }, + { + "from": [15, 15, 1], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 2]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#frame"}, + "east": {"uv": [0, 0, 15, 1], "texture": "#frame"}, + "south": {"uv": [15, 0, 16, 1], "texture": "#frame"}, + "west": {"uv": [1, 0, 16, 1], "texture": "#frame"}, + "up": {"uv": [15, 1, 16, 16], "texture": "#frame"}, + "down": {"uv": [15, 0, 16, 15], "texture": "#frame"} + } + }, + { + "from": [1, 14.5, 0.25], + "to": [15, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 0]}, + "faces": { + "north": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "south": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "up": {"uv": [1, 0.25, 15, 1], "texture": "#frame"}, + "down": {"uv": [1, 15, 15, 15.75], "texture": "#frame"} + } + }, + { + "from": [15, 14.5, 1], + "to": [15.75, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 7, 1]}, + "faces": { + "east": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "west": {"uv": [1, 1, 15, 1.5], "texture": "#frame"}, + "up": {"uv": [15, 1, 15.75, 15], "texture": "#frame"}, + "down": {"uv": [15, 1, 15.75, 15], "texture": "#frame"} + } + }, + { + "from": [15, 2, 0], + "to": [16, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 1, 1, 14], "texture": "#frame"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "south": {"uv": [15, 1, 16, 14], "texture": "#frame"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#frame"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.75, 1.75, 1.25], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "rotation": [20, -59, 15], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, 45, 0], + "translation": [0.25, 0, -3], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -3.5], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs.json new file mode 100644 index 0000000..782fcd8 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs.json @@ -0,0 +1,289 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [1, 2, 15], + "to": [15, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 2, 9], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 4, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 2, 9], + "to": [2, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 3, 9], + "to": [14, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 4, 9], + "to": [14, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [1, 10, 7], + "to": [15, 12, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 10, 1], + "to": [15, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 10, 0], + "to": [15, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 10, 1], + "to": [2, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 11, 1], + "to": [14, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 12, 1], + "to": [14, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [15, -1, 14], + "to": [16, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 14, -1], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.25, 9, -10], + "to": [15.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [0, -1, 14], + "to": [1, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 14, -1], + "to": [1, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.25, 9, -10], + "to": [0.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 2, 1], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "rotation": [-5, -8, 14], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [-0.25, 0, -3], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 0.25, -3.25], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [6, 7, 8, 9, 10, 11] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [12, 13, 14] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "VoxelShapes", + "origin": [8, 8, 8], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_dr.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_dr.json new file mode 100644 index 0000000..aa2384e --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_dr.json @@ -0,0 +1,419 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [1, 2, 15], + "to": [15, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 2, 9], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 4, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 2, 9], + "to": [2, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 3, 9], + "to": [14, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 4, 9], + "to": [14, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [1, 10, 7], + "to": [15, 12, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 10, 1], + "to": [15, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 10, 0], + "to": [15, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 10, 1], + "to": [2, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 11, 1], + "to": [14, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 12, 1], + "to": [14, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [15, -1, 14], + "to": [16, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 14, -1], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.25, 9, -10], + "to": [15.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [0, -1, 14], + "to": [1, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 14, -1], + "to": [1, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.25, 9, -10], + "to": [0.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [15, 19, 14], + "to": [16, 21, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 19, -1], + "to": [16, 21, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.4, 0.25, 14.5], + "to": [15.65, 19.25, 15.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [15.4, 15.25, -0.5], + "to": [15.65, 19.25, 0.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [15.4, 19.25, 0.5], + "to": [15.65, 20.25, 14.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [0, 19, 14], + "to": [1, 21, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 19, -1], + "to": [1, 21, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.4, 0.25, 14.5], + "to": [0.65, 19.25, 15.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [0.4, 15.25, -0.5], + "to": [0.65, 19.25, 0.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [0.4, 19.25, 0.5], + "to": [0.65, 20.25, 14.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 2, 1], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "rotation": [-5, -8, 14], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [-0.25, 0, -3], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 0.25, -3.25], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [6, 7, 8, 9, 10, 11] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [12, 13, 14] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "railing", + "origin": [8, 8, 8], + "color": 0, + "children": [18, 19, 20, 21, 22] + }, + { + "name": "railing", + "origin": [8, 8, 8], + "color": 0, + "children": [23, 24, 25, 26, 27] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_lr.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_lr.json new file mode 100644 index 0000000..abfc91d --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_lr.json @@ -0,0 +1,351 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [1, 2, 15], + "to": [15, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 2, 9], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 4, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 2, 9], + "to": [2, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 3, 9], + "to": [14, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 4, 9], + "to": [14, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [1, 10, 7], + "to": [15, 12, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 10, 1], + "to": [15, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 10, 0], + "to": [15, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 10, 1], + "to": [2, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 11, 1], + "to": [14, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 12, 1], + "to": [14, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [15, -1, 14], + "to": [16, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 14, -1], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.25, 9, -10], + "to": [15.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [0, -1, 14], + "to": [1, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 14, -1], + "to": [1, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.25, 9, -10], + "to": [0.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [0, 19, 14], + "to": [1, 21, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 19, -1], + "to": [1, 21, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.4, 0.25, 14.5], + "to": [0.65, 19.25, 15.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [0.4, 15.25, -0.5], + "to": [0.65, 19.25, 0.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [0.4, 19.25, 0.5], + "to": [0.65, 20.25, 14.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 2, 1], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "rotation": [-5, -8, 14], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [-0.25, 0, -3], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 0.25, -3.25], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [6, 7, 8, 9, 10, 11] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [12, 13, 14] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "railing", + "origin": [8, 8, 8], + "color": 0, + "children": [18, 19, 20, 21, 22] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_rr.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_rr.json new file mode 100644 index 0000000..5ee1a4d --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_stairs_rr.json @@ -0,0 +1,351 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [1, 2, 15], + "to": [15, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 2, 9], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 2, 8], + "to": [15, 4, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 2, 9], + "to": [2, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 3, 9], + "to": [14, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 4, 9], + "to": [14, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [1, 10, 7], + "to": [15, 12, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 16.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 16, 0], "texture": "#s"}, + "down": {"uv": [0, 16, 16, 15], "texture": "#s"} + } + }, + { + "from": [14, 10, 1], + "to": [15, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [7, -4.5, 15.25]}, + "faces": { + "north": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [15, 7, 16, 1], "texture": "#s"}, + "down": {"uv": [15, 15, 16, 9], "texture": "#s"} + } + }, + { + "from": [1, 10, 0], + "to": [15, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -4.5, 9.25]}, + "faces": { + "north": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 0, 16], "texture": "#s"}, + "west": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 16, 16, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 16, 0], "texture": "#s"} + } + }, + { + "from": [1, 10, 1], + "to": [2, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 15.25]}, + "faces": { + "north": {"uv": [1, 14, 0, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 9, 16], "texture": "#s"}, + "south": {"uv": [16, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [7, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 7, 1, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 1, 9], "texture": "#s"} + } + }, + { + "from": [2, 11, 1], + "to": [14, 11, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -5.5, 8.75]}, + "faces": { + "up": {"uv": [2, 1, 14, 7], "texture": "#t"}, + "down": {"uv": [2, 8, 14, 14], "texture": "#t"} + } + }, + { + "from": [2, 12, 1], + "to": [14, 12, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -4.5, 8.75]}, + "faces": { + "up": {"uv": [3, 3, 15, 9], "texture": "#t"}, + "down": {"uv": [2, 9, 14, 15], "texture": "#t"} + } + }, + { + "from": [15, -1, 14], + "to": [16, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 14, -1], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.25, 9, -10], + "to": [15.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [0, -1, 14], + "to": [1, 1, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0, 14, -1], + "to": [1, 16, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [0.25, 9, -10], + "to": [0.75, 11, 11], + "rotation": {"angle": 45, "axis": "x", "origin": [-15, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 0.5, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 0.5, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 0.5, 16], "texture": "#s"} + } + }, + { + "from": [15, 19, 14], + "to": [16, 21, 16], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15, 19, -1], + "to": [16, 21, 1], + "rotation": {"angle": 0, "axis": "x", "origin": [0, 0, 1]}, + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 0, 1, 2], "texture": "#s"} + } + }, + { + "from": [15.4, 0.25, 14.5], + "to": [15.65, 19.25, 15.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [15.4, 15.25, -0.5], + "to": [15.65, 19.25, 0.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + }, + { + "from": [15.4, 19.25, 0.5], + "to": [15.65, 20.25, 14.5], + "faces": { + "north": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 0, 0.25, 16], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 0.25, 1], "texture": "#s"}, + "down": {"uv": [0, 0, 0.25, 1], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 2, 1], + "scale": [0.2, 0.2, 0.2] + }, + "firstperson_righthand": { + "rotation": [-5, -8, 14], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, -45, 0], + "translation": [-0.25, 0, -3], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, 0.25, -3.25], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5] + }, + { + "name": "step", + "origin": [8, 8, 8], + "color": 0, + "children": [6, 7, 8, 9, 10, 11] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [12, 13, 14] + }, + { + "name": "bar", + "origin": [15.40625, 8, 8], + "color": 0, + "children": [15, 16, 17] + }, + { + "name": "railing", + "origin": [8, 8, 8], + "color": 0, + "children": [18, 19, 20, 21, 22] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_top.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_top.json new file mode 100644 index 0000000..9997eb8 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_catwalk_top.json @@ -0,0 +1,119 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "ambientocclusion": false, + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "s": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_side", + "t": "ariasessentials:block/engineersdecor/furniture/steel_catwalk_top" + }, + "elements": [ + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, -0.25]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 14, 1], + "to": [16, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [15, 1, 16, 15], "texture": "#s"}, + "down": {"uv": [15, 1, 16, 15], "texture": "#s"} + } + }, + { + "from": [0, 14, 15], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -6.5, 14.75]}, + "faces": { + "north": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "east": {"uv": [0, 14, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#s"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 14, 1], + "to": [1, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -6.5, 0.75]}, + "faces": { + "east": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "west": {"uv": [1, 14, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + }, + { + "from": [1, 16, 1], + "to": [15, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -6.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#t"} + } + }, + { + "from": [1, 15, 1], + "to": [15, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-6, -7.5, 0.75]}, + "faces": { + "up": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"}, + "down": {"uv": [1, 1, 15, 15], "rotation": 90, "texture": "#t"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [70, -2, 3], + "translation": [0.25, 1, 1.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [8, 0, 42], + "translation": [8.5, 0, -5.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.3, 0.3, 0.3] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0.25, 1.25, -3], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "rotation": [-90, 0, 0], + "translation": [0, 0, -4], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + { + "name": "VoxelShapes", + "origin": [8, 8, 8], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating.json new file mode 100644 index 0000000..da4aad3 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating.json @@ -0,0 +1,203 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "s": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "t": "ariasessentials:block/engineersdecor/furniture/steel_table_top_texture" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 2, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#t"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 2, 1], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#t"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 0, 0.75], + "to": [16, 2, 15.25], + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "south": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "up": {"uv": [15, 0.75, 16, 15.25], "texture": "#t"}, + "down": {"uv": [15, 0.75, 16, 15.25], "texture": "#s"} + } + }, + { + "from": [1, 1, 13.625], + "to": [15, 2, 14.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "up": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"}, + "down": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"} + } + }, + { + "from": [1, 1, 12.125], + "to": [15, 2, 12.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "up": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"}, + "down": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"} + } + }, + { + "from": [1, 1, 10.625], + "to": [15, 2, 11.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "up": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"}, + "down": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"} + } + }, + { + "from": [1, 1, 9.125], + "to": [15, 2, 9.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "up": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"}, + "down": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"} + } + }, + { + "from": [1, 1, 7.625], + "to": [15, 2, 8.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "up": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"}, + "down": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"} + } + }, + { + "from": [1, 1, 6.125], + "to": [15, 2, 6.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "up": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"}, + "down": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"} + } + }, + { + "from": [1, 1, 4.625], + "to": [15, 2, 5.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "up": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"}, + "down": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"} + } + }, + { + "from": [1, 1, 3.125], + "to": [15, 2, 3.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "up": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"}, + "down": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"} + } + }, + { + "from": [1, 1, 1.625], + "to": [15, 2, 2.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "up": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"}, + "down": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 2, 15], + "faces": { + "north": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#t"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [66, 0, 0], + "translation": [0.25, 0, -2.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-4, -1, 58], + "translation": [2.5, 0.25, 1.75], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -2, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 1], + "translation": [0, 0.25, 3.25], + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating_top.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating_top.json new file mode 100644 index 0000000..a1770bb --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_floor_grating_top.json @@ -0,0 +1,224 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "s": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "t": "ariasessentials:block/engineersdecor/furniture/steel_table_top_texture" + }, + "elements": [ + { + "from": [0, 14, 15], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 15, 16, 16], "texture": "#t"}, + "down": {"uv": [0, 0, 16, 1], "texture": "#s"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 1], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#t"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#s"} + } + }, + { + "from": [15, 14, 0.75], + "to": [16, 16, 15.25], + "faces": { + "north": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "east": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "south": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0.75, 0, 15.25, 2], "texture": "#s"}, + "up": {"uv": [15, 0.75, 16, 15.25], "texture": "#t"}, + "down": {"uv": [15, 0.75, 16, 15.25], "texture": "#s"} + } + }, + { + "from": [1, 15, 13.625], + "to": [15, 16, 14.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "up": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"}, + "down": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 12.125], + "to": [15, 16, 12.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "up": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"}, + "down": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 10.625], + "to": [15, 16, 11.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "up": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"}, + "down": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 9.125], + "to": [15, 16, 9.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "up": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"}, + "down": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 7.625], + "to": [15, 16, 8.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [7.625, 0.125, 8.375, 1], "texture": "#s"}, + "up": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"}, + "down": {"uv": [1, 7.625, 15, 8.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 6.125], + "to": [15, 16, 6.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [9.125, 0.125, 9.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [6.125, 0.125, 6.875, 1], "texture": "#s"}, + "up": {"uv": [1, 6.125, 15, 6.875], "texture": "#t"}, + "down": {"uv": [1, 9.125, 15, 9.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 4.625], + "to": [15, 16, 5.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [10.625, 0.125, 11.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [4.625, 0.125, 5.375, 1], "texture": "#s"}, + "up": {"uv": [1, 4.625, 15, 5.375], "texture": "#t"}, + "down": {"uv": [1, 10.625, 15, 11.375], "texture": "#t"} + } + }, + { + "from": [1, 15, 3.125], + "to": [15, 16, 3.875], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [12.125, 0.125, 12.875, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [3.125, 0.125, 3.875, 1], "texture": "#s"}, + "up": {"uv": [1, 3.125, 15, 3.875], "texture": "#t"}, + "down": {"uv": [1, 12.125, 15, 12.875], "texture": "#t"} + } + }, + { + "from": [1, 15, 1.625], + "to": [15, 16, 2.375], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8.125, 8.375]}, + "faces": { + "north": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "east": {"uv": [13.625, 0.125, 14.375, 1], "texture": "#s"}, + "south": {"uv": [1, 0.125, 15, 1], "texture": "#s"}, + "west": {"uv": [1.625, 0.125, 2.375, 1], "texture": "#s"}, + "up": {"uv": [1, 1.625, 15, 2.375], "texture": "#t"}, + "down": {"uv": [1, 13.625, 15, 14.375], "texture": "#t"} + } + }, + { + "from": [0, 14, 1], + "to": [1, 16, 15], + "faces": { + "north": {"uv": [15, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 1, 2], "texture": "#s"}, + "west": {"uv": [1, 0, 15, 2], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 15], "texture": "#t"}, + "down": {"uv": [0, 1, 1, 15], "texture": "#s"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [66, 0, 0], + "translation": [0.25, 0, -2.75], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-4, -1, 58], + "translation": [2.5, 0.25, 1.75], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -2, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [-90, 0, 1], + "translation": [0, 0.25, 3.25], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + { + "name": "VoxelShapes", + "origin": [8, 8, 8], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_railing.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_railing.json new file mode 100644 index 0000000..f8b6504 --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_railing.json @@ -0,0 +1,86 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "ariasessentials:block/engineersdecor/material/steel_texture", + "particle": "ariasessentials:block/engineersdecor/material/steel_texture" + }, + "elements": [ + { + "from": [0.25, 15, 0.25], + "to": [15.75, 16, 1.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#0"} + } + }, + { + "from": [14.75, 0.25, 0.25], + "to": [15.75, 15, 1.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [0, 1, 1, 14], "texture": "#0"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#0"}, + "south": {"uv": [15, 1, 16, 14], "texture": "#0"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [1.25, 14.5, 0.25], + "to": [14.75, 15, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 7, 0]}, + "faces": { + "north": {"uv": [1, 1, 15, 1.5], "texture": "#0"}, + "south": {"uv": [1, 1, 15, 1.5], "texture": "#0"}, + "up": {"uv": [1, 0.25, 15, 1], "texture": "#0"}, + "down": {"uv": [1, 15, 15, 15.75], "texture": "#0"} + } + }, + { + "from": [0.25, 0.25, 0.25], + "to": [1.25, 15, 1.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0.5]}, + "faces": { + "north": {"uv": [15, 1, 16, 14], "texture": "#0"}, + "east": {"uv": [15, 1, 16, 14], "texture": "#0"}, + "south": {"uv": [0, 1, 1, 14], "texture": "#0"}, + "west": {"uv": [0, 1, 1, 14], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + } + ], + "display": { + "ground": { + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [0, -36, 0], + "translation": [-4, -1, 0], + "scale": [0.72, 0.74, 1] + }, + "head": { + "translation": [0, 2.5, 7] + }, + "fixed": { + "translation": [0, -0.25, 7], + "scale": [0.8, 0.75, 1] + } + }, + "groups": [ + 0, + 1, + 2, + 3, + { + "name": "VoxelShapes", + "origin": [8, 8, 0.5], + "color": 0, + "children": [] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_table.json b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_table.json new file mode 100644 index 0000000..c57aa3e --- /dev/null +++ b/src/main/resources/assets/ariasessentials/models/block/engineersdecor/furniture/steel_table.json @@ -0,0 +1,386 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "render_type": "cutout", + "textures": { + "particle": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "s": "ariasessentials:block/engineersdecor/furniture/steel_table_side_texture", + "t": "ariasessentials:block/engineersdecor/furniture/steel_table_top_texture" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [2, 14, 1], + "faces": { + "north": {"uv": [14, 2, 16, 16], "texture": "#s"}, + "east": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "south": {"uv": [0, 2, 2, 16], "texture": "#s"}, + "west": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "up": {"uv": [0, 0, 2, 1], "texture": "#s"}, + "down": {"uv": [0, 15, 2, 16], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [14, 0, 0], + "to": [16, 14, 1], + "faces": { + "north": {"uv": [0, 2, 2, 16], "texture": "#s"}, + "east": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "south": {"uv": [14, 2, 16, 16], "texture": "#s"}, + "west": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "up": {"uv": [14, 0, 16, 1], "texture": "#s"}, + "down": {"uv": [14, 15, 16, 16], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [14, 0, 15], + "to": [16, 14, 16], + "faces": { + "north": {"uv": [0, 2, 2, 16], "texture": "#s"}, + "east": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "south": {"uv": [14, 2, 16, 16], "texture": "#s"}, + "west": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "up": {"uv": [14, 15, 16, 16], "texture": "#s"}, + "down": {"uv": [14, 0, 16, 1], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 15], + "to": [2, 14, 16], + "faces": { + "north": {"uv": [14, 2, 16, 16], "texture": "#s"}, + "east": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "south": {"uv": [0, 2, 2, 16], "texture": "#s"}, + "west": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "up": {"uv": [0, 15, 2, 16], "texture": "#s"}, + "down": {"uv": [0, 0, 2, 1], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 14], + "to": [1, 14, 15], + "faces": { + "north": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "east": {"uv": [1, 2, 2, 16], "texture": "#s"}, + "south": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "west": {"uv": [14, 2, 15, 16], "texture": "#s"}, + "up": {"uv": [0, 14, 1, 15], "texture": "#s"}, + "down": {"uv": [0, 1, 1, 2], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 14, 2], + "faces": { + "north": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "east": {"uv": [14, 2, 15, 16], "texture": "#s"}, + "south": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "west": {"uv": [1, 2, 2, 16], "texture": "#s"}, + "up": {"uv": [0, 1, 1, 2], "texture": "#s"}, + "down": {"uv": [0, 14, 1, 15], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [15, 0, 1], + "to": [16, 14, 2], + "faces": { + "north": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "east": {"uv": [14, 2, 15, 16], "texture": "#s"}, + "south": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "west": {"uv": [1, 2, 2, 16], "texture": "#s"}, + "up": {"uv": [15, 1, 16, 2], "texture": "#s"}, + "down": {"uv": [15, 14, 16, 15], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [15, 0, 14], + "to": [16, 14, 15], + "faces": { + "north": {"uv": [0, 2, 1, 16], "texture": "#s"}, + "east": {"uv": [1, 2, 2, 16], "texture": "#s"}, + "south": {"uv": [15, 2, 16, 16], "texture": "#s"}, + "west": {"uv": [14, 2, 15, 16], "texture": "#s"}, + "up": {"uv": [15, 14, 16, 15], "texture": "#s"}, + "down": {"uv": [15, 1, 16, 2], "texture": "#s", "cullface": "down"} + } + }, + { + "from": [0, 14, 14], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [14, 0, 16, 2], "texture": "#s"}, + "up": {"uv": [0, 14, 16, 16], "texture": "#t"}, + "down": {"uv": [0, 0, 16, 2], "texture": "#s"} + } + }, + { + "from": [0, 14, 0], + "to": [16, 16, 2], + "faces": { + "north": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [14, 0, 16, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "up": {"uv": [0, 0, 16, 2], "texture": "#t"}, + "down": {"uv": [0, 14, 16, 16], "texture": "#s"} + } + }, + { + "from": [14, 14, 2], + "to": [16, 16, 14], + "faces": { + "north": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "east": {"uv": [2, 0, 14, 2], "texture": "#s"}, + "south": {"uv": [14, 0, 16, 2], "texture": "#s"}, + "west": {"uv": [2, 0, 14, 2], "texture": "#s"}, + "up": {"uv": [14, 2, 16, 14], "texture": "#t"}, + "down": {"uv": [14, 2, 16, 14], "texture": "#s"} + } + }, + { + "from": [2, 15.5, 12.75], + "to": [14, 16, 13.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [2.75, 0, 3.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [12.75, 0, 13.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 12.75, 14, 13.25], "texture": "#t"}, + "down": {"uv": [2, 2.75, 14, 3.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 13.75], + "to": [14, 16, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [2, 0, 2.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [13.75, 0, 14, 0.5], "texture": "#s"}, + "up": {"uv": [2, 13.75, 14, 14], "texture": "#t"}, + "down": {"uv": [2, 2, 14, 2.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 11.75], + "to": [14, 16, 12.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [3.75, 0, 4.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [11.75, 0, 12.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 11.75, 14, 12.25], "texture": "#t"}, + "down": {"uv": [2, 3.75, 14, 4.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 10.75], + "to": [14, 16, 11.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [4.75, 0, 5.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [10.75, 0, 11.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 10.75, 14, 11.25], "texture": "#t"}, + "down": {"uv": [2, 4.75, 14, 5.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 9.75], + "to": [14, 16, 10.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [5.75, 0, 6.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [9.75, 0, 10.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 9.75, 14, 10.25], "texture": "#t"}, + "down": {"uv": [2, 5.75, 14, 6.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 8.75], + "to": [14, 16, 9.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [6.75, 0, 7.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [8.75, 0, 9.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 8.75, 14, 9.25], "texture": "#t"}, + "down": {"uv": [2, 6.75, 14, 7.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 7.75], + "to": [14, 16, 8.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [7.75, 0, 8.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [7.75, 0, 8.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 7.75, 14, 8.25], "texture": "#t"}, + "down": {"uv": [2, 7.75, 14, 8.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 6.75], + "to": [14, 16, 7.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [8.75, 0, 9.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [6.75, 0, 7.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 6.75, 14, 7.25], "texture": "#t"}, + "down": {"uv": [2, 8.75, 14, 9.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 5.75], + "to": [14, 16, 6.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [9.75, 0, 10.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [5.75, 0, 6.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 5.75, 14, 6.25], "texture": "#t"}, + "down": {"uv": [2, 9.75, 14, 10.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 4.75], + "to": [14, 16, 5.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [10.75, 0, 11.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [4.75, 0, 5.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 4.75, 14, 5.25], "texture": "#t"}, + "down": {"uv": [2, 10.75, 14, 11.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 3.75], + "to": [14, 16, 4.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [11.75, 0, 12.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [3.75, 0, 4.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 3.75, 14, 4.25], "texture": "#t"}, + "down": {"uv": [2, 11.75, 14, 12.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 2.75], + "to": [14, 16, 3.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [12.75, 0, 13.25, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [2.75, 0, 3.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 2.75, 14, 3.25], "texture": "#t"}, + "down": {"uv": [2, 12.75, 14, 13.25], "texture": "#t"} + } + }, + { + "from": [2, 15.5, 2], + "to": [14, 16, 2.25], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8.25]}, + "faces": { + "north": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "east": {"uv": [13.75, 0, 14, 0.5], "texture": "#s"}, + "south": {"uv": [2, 0, 14, 0.5], "texture": "#s"}, + "west": {"uv": [2, 0, 2.25, 0.5], "texture": "#s"}, + "up": {"uv": [2, 2, 14, 2.25], "texture": "#t"}, + "down": {"uv": [2, 13.75, 14, 14], "texture": "#t"} + } + }, + { + "from": [0, 14, 2], + "to": [2, 16, 14], + "faces": { + "north": {"uv": [14, 0, 16, 2], "texture": "#s"}, + "east": {"uv": [2, 0, 14, 2], "texture": "#s"}, + "south": {"uv": [0, 0, 2, 2], "texture": "#s"}, + "west": {"uv": [2, 0, 14, 2], "texture": "#s"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#t"}, + "down": {"uv": [0, 2, 2, 14], "texture": "#s"} + } + }, + { + "from": [14, 13.5, 14], + "to": [15, 14, 15], + "faces": { + "north": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "east": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "south": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "west": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "up": {"uv": [14, 14, 15, 15], "texture": "#s"}, + "down": {"uv": [14, 1, 15, 2], "texture": "#s"} + } + }, + { + "from": [1, 13.5, 14], + "to": [2, 14, 15], + "faces": { + "north": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "east": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "south": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "west": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "up": {"uv": [1, 14, 2, 15], "texture": "#s"}, + "down": {"uv": [1, 1, 2, 2], "texture": "#s"} + } + }, + { + "from": [14, 13.5, 1], + "to": [15, 14, 2], + "faces": { + "north": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "east": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "south": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "west": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "up": {"uv": [14, 1, 15, 2], "texture": "#s"}, + "down": {"uv": [14, 14, 15, 15], "texture": "#s"} + } + }, + { + "from": [1, 13.5, 1], + "to": [2, 14, 2], + "faces": { + "north": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "east": {"uv": [14, 2, 15, 2.5], "texture": "#s"}, + "south": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "west": {"uv": [1, 2, 2, 2.5], "texture": "#s"}, + "up": {"uv": [1, 1, 2, 2], "texture": "#s"}, + "down": {"uv": [1, 14, 2, 15], "texture": "#s"} + } + } + ], + "display": { + "ground": { + "translation": [0, 1.75, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_pole_side.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_pole_side.png new file mode 100644 index 0000000000000000000000000000000000000000..52ffba40a79ba485a1f2dcb5a31e276c1d8b73da GIT binary patch literal 568 zcmV-80>}M{P)w~QLNf;bYnfSQZ&{ROGR!R0Nw{8Kr2b26paHVCC+=S^Jpaj(DUc7060E6Bpy#` z?(g`1^ONB@K03r2L-ugKm+SH6HvsZQL=OBaD(2aUWmy3*)|z~w0VqRYRn^SWHusO8 zpf7IMoJ=yXu5Z1%%UM-*|9mh?=;#XI%Cz~jlSgQP(m2vcalJ13pXx#3&3!?l6%RH= ztE#594jo147w_Kpo6ZKCfu0HQ*Y4?nna;m_W&$kBidj0sHx0L!l8AtaqW--pD-M)I z2!TP6FElxzJ6NT0EU74rBa2!WIxfqy;(A?Bj1mNpMhdKLZ=u^=TSu~y=y$aR*TJl< ztB-?8|dwIUMd3W#sJkjRjEBRv7x&ZhPm=G`P)}7&4VmsdAz?H@4&Jn8C@7 zW5T~(pQB&*JNMZ7`1W-U5JWNZtk1!4fJ2T3RyvJ><}7;7S{GY>ZKw0dPMFIcYVw3&!DsL>FSu^GS5Z<9tEKD@@ZkG5RTx=!_`M zn8pbJ*6q!84shIQQ}=w9^BI30pD539r;Scin$KSRqYH0106>i-YR&rGbqw?5?h9%p z07xqO>SYgMnAX<>c$g`saY7gPHJNefGDyyZ-a^EOoL_U1aTGFN%a%(kdgvumiiqUkz_^!_Jm zV71DK!WnMMC)1k0^a>+ZTynEy00000NkvXX Hu0mjf2*m}A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_side_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_side_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf1e53a88e2dd8e019c77046beacea22e3c1b43 GIT binary patch literal 635 zcmV->0)+jEP)1V8{fit)~&&&E?q>j2oz+LYFDemP|`YXLASN=ob4_5mR! zN=k%~07xm(w;wzL;MV3k0FMt}^XvR~{c^iH6H*X-z`A*LS%H-3tk(r#(l<=1EN-L; zgS?=#f57ng6O+DXQVksB1>4UKQCgF(w9zNSFAL>>qG>{E=Z#UP*_tkB~~@y+=w(AYiTi*8_l``E20;)VU1uf~^oh z2$a^CD5lJ(i#0B}OY68(?R`{G^NxxVfO|lcqd~OrFHCP?b?B6-Sq)i6qqQ!-h-tJO%HUMVT{Jk=V)Vy;smKQe*iz0 V4{rj6&SC%n002ovPDHLkV1n*n6rlhB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_up_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_corner_up_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..74a9b832251716e54fd555fe27de4819c47ab9e5 GIT binary patch literal 621 zcmV-z0+RiSP)=zZrc>s2^9DKvb zI%uUh-%vCSp$U9=^^#ahf{@%fctik<(TL-t!vJt?dy6E?nT$uAo&RAzqpu&))8Pf^ZXTy1SIs5PDayV!4#CJ7^B*lM>JPb_X?iQ)+7Eb{cC z;QD48W*7iJM08++;5Ku`b#?B8Yl?hO}Rfg&K3 zS~#&wxkXU+BqjXY1At%kgqDh@&&<3GYE8eW=q%^XO?~u>3IO9gH-Mow3^iQYNMW|m z^CZh>d%8do$47@@m3fu-e?5`*^b=)oW7>t49;lr?vhE2&Dasyed$K@So&D^Xz6h=i`c0#%uE=%h&f{m3g%X^9Axe{>a$M*u_BBiqg#D*F0${ zuWD5KqO?ZbynE~RF$0w+z+PYcpo@yWe&Mh&=lNKmaR{v|W>eD*f@q?MnmGXY6>o|R zK;_FUPMC&k26a8lb~z}SPq%!Fgh#w}Pm24_RB?TE>6*+<-v8x9nY$lElXj7X#+>!p zkYGGQXiYR>Z%$NwboIq4cVj%-(5Ypl>52Gw^TFkLj+7E11kO1;&%;`alo9~v96|_$ z5LjC@D{EC4F3F6=ScC8Tkmn#J%JWd#C(mXBI;R=ZYrOF$m$&;kw31|^D6(ujgOF%&yDkL{4jKC672$7I&#a{2u&dd(Q+RJ8H zal1Qb=4!rkk9hy~O^CF{TZ_^?yt7CZu`gQ`=r{%;>N7$BsNPh4KuC!X9;CoKj}QW1 zdZdgf%M$NBaj%Cp1^@vFA&|xt6vhw&1n()GLrO^*N}?zNQC(C@;jKkVNfar{5b$M* z`tki607v5yaWbUX-0|!7H_bX4k8sv<@bK|Jx=LnK0MfZ81r}M(qd}iVmNPj!XLZnpGPR1aF^2ID+RYs9-(FGCkIPh`tBax&|gj7Q9- z1%pOL+MX!mJY7SK^PD8ZIs;vLoD92j&}MGuV6OrE0VE1B1a^-(MgRZ+07*qoM6N<$ Ef{J4G@&Et; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_sastor_upplate_top_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..79086c706dceaf92c5e2c4e576ceabfc7d1060e9 GIT binary patch literal 515 zcmV+e0{s1nP)i`uRf{QmqTGm(Lt zanFUj@5d6YNoIl>;l}-SbA5auHLg?9+z1cmJu$!z0!g?TwH5&Lo`gF!Ctx_?L?&iN zRblSrNUHupeH(=D%I>Vw*i}uhg(TFCov!M}%r+GXwU}Qw2DlprWCp2j1gyERXNc{% zJ7%_jcL3H}Afe5MwF<|KI0Mp|>@(r+X01hpo(MliCs>fW#= z%nV7dnW}12-9a<1u`jES54I8R`+k$nj5i)l`$hZ zFjp1Kx%Z)J^UDN@`_I>ZrotV%u?W%*$48b2eqI-X4f#m>z^#L literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture0.png new file mode 100644 index 0000000000000000000000000000000000000000..913f102db4c457dfd6ec9802c92d9dd401ffbb98 GIT binary patch literal 785 zcmV+s1Md8ZP)Rar@ zu^nfSA{Gc(j97pW5+i}cl1E^JSg}K_MqosID!kYpve4(B~} zvqq&U!=nm-*=#~o1u{PUg~7gM)peYF_=w40m-zWVc;|6x!rE8{Sw`j^Cm(#o;Lj&` z1nycMMqcR-sU$%g1n{r6R4S$Gdx$-iO3~i2Yz^ZyWv(ryO4)gTFt}|s!dh(T8Jd=j z>DU+;6*)v`%mK8%?@`r&wdsJIcu%5u{N)$1iXBOka5OzfD#@~56Jw-vj{F|m@nl4K zJOZP6xu|j8p`=6>SI;;tOAx^A4UINT%YwyT6W@H7;`t>qQ`jp=WlEzB2R+!{o zkdm0^02m)Aha<#K-+deFX7hS20OzwQNl_8ILx(RH&8wXA^9iaN&;$PgaR6??Zxz$e P00000NkvXXu0mjfGsj!k literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture1.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture1.png new file mode 100644 index 0000000000000000000000000000000000000000..946aace845b649ca4fc84dfe2c94332b234195d4 GIT binary patch literal 771 zcmV+e1N{7nP)lA(+=%!CT)Ohlh!9*%5DW$pg9b*8W|G$KuBxt& z_w%~wOyhyOxm>vCoO`bN^5Q-5B5b;z?2We={q_?Df(ObV92W!X-cTFI?eq6(F7KhT zj2k4IzNa<@=OeckGp_2EYa7`HL4c|^2p}S)Ny4w2n%3Gw>8E9b4S@*U86VR+PwPA{ zWjO$ibGR4)5WvOAs_wYysLwzCNB~}aWr^ekZddbcwMM<5nCX<|;*7TI7@kaVP0f0} zMF2$5JiHIU;~ydbE>VoL4C6e@^9z3e_8ZDHVR3SV1=gKmIvh~<7XR8E^k0o(oG5x@ z_ogHXW!PatV1aPmcI0V7IdJm`QtG~0!nKd>qwQt$H49L3);(jI3PU9sR3Q~1{Cyeukj!2 zILb7Y7y4btah~B~ptGLWfvc)zG8$lF4}gBwbO7wE=ay1by=Bw(3^UCn&!~Ds8Y3|V z^6@dI>*%6K4~GEz94zLiw0#eGfomJK+X{f;U~teppP!PCk8!)2^}2i!E71PYk39M1 zFh@X`6a{~lHQAf*kUV-wAB8Jmgs^iCuTuJ|;_e3@qMud`Cq+(YJSgxYbk?JkVm6!d z^JR%nQ}CWD?zbY5)&~U8J_K6l@v={%_mMhAj1Od^F>Pni3KFI8QAiX7Ac`=aOi^Ed z@u^%t|M!sn8!Q)R*hGWbyZ!(FSjK0)3@5Cp-A22lx`3<9A;=-6#nRae!$b^p$H z&T&vlaL@NQSbKfyyHD;XNr}sC!O?r~_Wg<3qVYXm=c&yhbLQav|ZZg&8*B24=|oVAp1y@P$U z+%oCq*t$hx0${Um5h4kAyxcIz99AhBFDM|OSnn(DozAe<7?jc|tytGJ#Dr3cS_1iS zL?BUlPi_sPevVU$ZQIgHz_|?d;G3_~#fz6H4oN9-x|mTl9fP9@zAACfa=YFkL9oWY z;bI3vZ1wBUjC^F%Hk^F$5f?vv&kFD{p|z$Bf!r9p_q_Y*XI%XBBgPoo+%X^ZvA1X`5Atfp=+*OL&3q?#gqp?a6 zVnT?72zD@}3xQl~GUsR|9z3{nHfP^7koBpy8F3#j ziGT73+h;i_xGrnT&NJ!vsJw@_@1dVP!7Ib+)xk!DJL4ff2JW7JjDE2xxhhI7Hzg7R zBWu_WWTP=%SpaZ-vwrg*v)M6jIKnx{e=N&~6t-It2mk;8 M07*qoM6N<$f@CsXf&c&j literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture3.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture3.png new file mode 100644 index 0000000000000000000000000000000000000000..2009db0c75b2b01b01c8559fa915ab6645dfc772 GIT binary patch literal 790 zcmV+x1L^#UP)!1FijqJuCUr^Ybk(`+bI$(v zc2IGk-*mx(#ro7Y@4pi(FKn9z|I({WFa97SB7jOWBt(o>tg4#l-#w!J@q2=?02r;X zi?Tv1Mb!$2lQE|!6?<9AC^dAoBQqL+Adz00a{R2|VA#iMg;5H-E*m=W_z15b&N=a( zPJ|Hq09?i}}qeU?Ry zyz(0Mm+K9~#A0+!L;+c20?KPXSWH=h&Md*#j6wh+3 zF>E#kqkf;n8mzI*W>f57h^>Bj!W39mHP1ahqWSeFTvS*hh0$!9j%hE0w&mdQ5z8mv z5t4+Z(cI~0*xWT3t#Ce|fHp#mfEC=&_daH>ds>?iwb~ksxv5_A*@Oxp6H81N)v*P1f@`4e)dUx@r5~+b0ottUAZOCH~dTI1uw$> z{)A*O#8)L{QSBsB3Tw`e$czG#K_CDDW}IB6aGu?8ZNgLbEC0ZDJn0tKA<#MwUem}kz_Dp zRaUqz;s3-CNCso>GUqPKLiE;0Ou-j U&W)>>O#lD@07*qoM6N<$f+HkjGXMYp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture4.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture4.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a9510344e86fd3bd789afaa8f8f20d3b101ede GIT binary patch literal 802 zcmV+-1Ks?IP); z6Ilv~86_ZONI8>ICIc=;s@5Zfz*~p-`isvqz`gMZUG@ld#p~-80w_BMfP;exwy|{g z#`t>6YPBH)S}JsU{)}PQU{5swYu7R|9V+KI`1n&^AOA{yQhN~~2!=L`{?!Y&+H+%wk?CBN2ouJS-un~GEqu)&NDCu?;USF`h?$}KIQ$x z3C*d-D1qL!9-9(ABm{6_J;RQs@eu?lA+Ry9YFh3CE@n<{wgAjWef0URCgx1-1Mg_X z>J7kwF?5vVvTg_|6H@|H(!_{wEW?h$`iS`9t1t6>Hl?x_(;q@>SzImwXxjFU{B%0T z^oRIr%lTqS*(q+B_`m+-`c;Qa=5$+=q(G$1<+ft}@QB{Y3xZVGGl>OOwxw?jZSYKw zK182wDn{MFrg4N6i5W9Egaa*vbej)Bp%{;mvd@GN!>_X~w~A#&5)RuxK;d_+sh zvTk^HZ^W{;)Lz|%l@Mqth$%6i&Ja(&`zBvpE=lqKrzs_w&!(8c9=n^{{TEl)h&TT1 gaG#<-pePFd1;mJlj4uQR;s5{u07*qoM6N<$g2(`K82|tP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture5.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture5.png new file mode 100644 index 0000000000000000000000000000000000000000..00aa4e48c8bcfdea799857faf8a05eaf6f9b0dc2 GIT binary patch literal 796 zcmV+%1LOROP)fVAlOW z+4lGlnH}u${G?{Kv%|GqgS80Ihe+=N3OHF++?b3oi9#ubxompsen6p!X-;W9jjOpS z1prt5fQ=Cl-qRW{!r+DF&~Hl~fAvUW6z20OlI9F`$=Py^0`e@yXw9vo>y%Z+W&c3(aNAUVqcxU3qEi!rb3mcs|1QT_T0&FKq7gmWM0y<78e|a~HEH zTi%(BX}W|ba*bsPiRg-DWbd+O5WYY~qi5Qcio_zO>oG(`l)-qU!NMttK$7n-3F32R{LtuHa zq8}W2mIA`@ts~61z;sW4Vi(2hre%8n0ndN@fl?b9Ysqv%qBY~x@TRQ!;ERXI$#0+% z%F_i!sxj-%q7=xM6sUw%*P$XL3cL$%G3R;4-@PL@2}2CDF2S5NEdZ?x>?_4p+mWUk zK|mBf1`-4SGb$(t%Q&Vq1om=+di>=hdH41ay|qZ1lu)+Rm|-{VZeC5A1#PDdw#1 z*wG2gs-+$r0C}SDL6{#-`R7l|#K-Lshru$Dm0vsYo47=up#Wj*NsLyhl}vctfVoH7y>ea zk_kQpR!xsok_vDkplx8&Yak*%|M2|?P#%;FBrx=JZI6#!3I*W&9^_i@EBgqY^JJ3(Z9NyR zW11-r^DzS0^qSs!(lkSS_1VYq?0kg}0p~o{ITnjK##+)zK`tUnN;aD<)_cZThIO7v zF(EHY)af^0;{#-wq`Z4V_~{42ql7XMIGL~=ELA=xXiahVgy#G2nB*hQTFr7cMYYB; z%`nHBaDndf>Vrc-ea{I?bU>Fy3>~cBs~Sc6G<#Je3fvb`4j+^Yij4 zmmmb`q`-v8rq#F@5lMph^n>@}a(Re#9w$?5*RZ>(`TxzU1JX%B96HXh%iP-;! R4T%5%002ovPDHLkV1nUzY2*L^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_stained_texture7.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ba339fcd7f717a9ac210d3d53c90e4d114012c GIT binary patch literal 793 zcmV+!1LpjRP)hM(`}oSd8_ zPA198s0Bf!ZrVj%NJRuUqTnsK@(RS2dJ8UGcs+s$LO~I+2s2%jsRgHPW|B-M$@zZH z_v51D=yL%t?*s2EzWw;U>|$bREXD1+jGi2$a-xlyUe)7Y*4FXnhab^C_z6*He9V+e zpwD(KN&qP{9*=mq-Z8CuXeDTkBLhl+=_1a19$jvk4*KMrDWpU%_m+?%LI`fp=7^kG z8B0_531l|T;bS7^%*5<*8Y zIKb^UoS(1A06C-0pTDzno^@F;?3G-!hFRU`VsE(n$*1gp`I+`F4FWu{GLB(ca%n8# zjknQfJHsozg4N!z*tTdXI5m!xGS)jDZ?+7}65~6z#vuhLr4UMT@75emPHb(50CLWR z1OkYF?DcUWvTLtM8K%SjbxVtj5rjf~_th8q+4FM>t>{7|rNq3M5MqR~qDP`COI|FN z{GajRh@u{$&2JAl$bwzxnZ5fyPk;P@MqfCL;ib54w9QdM+06XNv_=FNndGHnE%I<7W5l#(~TF(zisgmN$>Tf=g> z!TOiMdVlhe_GwM21*wZHtYg}**m{qA>kfm{W6+v#Ch2nK%6TUJ9%gTt-~Rx;YAs3# zoDTp<32oQWg~Y99!s)T6(h)7i^)Cb~<9N0;G=R3g<19o5R!iY X#b$-B3yY4L00000NkvXXu0mjfG%swn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture0.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cb115cc0c6fc8fe3e278d38583a28facb3efde GIT binary patch literal 641 zcmV-{0)G98P)O^j6{VLMM#7KiH-&d1@RQA@&vRfFF?<;q`?iMK(d4)8V0o6n+Penb@$%2yyFe} z0EDNSaK_@M+a!n+x=)|+`9qH{pE8t?e3uGu!$TU&G&3|GJi<8{PS{>wg_#V1vvJ5M zN$CPXYEZ^PX;G?R;{QTOL6%z{Z{NWIh>gY73V#yKi=??_#cN^X3=2ph5TZaTNt#;< zz|k7<_VufBQB%zWm@@%bc4ozE;e_wsVaFlU%y9q3OQyYJh6917L})!{VrERHy<-f5 z@YEp$oFGm>E3&v6%a1t2)v9`C#wCao{7FQ2F`wtv6#PjHku89 z`Mhf;)w=Q5p+|=YrOG18qTohnn?|#7P4EAF;+T_#sWB)5Z7kr?1_V5OMgw}+o zEcJ=AIJ!FOztQcq8T2#U1&>^1;-tA{S&=li?0PLOE{7;7tDmP7vZ4QBveXAxHDC2X bodfs-i5Ewl9;YuR00000NkvXXu0mjfZ|)Uv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture1.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c83661200a9567022add0bbe16b00065cf49b04 GIT binary patch literal 652 zcmV;70(1R|P)O8g@0^Y11!C%=O!N`)NVXb;v7;031iqk26Z8SptsolE8H-qy(Vr zyZn$DgR)}f${e1Nl1w=`KvGFOM_?>yYYD;#Wemy~jCGjnwE-BE6_wI>zK?kO>ZQFb zGcf7|xU`objPSC}_e>14Ek1Ziy0OmbuE574e4l<%B5?oWKqAP#dSv4q0Q@ZK5d)`5 zNy~GnwW6O_+ywT{3TCy2T~i7s-o77SZhlz70MWv!-%w~fErhTG8Q2k m4`Z9imvS(kd7OiD4d6Gzl}`bP;JHHp0000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture2.png new file mode 100644 index 0000000000000000000000000000000000000000..5748e5f684f79b8d796dd74891b6bc6eedcd8f96 GIT binary patch literal 666 zcmV;L0%iS)P)sY5CtyW<0d_tEOfbSg5n=(gKr7LKimFm5gtSfK*goI+ z7@R^074LGxPp5mI-#y~dts4$t_b6fM+I8gTPy857@TEr~BvDNP;IPEq9+R~f2;T=F zwE{IvGY&OaW9hV8ynb_lFKb8yP%w(Hima-dzXKX}1W%2t66`ZGXVY>9kvzqM*67@=vb9 z?F~{VNp?IEV3=ksH|h-2jJVt5VC^Nzj^fKO0brsFmYX%2zM#B#1+_jHvC^zV`sc-; z(-GPlVqkM{L>Txp9ESr0CH-;E>iKi1KnkRQhA-)lr)cYtQemt|5JosxGR|{qN^-Vd z1K=>r$&E$%KH~9%`|dPm;CCm$sl5bYgi7AN;>?Ua?)KPx`h@QYB#u&eq{h%ticzMy zdFM7Co;^oNkHq)sghAy2Kw8+@dIiooDq655g>}75gUN6pK zamx9R&dm3pf5e-Y&pg0olA<2$&>Zxs<1v6!5sSJ^QhLu{Fgf^uP^vtamq`jhqAk5{ zhp%78wCgn*Dg=|3jfu7Z9FE3pt*`wZa6X=qnYs8VZjl+w#bib|o;O{kS*dRWnXx3= za+PKPi2c1?53t$o5XCL>$qm0QhAh`+w}a7|wT-*~=rSJk0hk^urUmPrM!jSn9eiYZ zECI+Wy1V}n`F(gpGm3zex(o{5DOYJm4>%g#(5}~Rz38;iced^!qfpRP0Sy&$^m{@e z1OVPUq9spiGAsuze342a-oAe2S1|*nC%{TyqPT^ee*VOIWzVC5K;aQemCU-(f4+Z5 zO-W7;LpB=fb`Ai}k{s(7_vEC;F`Q|%)%1YGIh?g%E#o|&=YV3r+XWv$yIy0aE!U|= z29TP$C%HAOsjx&5`+K{-%3S6BUrwYx{Km--$xIu@nMON{3PNNU(0%fhc+f{E#q^k! zIgw}A8M#Xd1UTn0-l2uZY0u+she1E5QABz9W1Wv@^Z@BRWY%D;10W0n3>N1+QQRss oP_4{ZqPVp>2UX^34i*}~AKxcG^cm?SF#rGn07*qoM6N<$f`BRq-v9sr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture4.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture4.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca5fc867a2315e177a6acbce0b2316bdcb41a6e GIT binary patch literal 624 zcmV-$0+0QPP)m#($ID*(U8a zwi-+-a6L=M0z`L&?_yh{tOQBFKh=&%*L27K(Bu#d*J3G5G z9(EJjHTWIp8~*eEee;Rej~_aKL7X7(ZE=3EPk)lokRDD5Vw2O59>!W8J$*v7_Z}f7 zGx>u!0U$Ox-FAyFu}0JcsdH$P0}!Pd);RzUe~nqI2dFe>CGhb3lPNkYE^dZRvfKio zP4PlafOU@Yn8a8v$Z%LjNsf5+{Fwvjv|9vWlQbIh^Xxa5)oHiLjA42G#y`HVJ|ECt z4p2RbDzmuWs56KYx;wiJ_dcL{ez8@>x3}-(|IwQBxY&0k@K|q1PREK-qUi!B!!c|1 zr7Ihqn!?}OxQU-+j!q~^GE0A==}$CX4FrxLY@)NAvuMha@688|5{=Gsd?^ucUcPXP zn1OjFz`|UDu!*nsKe1Y}b$51&_TDo*7DyaI$~m(s{f}?o@t}PT)$>u+9svA^QyS7M zo+-a~5GV8}Q@Vi8EhobWfQ{99(E|XT<=iRxMhRDVXMPYiG1fAQ4J(09Y|0)~nXA12 z>xpl^9-?}60KP?N4U)`J6L1zy*$kWW4pcSEWML1g%+(&uJb=GX3rz{0_ z02X!%r$I_XM-#~%4T7462S}ACphbBBdL9Dt0HMH5pg^(&DNNx8vk5}Bvwz<4%~m1B(U4UzaWS~i2>@3!pTqs;W`XNROd}0|?X*xP;U#jMg;oJ@}_DoY4?~a4ZSetoIxB zf_XOhNH`V%s8TXD+tWLWGx}*x$P6%l99+mQ`+J4VFbiR%lAe z&)bOSuU--iF3?znV?mgEuzk-7F!5tdnzCmLg3tgOcVjZF^#0000>twy2+s-b9 z?F}&zrx|I^%&+O~0IL z(mHybHpgF5YQiJ*YJdh{xfvj>1K>1CSzB7T6}U*p=zP-Lj9Td2VVnazLQkNb<1$q= z1K0p`?vU0oR1VuN1Q;q)9kQ+gy;p7(z_@$Kn1vO$B( zscL2ni(yD+46EDEiTWq>uQlhh3$>EBhmCn}MdC->%Ho_Rh8vmU@7w`4sk T3EWy900000NkvXXu0mjfKLHS* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_texture7.png new file mode 100644 index 0000000000000000000000000000000000000000..d348facd1ab6f8b8e423f2d0f8fba969d2086d61 GIT binary patch literal 619 zcmV-x0+juUP)6~Tl&#%Zkh)a;5KMf6t`%RPd%s21wH?aRKN2bn0|;fQNQo*ZjpLl1JD)q? zm^7f?c+aal{hsG}owqNZ7XXn;k=q>_=co7-7{E%G*@;w2dvBld@kbmft9uct6ab}j z+N~zvzQ(Ni9(7p*lU9RD=K!1yVzyS6Zy)Hz6Ebrn?gk;5$+;d+XazSz!!)b(r$AL3?7>U}_zPiOI>6wrIjaBw002ovPDHLk FV1f<)5I+C_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_top.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_top.png new file mode 100644 index 0000000000000000000000000000000000000000..90c8a86a38d9dab239c89fc8dd72235fc42eca02 GIT binary patch literal 570 zcmV-A0>%A_P)(zq; zrvlvKvbhq-a5kW(Y=$8NMA%_>aC(r10ZHr$=Wdqaxz_&&4G7VDIH%bYc7n?y8AdP@ z%Hs1_ygR(EO$#!^4xszV?;j5)kO?b5Pf!9DC9@OGZj5*?BNtaUyN6}-x*8H>v3{(D zEZ*0~C8nVqK2{-gADUsw)Dl+@Y4IpC9sKI%nn8jI9A&N!^iUSRJ|0+R+4S7DBe-_c zf_2R>42np?Xl{FDx(AhRF>qL{IskALJggh|LWA5{dAxhve$cZv*-7={k` za}~cF2T4kK>?t`3g{(=gLCVm93BFb&(cho9HR z-k$HFX+Jh!c27o=y*~1XZkZ-8|10#G`l&b%Y;{X5v07*qo IM6N<$f@Uf8%m4rY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall0.png new file mode 100644 index 0000000000000000000000000000000000000000..3495d10fe28b6456b28771a6bf1aed0321405f9e GIT binary patch literal 625 zcmV-%0*?KOP)vpf7c1xc^6uVJoNb)M z)6LHA%)akD;_cCaZ>WGk2o{kU3qVylDkRo>cA6o%v219?YN#*(?<$h2e&js}0g(zY zUZRB{5)$Jq&O4Hs1L`_}auqZJNl1N=%qp~m%y={&>nohK$RHq8|EIfZ{)6qqX8=6x z?h>}z%%)eIkN++&UX4d|cD4w@knW?$x9X}jH~}CXYEmH13p!DgI4|fuf5GT;pR*)G z%Yg4epS^o`Fj+xnESrZ%sME`Y{ml)qZrSzERm!9&=>e(pNH1{KVTI(^@C+#>mG?Z^ zzl#FMjU&pkI;JQiJ5ycJ?>)=q(emts5mds8%<1HPddwIM7mz- z!k0KN7$q6K)w->@QKKZoV7u7>U{aLVJgM`>Qi}NS=CwERn95aj z?mu92d+V0oRn50JFsEPXM9n(;cFFG*4)oJQT7wgW)}%w$a-vpOw}?0|$c>}d-DPkx zBU)kPrYEYjj&)5+>o{n&8ILcJa}K0d1X1IfCu=#lsre=ciyFW`9V7i}yc z7ETIRNEASUqEv_`O`e2`CqQ(F$KY9@APp6gn-r#S6+$FrN4D2{nafgac5#*!e>eI@ zzvg^%#QWDTOJ9~KA=p_*Jwu}@Y=KmoP?ks`&{8(}&N_xhqg`+i1WuOt(lgKs02dqx zNm5v(5Cj5J2qGy^QWB}^jxJmvQi{R_BB@BM2OxwJ1861bDMjHyNr?{u=L1?*uhEC6 zuK+ljjEUkA#dgiFo8Rou(PWIXmf^$0e{vnqX8-@EssD_i9!$B)qfsr3wu;(D`dF6GV> z#Upa(x!LaMY1J&c&2n<*(Z(P?eRx-PF#}B}KxZ#eJVGbmzH)HKHa$CMd-0joTwo{> z#x%@!FSiJig(d;?GR>$l0Dh(g15>$B_p(egt~WcT`?;&6(=~VQJWucVZZq!j?srn1 z|CTB~zI{`+ncKYo^F-Ur?<9+UzPi*%x49I zJxAJ|=-hd_mgLU!A|5pkbmdVz>h_?`-1eZ(0R8|d{3tJ*M!<*w0000gj9hvf=FxxW059^mNs61l~)k##LMs^#7b;zY(zvzlOhtfF^5Ij-R$h_&itp( zVh@@%__gnMdR|`ja`&!y5jw+?TT4{{oDV1k-aAklr6AD}BkKXECo!{%U2t@U7At|w zlvJXKfe8SJ0ODw-5r%-5KoG$=!HeKTh<$)KiZCvaMj9UiA}}zXL;;b)6hf<}Nh1w_ z4?^K5N8;t3`z!00000NkvXXu0mjfP)RI-Pq2? z3c-p^kqQY4B7~p-A(}K4&>)@w2`Zid(IFm#w?MQsgaQOY2qZvAQ7S@itR2UDoy$*Q zV-#aC-RO+|Ip3Kx>hXn(VN4TQqF6QT%+I2N_0Zyif< zz_9YP7lP@TU{HES*5f?HK}Z~gRL)aaPbdl#?O+(~2~?v8>;@%lqdq*a-s8cM>WfElO6J z4bq~-pS^(ID=H!pjYA*nk z))R~1JO~gcZM+x2ksG0xGyoWs6_s`9C_+7Z@<`?}GZ|2ih5&POiIX-ud-IB=3ESGn zO-7q9>3>&52r7z5i;~(YvbyHtt=o(?Ut&;X+nNl}X)$Im%(w$PMNKmb$G7%#T5(8W zJi}@n^0z@wH(3B{$FK17I0vAzj&l>f-I36WB9v0>jY_n4;5>2C#^gDNb;aV+A^_^? z!v`|UJj?sPo@n#s16!Z}_B;-Sm1cvj^qAEvSIIuU z{fy;COj?-fkbcw9&;h+}ht2&Iw8oS*ht5quiHJ-bI8SK}fs#p>!hTlay|A9NsjC`W tR%jH?3>^B2L=#doas9+k-zEz;9NxM`DX*dp`gG002ovPDHLkV1g$vAq)Tj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall4.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall4.png new file mode 100644 index 0000000000000000000000000000000000000000..532c13140ad28a39f346fc79b4463f679ed74581 GIT binary patch literal 623 zcmV-#0+9WQP)kUpJT%$L{_sDZ9O4^aiA@P zD9|<_*LR)(aJ#)p)@(5upY!|l4;N>vy~$l`S=qR8C71f^XWA zI(z#J4&I}?5&*N1hdU3De~sa+u$7c7Wuu`uIoAwJLkBn>oU>l9U3$@pt@54io5<2d zwwj941$rYxZ)8Xl5Ja+O3*$Ve@ew%VH<9ZqOW zUCid96KR}hc1W5)=^}}M({awjW^3Mo#hE!-+Ji;r#U9Kufd2tuP;nuait_*f002ov JPDHLkV1nDO2|)k= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall5.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall5.png new file mode 100644 index 0000000000000000000000000000000000000000..6c8d1fa32d89c92bf1c60ed8e401471eb4a51f5e GIT binary patch literal 611 zcmV-p0-XJcP)e$99Eje4{9IJQJ68%Lr51-S@`0`EOhB`Bpxm7=tc#k92mAU*`Dx~6Nf`DN?bxZtuj^nf3uF}F8bH(qpRXZh3J`v^c~J-JR9Ov>ew zah|Nx#W>H!w4^2Jvgool80QhKQ6JvDjq8|!}#qpJ6>U&U4CRo?%3BKG7PMSlZ;@1ug! zTH0DuTFZmIXLL@FQCd^)Rq7M002ovPDHLkV1jP{4d4I( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall6.png new file mode 100644 index 0000000000000000000000000000000000000000..35b14c04733bd94c32663e362af2404df3a80a0d GIT binary patch literal 645 zcmV;00($+4P)EySd$+zZMG{ zIGARVd1v1Io;UA^53imF7a$e_?>z_sKxr+lNHBE)A)ph-6wU!4fKHMCAgyx{1U3qU z0KtRt9^(VvLFJ$&L3vN0*3vk_dP`v)kq;o_2V1-yp<$S5KN zP{!c{$i=Of06bn>ApnzdfqMbl#&9gUe z$@jmb`VxTZN?&fzF)T{_=2PThK4xQ~Lq0AWSM5AgV*&V`U-DqCb!(zOMlmWYwl-Fg z0EMa39hJJdWSl3>x>VM2KAF;zabq+pD=O=dNrL$NaWCA*3^bVl_vVsjUBuq&?EsL* zf!@w8ll^ZP1PK9=B)6D*JG&fz{lapm#jtX$XDy`Cnx%HqU|a*(i%?3hRQmg04Em(0FM^i4R77PI+K9sd{Unk#vwkve-~z%XL)Zj z-|2xl{DtbzadzdZv}Qg{QChRQ{etZ1fTN3w!S#bEu(`a@WFk+;Qvm)>O6JoTr5&Kr z&a=L@!p|R5(m1*`&GB$dX$?I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/clinker_brick/clinker_brick_wall7.png new file mode 100644 index 0000000000000000000000000000000000000000..4dea71f007167219a4203bdb0161acf798f1ec1c GIT binary patch literal 636 zcmV-?0)zdDP)6FB*+B&X7onvKnnQp$|$M zvfAJrIA`cdNoL#4UFid$t;RTm3_YLPS*!zN+tWj@HCba3(nI)|f^a9C6UNW32q%Rn&42uKcbUbA(>M*S|X)(_sP;{hY z@BS9DF_2kogxtZ&;!%s8_@_{4=WU5NWs-ZTPJ`hJfn?VS` zS(*Xx^G``*4Sis!YPx|By3Iq5vZ75`x4oT|6_XOyq7IStn3NU12ijV~IAKy&Kxcs> z-o1M1mYJ7%|2HSH`Ef)(hyci!`W!skBR)As1OfTrrrzH__=hl7&9xgD~L7yaZNLL^F&f&BgRI}oS2uumaX%)M}T3b0#zk}U$2{8LRPZo z8*hy{7nwn3;k|cMh1Y$trl5LoclNiVbrM8~2ucmaPzkJGR0e8h6vCJTNP6q6y>Sy_ zZ!+Q;B#Af=Wc3&pc!vT5CiUtzU>4s*0$hW{f!zHT3&#dQOl98ISdO z5*4A;`ONW%frupYJd4zERmeoE3O8k+Kme&HvW(5^zKL@<1!@gdg91ph61?NyoD+$e zlNsFijr-GcGXx=GBck8pLJ$zaR8TXgHAl@*H8O&+7N*9U6A{QLDw7pSGe=d~b3HN6 z@kT^ZbM`s73R$2km?>37R&q|^=A=Mm(t1NwP!UDds7ijkE=0iH0Qii_UT;i|*Xsw6 z#5v3{5E1emRNW92&RU2%sFIogK{9Ko!Q78!(FgZ^63kJuFl$66b57bfg=&VIaiW-G z(^N54&e>!oLekvuDu}&!{rpKqFy=-?p2Lbfb-z#oFwEP-MJ8hmw3+f*lR5_xrMYok tH=p<5oB)yMl~ajG_L{suZ>YjV_y>Z(Qz9l=hS2~3002ovPDHLkV1jfg2weaG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture1.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture1.png new file mode 100644 index 0000000000000000000000000000000000000000..5645eab913003496386dfa32c734dda5009b5da3 GIT binary patch literal 623 zcmV-#0+9WQP)!RQBWjlBaAAST@eM4^hkk{L;sU<${0;jZWygB`(jebc&g953cv zG>7&5FMDnFnq&se9ihldL?C0KP&7A=;~@7Y_F^0Z#F74qsPgsog_@I5L8%m5$SeeK72c+SlA`X;7y~uq_3;5!6vgO+JtwNl zb1z0~tSox#%(=*bLQAQDN=9#}sbkyOw670c~FYE7l;s5ocF>r6Hr8js;utL zoWb7fT}41d82un)Q3N_! ztq<1T)DA{_BW=AAJ5Vhul3+p=3e5E;L?v$KWNZqE*i;pf$nYd)Y|ctjxrs1LqD{1i}OI_g_C7agL$vXwKpM`}KvIky$*BK{Tie_kHun>rdvI z9PX$oE@F&h5PKscWEbakA)=Tm@AsSQyijTE`C`s*L=;h_D$&T|*ROx@V~|xu1hEzs zn>iFnhNEiQoeIdY_H)~C3a8n|KIVV|#s|qS$=439q03aLA^P;etSnRnvBAy&5n^vL7LZ)$Mg5+Mz0olSuEty&Q{iyK-I(_` zZbs})i6CNt@cq6KX;g(0L#vYaoR~Rle_ZTH%#7jAb)G1V2+)n2LPKUEU8t$@e7-Pu z&huigO;%xQADmsh-xKL35%%7UG3YE*4P9$e`6m(~tQ6nO8H_pQmz}-H9?v2oh2+zlp?t*SAHhXWRK_9OtkLQzh-wba7l4Dv;Hv zD$tzgL1ps#@dH!A#z4&xF^=m&RiWo_?!D;GA z8Lc@H4Pi(i75{zx;hGoC9rGY_)7(f2&c@e1?6oj6-nH0!Llx`!MiPI0KAbFM;(5N1 z#6HQ{i}&3`L?8+Gpm`!eR^iR*ZtT4o5#%nghFN2TI3=PPeq9#=G8cUW5gh@|ov-f) zx#h8Nd;v-UBdwzjuVlFDQbqQjo(iK!&-}7n{GjXsU{h|j)g^lH2J(S4=RhE z=Gq$-5!N~Yg@USL5C#Z$)B;nb_VCouBcMX812e%Rg4`RWS?6MUxSj`B;r0EEh?4nW zrU=5Zg8MG2iWPyof9T=P{rwj+$IV$Ds14nXyRoZrhWozQJ-9p7h5q~ZVnl%=Oc)9i z`1`teU2l4Zoykv2^Yb^@FO!+!b80eimyMe*Yi51A+^iEXOIL-rA13Snzb_?#o`}IwPbG>ht z8v__c=S5|rYH00;oev_yuKLuT;kqu&{1Y*P>>*Sbh6X&G+=*8;B8HmcCaiGGjIN@( zQ2{ptRg}-2ZV*?(9be}GJ>-3JeEs0QFS?4EM$8clOq$(8H>fY@VZ<0Uw0BVr)&0>H z`7Da!s?eL>g)+S zyYKlYV_TxgE|L>GJV5^a{Zk@F?n#MZ<`jjhaX$~QF^GbQMP)L^$%;iY!`x6oQ4>@I zD(StES@dx*j)QwnRD@Q=L>gdj6osv)*_x_w$gskOC-LYqaKM71x{`-C427O3Z|v8;@O31uN*yP;qi6^SKFY zxG9;5yOWtzCK-W^fvce2obz=;Zp=HG_0xR^<__wN(Lt3RfxFR1XD2+7c*Z6$=2}F- z>li$rH{KgDCu)WwKiFzy6%m`PqWggt0vWu%zKFH>TsQi=YG&Nmje5gLW^7!YJ{oGq zS`&Yb&i6CXXX33P1ZyYvJrMyn`>C`G3PfPVLia`}{sVtGSU+t{0Y3l$002ovPDHLk FV1g~%2W|iW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture6.png new file mode 100644 index 0000000000000000000000000000000000000000..99e6367d26bd269bdfdae3848542517411d3d58b GIT binary patch literal 611 zcmV-p0-XJcP)hzOUmzeN>`17fVpEyK zUWkCIAv8rX#sEO861tdkqSAB)hbgL#`gm@*Qw_tMhyZn}n+7x@L6rOYFw7`~%w%Qp ze!ppiu3`?QYon^TIbDSU+TG9vC|QjFJ_g;zIUZtkbMGRn>1y1Ss-nbD8%`sL8UW`x zscIsEb57izobZgBDH*{SPUl8VjWHZGqZ;nDxFh*`eX;I^s*q94F<4pb`^Hts9Z#j) zH|xHErT|l6n9<#s8)^n3{9YG_Jq@n=gBfHciYS6mRm{Ty=q`jNGuih=Mlk2ZOp%96 zRr5MeT-|VUVlA@Z-ht^ONmMz{iC2@=#7f)-B2XB+8Z}WwjKBAr%;e|$8=;wVB0%f~ z)li9>V(wHI84DHgh@{u%`{##@;Byrsikk9zovb_1^FX_}cQB8WZWxDA8R#&fRan=B xs-XgA&gXrxR)9e4O<`0P_w`}NhHfg0{{g$@S8%`sEFu5^002ovPDHLkV1h(93pW4& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_texture7.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee5d608a3a31d8572f0d001df5bbac9ea9ca81d GIT binary patch literal 615 zcmV-t0+{`YP)Hy;~Fa3u_g0*W{+`S+h+?PJoFoG8|C_BpI;u}`4gU`}Rm&f&-NCsj#h zqNb>-;bTw@b2z9VX52d%V-Ve#Dvve!@py9IFX#YOx)QI3@7IfYEna_qW9FDBqDpt+ zD(nb`3v@DE$rEI65W}mAIUO1lMQHe#mMy9UcjN4Xxl!Gi3ypFO!Pi}Fy{pYXK%6#5X79U;`w-BK5=s*0?auPWEFbf8}otD ztn1=bVWRA8P6lSi-W%$WxmjzW>I`>=D(>zG@U;(upuz`JFz4j#gSz25F@elN4WJ1W zAJf@8=qiRAYfeN2)nd5QS#%efjq+C4dn%2BGTfMJp{m3Q#Ej|A*YE!jf!M)xClE}G z?xrFUQIt+H6A`#ikd^G$3+cl(jX4Km%J(_AKuM!!s44qweD9#U@zKm-WHfUOzP|p@ z-8|HAbHogxs4Ox9bLX)ZI9@ zH*+qkg6n!$aPD)t&x0&PbDtp@1dPNvhmjaU--~T-U%JEh=Z7O3 z*I5e*0JfM3mPiH^I?Y-&VyG&r3fpERk_!x{iUBM!2}v_)JVAi8UM5>>+b~1bAp@CE z_5yXiT)Y+~x*H^9(`o!X50fFuTM#lKh?}Jikhca2zfBpiwcXR}e`a7&6*Ei5=yh*c**%rA?wvESj4cnem=AL)9NNJ3}nOCq-ykjM8`}nEm-H-G+ChZ$DV(e0>2!(%inws|VZl4hQT1weZ_etEkf~ z-@TwSOnDU`F*CbaOCF%ANT55E7V1o37NiB|c`lPs=fH&L?(J0@Z?UiO4IRDqCeS|* zhlKCXXAfv2l+5SzP-V)+u~AYoYPEh-G-{d7GCQn%pBG-l9>c+n7ujOq?=@rgd~!HKs06hPST=J zV+m|Di&he>#6qMw=fM7onYW(k%VQ@Gcex-zC#x{g_jorG9k$&kYIvs zW(Fi=6U59Qaeb-q0Nn><0K68Gk%c85Rp=vA+yMJ7S%NB?ss}e%OdqhZ{j-7YV2c@e ztV<;z1BK>J!%R0-MfV3=kV{K{ntBGwKzN^~`V0_e8e2auX8NaF=zgHwx0yy343w8a zX8DuU!^|)riTVhYgfLhnaJp$i%?!)8JAfS0`6OPN@J$rt{|+Rm>D57Re>@ zT99FKKbEZf9XC#(i>}s@00000 LNkvXXu0mjf!KK^9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d451996fa3b6137ff7c13626e4939f92f31e06d GIT binary patch literal 532 zcmV+v0_**WP)21lxQrwwK^dMsSZ1b4j;*qo3^OnZ z>#D^!AOs8v0KY&%TwZ5vU~(o#!7hA%KIcYqBwqhgF|S&tNd_^Li_Dx!yYaOyWV5@G zpvuQ{Z=@67pyLs-_XdIlBjKKA?~P<;-WNIN%f+ff?*;Ov6POv4uxxQ%Ur2(4?hO)_ z$u!t>5B4cqx>?u7^dS3uYx860r%Y8Q33aX04f{7v)x}I$3f!L$A_P$`5PY7EebRWIO=Q@c=zWBTW%EBU W)lHqbk{|>C0000pNI_{@;}fj}gF-!FY;Iln_yF>@%3ah$`XF=Zz(@i*05D31`A&Z=Zw}U;!QqLJ96_5}4ULS&#%}u;A4$P9UgNRPFf3wwu|^VFA~*=vr(tBWMeT%{+A5VEMMn+bG>A*vd`{(8}` z7nwo2DZ8An_pZ9l59&+DoLMHJ&lz@>GfN>X*xBbME|Q%k+;mo%-RqbLeSQZLTxMoS z7O|9!EoSx#oMn^e=1jFY-=&%1&-X(~Am77I`2B`Tp)zNNO_<-I`bnwGtBU^sO#5Kk T{kSo}00000NkvXXu0mjfWY*@j literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture4.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture4.png new file mode 100644 index 0000000000000000000000000000000000000000..c7010527caf8ca103b6148cbc577924ef68b6c85 GIT binary patch literal 515 zcmV+e0{s1nP)ozUtFta!*=N!&C zqy_n#k8XUkkcY}t!k1`C%HI3#Wg%ZTH2?1oAYEbZ_1=e^APe(d<&>F0x~)XU5|wWH zGQyk_)_ES@Y>Z%rA4hr)Y4}=;w(P?Dd0Ah>Nxw@p`~j^)S>kJnot*#x002ovPDHLk FV1fr(+Zq4> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture5.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture5.png new file mode 100644 index 0000000000000000000000000000000000000000..1d343e12fa29004812682c444e22f2af0f016338 GIT binary patch literal 534 zcmV+x0_pvUP)D~{hIIkCqKs%Jg?r$t}BPG24NsFU_lb;2o%BY5Rm})vP7K&GP}#}0-!Xri!hNUGZRS& zF|$Zu2e3pYAYiF#Y$F*Mx*H+EhSHtZn5bhA63wag6pJP-9eOb_r;VqJ+J(9T}I zE_AwK7t471Fg?hoyV-5D*ThYpS(ct5!psb_&7JI$Rn1HzAVP>_XQ(RVBrJ9>YA^ORpog2#?qTOjoP`WC)RjJSL!;YBOBXcDve@7{ z#qN+1h~=DOR>bp-=XpRv77jCC(T;~Fzrl)3iCWIR{ezl>h($07*qoM6N<$g1}zj*#H0l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/concrete/rebar_concrete_tile_texture6.png new file mode 100644 index 0000000000000000000000000000000000000000..e2663d5907e203fb4f6b6a7575600aaa6f9c1ae2 GIT binary patch literal 518 zcmV+h0{Q)kP)ZL*?L42rx|NN7l!4f@TRq^aiRWXF+Vt_smlCc((hQK}#3yFO;a~dqp zF_X|UNbvXh54l)nCQb4n0y59utR6V~V4Ln?XoMJ=Dgyz+Wa!fX_dlEcYz)CJKqTA( z3rT>m7n12S1aK9T0YsIsBm&Gd`c9ufhM6H5rVkQGMi+ys0>G9CVJ%~aq^WPQOx60` zuxw@qUeEx3&VfLm#`vWYx`%x>$=#+b$Y2|LkpzD?fc#FBgnTV5iJ4&nr@xefeLF_R z*d!p;%WVMgCf(TRE%J-h^bBh)l6f1rHc#li5s{nrfLK03lWk`lT4+s))62vX~T9aHwx|=zD^;ipANH`K)C#D{rmeTu3~yK18Ws~H&sP zlzNy1B+$9L)}pE?nTE{4SHjpvu%*ATiT#l%k&pDa_l8 zL0D&s^Z;T(=!EhMup2TgLpi8ScYb5lNk$2MH|u#e>7%;J^lRmQZV+55Y=d7qGp8F8 z*LC4qh3uE~d9?QsL}Df;goN`(#x7=H&#-zA!tB|Ep{kg9xUR30K=&c0#y-7Bh7hKk zMTSgMHV`Ht7Xe(RC#+h)uzRrdcA%(gR%Up5BZ;boB6c^~LzR)t{XECQ-qbpFt1imL Ye+ZvX$u3vlZvX%Q07*qoM6N<$fa>F1DMV|y1CzCtm z61o3VgOJ| z37@{Ysm6q=dad=|QB_3bQvNLv5n5~E)!jLcBN(NW0LYKWgE?n-T_esp8Dp>*i3qh; z09tF9*#)up9(TUf*THSusI@Z2h@AA^DWx#RxPStBjKTByL_{VEcb`bk(7F2uNj+SzSN6xuhzQ0QWab}HYnZmy zreFnMRZsQUql*a44BfWv&=FvaacG#CQ;%x8EDP?Ao~^3{J<~%~X|0i&pEcIRySxh0GgNg_jR;<^ z*GH3xpf;hZm>KK3GRBxuMA)_s5ux`!{Sgu9`~9ALB7&mSduLe|L}Vtf>w54&MDPQ7 W+d{ET|1{hH0000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/metal_sliding_door_texture_top.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/door/metal_sliding_door_texture_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f9fb8d0234626c05bc36356d2b476acfe06deeb7 GIT binary patch literal 564 zcmV-40?Yl0P)O9KZko010qNS#tmY4!{5a4!{9w)`k%oYm>tCyFc2}2KFRkfd3bopQVIaAHQXIDqm)8K z0FareDq{>(m59LI_p_?X{rx?q6qaS7_l}6nT|}lpW&$wA;BvX}{QSHN04&RbnbCWv zltOEbF~JJlZptqt_bX+nJmllzmntfxKaghSt!?@b?kc?XJGI97`##ndITcE zwr#v$`yk0RhQ!^c)$WcSBRUC_^SH55{r5XTGn*n2fgbRB?`+$KAk(t9%f`!$BLWfG z1>Bv8;D8B#;^X5NdhaaDg1b-O4^FDe?d|P+Z2tf_q&xy^3(BPc0000f9>J#zmGb=3qJjBSzZf-b6!2uUR04`uJ~@Adfn;B9_#bMcr(WPt`Vl9$DJ&cqG& zgm0_ZX7Rb)dAZ+lNxW_!ysQv0xf&cK7X{BOt{Py$)t%=t@f2ei>-@vvZ%7h*L1eK< z06;+&7+@FxdrYzl_d#Wmz!(En6^nt)Fw?&*W_3_iP%wbuqZemLVqm5J0fs|uuM^ZNP<7{f%-;uuD?6b$vbQPe3eRNsy9A3+(I8LM}~ei~wC zR2Grhae--YBt!&_<6I|OgmHC8W@H9Zn^|QHH65xNK_?VLLS{UVz|=5jCZL`P2`HYk zsVpw$oIOZs>h1{(z&gd?CZs)`ndnUR@{G4NCE<2axMGC=gU8n-zCLs_`P zsp%=Mx7Nr^K0ZDWq5xxE3elrswr(VlmUvaQ#6OM$GvnMxbA$-*7>2u}5>=G`P)i;U3A%ZoD;fPLSYb27#tGpQ;7Y!eZ5 zHxWTqG3Q*`H7NE!KbeLyJlYVV+I-%Vw@2|blDDIHN^w~D%U8z!L_`Gq{=r2}_~1F4 z4=O&zXr~k=S6tTZw(&i7^J) zOdGrZdEV1>7tny&#(*|GCspP;#Ov$pA}GYj00r+vv(_mE24+KdGg3&R+l$~h4ut6{ z=#vk#jU}uuKnN27(jp`RfVf_-h$S}5iqNux2_=$g_ww&G5v(O1$8kzQ5|<2&F}W@d z;Wl{9+n`8}hN@z507vx-KoE$dngqIw2%YF61KbVvA^-@?J_Z>O*w8!}>% zo;J1-%sE$)tXMCcALkB2Lah4EZrnzhL2$Mt4()3H*P+^Ch|U#7^!896a2p*G}fGXayNi z-HhAq#{TU)WbzzAM6ewPxozxouJ+kw)O00000NkvXX Hu0mjfqfYa9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_side.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_side.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd5e7b5947dec18e394abe8a0fea8ff33d888dd GIT binary patch literal 369 zcmV-%0gnEOP)VGd009w6L_t(I%Ux4j4umiW93EcH`=18| z_QxS~O&XQ9^P-jezT3q0G;gm$w%!I0r zM1oz{b=aXg-N9rg+! z)|CAw!)_g!yL&de`&gox0KAZ!jSgi z*}3fJ1JNVt-FwzKS5=b*gZ0hwzxbbxRw81^d?QE1T&#V`_C@1S=C%I;T=rnVOYv;k P00000NkvXXu0mjfgm$Hk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_top.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/furniture/steel_catwalk_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8d6055b5c52f774b2939678593381f1a84426a09 GIT binary patch literal 593 zcmV-X0VGd00HqyL_t(I%VkqrlG`v014ub?>~wce zwfDbCJ8c}lM4}&#J<}=wC=N*wfcX9WEq6yopmZJfeTSLh43Z#uy+s5_A~Qh}#ogiV zyxnecca~B_k`W=2T-Q~7-;<;yk)!}nk}?w(5da`b{PpwaRV<}YnHq-SYR*iNq?yUx zX=VokGa~?fetl6#aNl>;TK{Xlh93dTOhjucrO?a-fbE^n^Q_F|GS33Q`Sp^!Ga{6k zj0jjppu63e5jv67TG@4-#&P8IeCj?7?7B`LpPw`{@d%k2%-lgzw_3T(vq~uhAOOrv z{rLExyPq4Cnb#QrU}gqMY^|yGJ?Ga;060z4b$e#=HBBdRlEgRh$AEdB)pZ@GY0@x` zG&A*m&uN-uX3R{Dj|Ty$wMKUrNxD01-*@zV&vjY!cswrFC21VTOO@8z#I8-~F zxGsw#g3squecvDUz2BLc8s1Wlj|VeT=Q04iPAFZ+%+%veRIT;&Ix|!EVYu?=^LcSl zNtySux#31Hhc5p+7n5ZT=`v#P3!WL2H#nN{WP$8i9N2*K_SKpc`J z0j%q4W|^4)Brhe+(DYq zA~*TSQ*J^Z2i?ONfx~{59lFPEROy|?& zcX}jK?M8%vhMW8@F(Oi8-Nri~eLFpg{;Km&KJQCisLwf7(|_T1dSeWduK&5K{SLPk awf+GyWm*S=0~=-l0000#us?1E1yH{0rhorSucf0#_T~!6%%s7BFv-`e3pHEB=8cDRNcQ;%hB}G+9s;a7r zh^op=U`*4!@B4S9LG_%&84sF@AXJffsPixRMzKx6_S z`WX7R^Z=k^bnh)G)>@faRr8VF{>IWI9+?>tC=%}bw?@Rgy1Qp)NZNZdIv7^s1?Rs& Z`UNt#FY@RmA{PJv002ovPDHLkV1h%djne=C literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture0.png new file mode 100644 index 0000000000000000000000000000000000000000..da6c6f16f2dfda537e038b6e7ba51945b9630b91 GIT binary patch literal 591 zcmV-V0iA@hHr7pm|I!37bR^yjZ%f33CV@qAjz$F^r?b`q+Ty**X6C26k(Rjl)x znsS`3>YB&n@i)nbq&3}_q)SqlYE?H?bpf84vrvxv@m{Lxs+pM<$x+oMF-3L6S5+bD zZ2$s@m883KIiaiGzpnFbpgv1FC6EN-DAht*0t6lXPhtWEZ2K`iYk(b?QmsOFq%VoP zKp=})@Ict;25jKHyWg|d∓2*S`W@&!WB&gak=KLZQ#d#IJMjcqDy58dXc2f))(0 zC2m3+iO7~SgcjN*)-iKVh(s@mjR0v=+EP){LPCKAT!DDW;N%w4BlH9E0ksqkk&V?< z@^YmlnLtPuP63zD73i_OyL%-e()r!QenlWcKw2b7BC1VH;+s&Wsyfb1%>|kyh+r3z zk+d8)34u-AAws(BeV-(vxCjIm0`v0y+K>@!1NkON!1mjDejNi`whwim;DczO45@@I zX$Mx4gO>~^*+QSU<9N)rGt;MSs&o>aseBhA;%_PB%qv%tu)Uvlc1hf9KLgmgC&AnO z!aYf__c+0EJHhswr2n?B+t|tZ^*PVy^XJF;b-dl~pOVgV`!QXX_+k5_RL^bS?0kkG d@<*xv`3-xxcw@4@yP zZ#xmOZF^SbaJvHOvMkGvZAtgYT!33fY(d;>sgaq#?Cx5Yr%;{Gr+*`2W(HN6JGdfp zmmr8cf{6H#L`B>%M8@4VRr=jF8L@5q9)&`Ih6Iw3I7{(FLV%zw1_nf7MgX(>OGJ!n zsE{h8vrr=4B~s9!Mc4unavK8)%*?!5Tr1kB7{Cn)NyO&_Z4%f{Y(g=u#%;QNnbVX) zFYtoG5+PUwZ@^9BrNb4%lQuM~P-n!0fv&k?f)owgk@1dq@Lm1;DI_kEWqw&KXG4HU=XNgu#h4+l>L>A!&d%VA#Ec z;#nD)ZkG~3tL;q~6Lj|%APp1yW!vC19!UEb`=yL`K701D8*LE(H)8}e2W}WPbkDar z2I1o=E(h4d?s1U%+&wP`*|__H`;5KVM#M)|Wp($g%13t-A+T^5!BY~ReI$S%_K}8d zX3sxodxpe&cV7+6*_|% z>bZ|U)}^LHUq3#ceLkHZ-HtI{e;GzbT<7fdKc5C~OGNhpq5uE@07*qoM6N<$f`qLV AIsgCw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture2.png new file mode 100644 index 0000000000000000000000000000000000000000..b76fa99624a3d3485f6da39c2c70a184926775ed GIT binary patch literal 616 zcmV-u0+;=XP)Cq(xOz(kkhpR7ToYRe;?Xqf5oy&1J(i=A2{1c^PB;kf5k5f~q=8 zV#1XGVoAanS)4Gc&i^jUX+r%yN-cpTBp#(YBOyR=jJVvJoCu!N|_|58gvCv=kZtWh@!6!t=ls?XgRx7qHopZo9IK&~Jtou#6rM!G4Gm zGPHd}EH%gM#9u%td{rWhNKPcP?q&uKBqy9_fKpuoW7^J~^Jfww{i*v75}!yo-fjU` zNkj!Pb{`2Tp{MSCg8)1xf%uD^gY8os+Wi{))f@I6f~qcwJwq~Td?OGzBQW}@Ey4sN z`0g#{1U|BPqT70#1>Dx|UveiW-iYzL-Cq;1L+p3r6UlK?sm!@!wyinGU$&_dM5Kb? zLlS9o*Yc77KP#c#Cp#*Mox9%xbo(_4z4psi*JBdaUSFKBx}Tlk?q^A#Qm&Qca=Bht zk}vJP*gZ)uYxfMfIi9vJaSnu~+vC=~+I?KtKK%!jSb>TYW{Eif0000Jf6XpGpi?dm*K+-OW0q0n8Z_5~c zq-EG2kA1&R$x8^GMM!LtcO(P|M#cJSGAK19?Pbon8=x>GWBjY+UE-Tz6M7a5!^IYo zt~zbnjzlMAcxVYg`bQF$enPG$$AEQxcVT8q!>amIckqGZbL7h30yKlwX>%vR<3K z=FGj7BI(|C&9tv$_;1STf}p!j3Dd4k()R#uDZHQZE>I@$xz_roIe$Q&zK~kbrLU1*L|6FQ<^BK9YDse`9JZAvw*qVBxh-q0 zTU*v~Je~1zOUuf-r6p^<0FPwN+4flJG371Iu3*r9u!iB0W~M!yKBtsqtmF`VNqYPT X16yoV#np4%00000NkvXXu0mjfu6_!E literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture_inventory.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/panzerglass_block_texture_inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..7e71cf3ba1b740b56cd5085a09bfe6db54ff0eca GIT binary patch literal 658 zcmV;D0&V??P)Yt{gWILm#DTsb@ay z4+lsVxySd#ob%*bfpdjy5(A!@Zb`)~W>&Rf0VE&w$G2~P-tM=I*v`Ifr=&~kJ&}rY z4V!NJ0Li&9;B=2I0QM-g^f~5VKmPlXwbr@TDiM)$&VAqabI!TT1-{W}v7LVg75p@c9 zK8y0YASAGDYzlfr5?wzy}!Tbm?L70^X#pE*|zp>yIn7r@xHZrf86!y^QSDO s#uhP-bCh|#)`)GWNV(SK?d@&;5Ai8_l?)1^X8-^I07*qoM6N<$f?pyiGynhq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/window_glass_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/glass/window_glass_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..4281eafc0e1115875982ef40232aa5e0b0df27d5 GIT binary patch literal 560 zcmV-00?+-4P)<{A;z>k7R5;6(QcJEBK@4-^q`K=Ny%h){u7J4z#hBrB<-?-8VYYac zNKx5kTd4e*mF;6ltd#&%M7kRwMbM(6(yA&E0aZnJQ&pQvs&DQ9va7ng8$eZ6ktz|H zqS9-vh=|I}RaF%czcVw;jY?8TGBa!6_pxo8tE#%YiHMjP0U$He&bz$#$K!EOAYURP z03agL%y=;-PC2(SH2z`EIjbrus$W%As;b?c$8p3M!vv59U}mZ!s;a6Y;$v85Rz$>{ zb8_3Z@5gbho9&WUb+J}etEvJ(WM*a-0EmbHAiMiBNd+L?-D3ziUE#~7v;jHJkE#GG>jfVEb1cUxvwclWk! z{_*j#+?{K!#F-WV;Fj0j{d_(@ZUq3KW=0W_s;Yh8M?{p7yqT|Ky8GXG+csZoMODH` zYIk>L_FC(>-F{_WXT@LVB+05CRMoF_wdMBUhPzV$sqWtQeN~iHMMt%&gZwL_~IX-(68v?FMw5aj>fDek3AZ%K~0r+`GHmsXE&(Gi={?%PKV> yt12NNmGI$w{(7vpx3?XDu5|>^GUxQ;IMyE%(QC!g{s@Tx0000z-CFgJZZXY=H`^UDPvw8Mbnl8#oht5A& zX6WE>VOhm>w|A?U$D@7uDQdfqElYuc2F4 zmA#LPJs`KlQ`)&mKIP8c6|3H!&QbMjdNS>KuV$rR);E74!^t}Ted=EC-~HcqgU{s4 zKTpPA|9W6|Yy7jlABEkIe3tY1eD6o6eDI8CH(yS+_f_kh@p)Tg9kY6UlBdV{@?CZJ t%~fhY8ec4YDE;)gW$2tgo!6s&Fkj3pJzQF=(+Ug;22WQ%mvv4FO#r?7l^_5B literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_side_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_side_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..db55c5615bee26adb4bced5e427c84f1272f5419 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=DjSL74G){)!Z!;5tti#}JFtZ~HCz4jb^Ww6{Mz*Z=9i{o`}(9?OK9uXsu_F=;w( zK0USezPF2kv5~Og%XO<>BSYXJZN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_top_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/hsupport/steel_double_t_support_top_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..3d928b5e230ea70135a95f76ca386a96828982a5 GIT binary patch literal 376 zcmV-;0f+vHP)e literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture0.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef8172b4c27e9dc2f47ddca07531650854c62ac GIT binary patch literal 581 zcmV-L0=oT)P)$_RKvp84s@QwyxCY)jmC1<7?oMQa zgb)B`hJRd>%p$AEOeFF1ym;R>zJI)sL=`;8SZxweNLmB7X0&cpt)e7aGcuDewyh=; zl^`Ip=q_d~Q9oypIq}x0DvCmgE8Kr9mlZiau}I|3T;i~yjUFxjni z0dUP??`;ue;7xez_`k379xtjAA)b}E8S^F(H`NRzTPRbsHu3k}X)>}B%E%Ir&Hs>t z&TCAN__X)+q5^-70D@-Xye6$Rex8G7B69vQ2j@Kg&%x(6CvS7y#O6lB7k=Hj!LZg) zCFh)sNFKd2X5b&ka@)*^OrGb&Ot;-dWzoG+<01=6A|knBEP~dI-Hfd_@-{7EGNb6N z;U=Pry!Y?kkT#yjVA~v@5nNdubK(*ck+E)HRb)&+n2F57GqIcG92frev9omt;Ky;G zDBd0$zy6JI5*RaRGSIJ~#lG$MKd%!V7rGl}BvNo(lV)q@>!TT&tCp~09xwg_%@9c1 TSQ;-?00000NkvXXu0mjf&}#vH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture1.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/industrial_planks_texture1.png new file mode 100644 index 0000000000000000000000000000000000000000..26fe686741720283f5619fb4bc9dd88d430b77a6 GIT binary patch literal 596 zcmV-a0;~OrP)q8^q3ObfbcDa`K-j+ZA_`T0ah6%$ISL2E#D{vch6*Gg~ovdP2 zvzg(hhzR~(K~-}_qW~gQC0}Fk_jw>9bi-#(T$SwRT#1OFs`!^1s`sID1+Q(;fC`ui zDuStDDgZR_!``s==G;F3s z7N*LoLPgmAC8+);xiayY#kJzbel*A|hAA_Wa|HlzfCdEQUT{_X*L`r`4aW*pg`t9q zG7MbriKdPUT-nfx3b+mY=W#vlLU$nupDtXL=zeyD?h9x{^c%%2@LzVvM5!)lU;=9*sUT{*!~vQ0`(g#oeeZ z+!X=Nm3$4u#OO}0NX|%JV=yD}YbN>ln^kZwR0S>pX}X$W#(Q0?Ec$V2<-7@gymnS3 zV;I$q2vjCBieZKbmJ%=P)+LkVakVP=E`@B2pgwJC{_iA&sZ1eh7sjZ1_( z=U8|c=Ul`w7FA8S)7>-d(#avLHG4p6?-~wTM&B$TNvj`LSi+T;QfA~3OB|| zHgf>7>T3#S74cZfF(wTdSEugg(TnWnw`xG3Yaz^tKlbg#>X`|^X2N6utek+5jBqit zp$lljH{#MgobOIOoFM`S}>QiLCYV0cXB^@c%i#eQ>`y^aUzx!%et?rkSg`g#g3c zQ5WZ0G$QO$C(e=NQ{SwDYRvScyE$gFh0|kF4K0zmurCCEzU@>M=9k-67OrovLo+f7 zU2{h`(v5RWJe>GA9<&V67*H}Qi>7gRG7}-D6;+L`dMTrv#9wdwGazuT$;#&bb^~B$ zvhOi#mr!LC#ygNK>$!y z{Lc!in(C&i5D|pN)cE($8xf%!jR81Ds%^?3J7N;f=~%x zxrnL@r04EjSKwoFx*L^2b+Mw^TmVJQkS@*$W;Q<`8#59=&LF!{)eF^XROODld9P-; z(Q{D^Ekb6o@?ye&Ja<+kV;I#VGd000McNliru;{pi{B{-AiBuoGR0h~!h zK~yNuJ(63l!!QU$c^D_LQ*~9{|5932iQ@(v?g!HSLw>-_8SwRbrIg$~r8LF>004-B znGrFiq^itpW{8+X1ORf*DJ5nmqA^C!834>IZixsHd+%mO*L9hhyEC(@B4VvoL=X`G zR5hj{Vtk`giipH%6!(22;=b=GrFC5aV9uFyCL(60F$N-*QdBhz%sEBmIF3?E?>*E; zmpLcJIA)G!%$##(=1{ord(OGm8gH1H=A4L#h^;jd2_V;X5m5j*j^nzn7^|w3b4J8v zSwv)6mUt9S0#um%hejd#zVF`q7-Qe}Ip?x0+qS7{bp3w6IcIk#A_|mdR%-=-)|#re z)&Su5`<>_ccsy#Y5$>Fmh$!HwDiN*gno@c`pCVF9A)?RcbKkeSyStesW}b6K?5(x1 zK}5%Kgy>RA2zGZ7p*g3!pXbTU+qRk67{km0V$Qj>773V{suDAY@BcuE==b}%dx$i% z_xoK+8DlVW8e_x?j4>kYm;eCo-dYQEkqiK&u%fEHcM&nOKoK8e$D)WO`UAb#ODa19 R!+QV#002ovPDHLkV1m?9;k*C< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_framed_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_framed_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..63d0ac695f3354b90b63184bd33cbd7f4c8e4e16 GIT binary patch literal 504 zcmV}`1edvcXs(<0!2x1U3OC_=!Y{`&KeB;orsKV!zBN=V><9Uznh5+z8W1(R?9etjQ~ z#H$6se2S{*67LDbAaSY~;K=;_V-5s6jNm$S0fLqoLIxy2B7qPZ0m6Ywpj7Z&lEmra zrgk52LId5a$Xb;%p_~x1^$C)gF)xMpy}!>;VTU`xhSP@34vcvlh*pQ$ScBmF5;S2$)3IV4#2?LTSfYLgBZ4y=ykc8{aEinP!1CTWq zJ|6JM6Qz}VXZ?6}k>n|QR3YNfB`SbzPKlOaE#T`MNU)8h2P%+)_C2mmt;6Du@%Eu= z*I}tkLRSOf&Jsu!-`)Fw*z6Zqo&*-AS1-b2ll*V)j6X>&_x+FthQNEmBqTiF07}?U zgs%fXRu7gxhWI_t4___0#ih$s3EML8`iOu`fMb`&uV=u-Z%+GcB u=WUXqO8k4hBm9i*6F1)fak_r*C*eOZ=qi6WQuC<*0000?z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_rough_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/material/wood_rough_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..207dc7d161be256463f0f4ba8dd5ad51dd1b2742 GIT binary patch literal 585 zcmV-P0=E5$P)V-Rs^4WK<2I? zLyVvEI2K_8P&35uyV;S1L_{EoOi>P2Bq69V2}B0AneX0_Nt|hniEk>v`zn4cb63%0 z81p&~x`y}XrrI32@tDX=GK02RE4gb}8C+%dO8z>NT*23;klWSVMwf%jEAs;BZI4k`o6F;0JwXwlkNdb#PcY8*AnqM7X}aru~%^S zP$PB*YX#WY!x(zRAUt3osxD@Ra|bI#O6-*!d*Ly16CrGYMFvcp8FTj#R|zEUf;L<= zNbtFe@^BUOJlTM;A8i9mL7eOHzg7@}!SoD!2WKwMB{GwqVa6!)3A!FxTm>QM89*E< zWcb{}Jn7Kggg~ihGco5D!o>e9Nl0+D$xMFiL=vBxhc6L|CmV^^abQH8$Nn?2>fz_H zxVu4*>~(BHLVEtg*ZX1&U+r|_6A5r*T0QjkOf zpKhKR1}F(tp@e4)fCuKiiHbTc;*h|#ne2N}|ZhbZE?TFA_*XDrQ0qF`Pccp`@LtZm7b}(gcv`SNbyp zN+BkNz0pc4hj@7CKzu8q4eTDgaeQRfz~Pljrlv?REpe-8qhf%)D?_#ZXlMGLsgn zDnx|LTuJ-cTtuJ%RYjkj*uqtXyYm;Ps*Hv^keQ4z5E15_E1?B>-A(J@chdJu?3}iu zh+t+^6=sH+F~&euF|$ki&1L4V2VF5U5fR*-F$TwRtg+1O!mSZ@S6lslzhh?1Ial>> z&djcR5D{z30N(HSWu#7SE+QDcT`kn@^~&x~wi~*((abKc_73b-_7AjkRmF&i)m|sN w`|1GTJkK@CH#hpSf9VF=i-=eq?VOqM1KVY3zjmkYUjP6A07*qoM6N<$g4uDjxc~qF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thick_steel_pole_top_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thick_steel_pole_top_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f670c4ace5467d2dacd97606681f0448d4f43f GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=Dh+K$tP>S|=w^@Q zBWv)d9_`#zV`heq6I&jfn7U@xCKs0Hl};`TR>jstPJ4Iv%mE%37Ntj=|4xbtP6@IK z)%SDBs?Rm@eDk|6_x7r#%IZq}O(7E}ZN6S}Y1hQ!@BbyAY`C-cTX}4_Z%O%ztm6}1 zJS~3vbf~=hy{>lomub~+9hqM53NzTQH+AcrnG3h<_WP6?{Q9@Jd+6I`R=1{bn?BA+ syBp#@`&N_iJIg2X7Pqd5{drXPS|=w^@SCTLV~EA+(n*1REe1T!bC(Ep6rcUO-dNt`Yt5RNr8$mH3tp*i zoO|o}XGMk`)^}uQa!yj{e7)~h+<)2U zO;h)%^&4KOo*#7IV!h_;4a?&9zTcr1A1dbQa)c+~sP($gh9`5Jg!X=ansa=o&~$fS zwa&*D%if#k?PQPYw+TC$f9K2sFL9G&4lZY!WS=u#iG7$cwe-F9y3}WrviAO;X<6%i lc5?CCuaXnOBERo@Tz6C=RMpA4IRF>}44$rjF6*2UngGs!l#KuY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thin_steel_pole_top_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/thin_steel_pole_top_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..8a14fa402563933aa1c1782c62ac9aaf2f26e9ad GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=Dh+K$tP>S|=w11EZ*?i(`nz>DnO2z7_+X&6As21Re$d`L7+5=H{evR?h7tn{JNZ zQj2wOTW)W&Wa!{XWq$wlb>cj;BLSd^H`&ma3SZ`sT6NCUR)kcPz`ht4o4=uY~R=J1J0u8nbP(+`V2 z75+nEhl8&2y!l$SRJQ!MMW5%BcbS16aepSAX}DH;bd%0Xr8To6S7n$ks8D2D6{;@a zRm|_?np;->=679S$kdisVV8T;LXX;<7f+ZgaPrLaP3(dXo_{`AFIrZ__4Vt$>PfAC zcC0Qd;tvshUb$#%TWVxNnz-pyjRI3+!_7XXZ>|_#y=ePjU;D0k{w?J@IsZw}FB86rqw%0FeMN<3#q~E`O#uk=1j|4wHZ`@ZgY?AQjzUY7wIO?k!^X62C zj(}Y#gap(2R%;|ISk-jG>HrX6RS|a6w5jUn*RAgxOp9UBUD#sPqS-^oFm&jIF-&*< zhY*I%$GjaF&Q&oI*5g;8FFuV}}JcsDx#S;NQ1WT;+ zbw7p~5?zffB;nOChuGSMRlQ$Gs48w_a+~8p*xfuWs)MIRRgkz8-&qiq(+Qq(@@yj^ zfDZBI*oA8qIvR5zJgQ$EZsWzq&A(S0HfL_8ecjiQlZOqqMR{O6d65V~{^!tmNu%GT zYvb%G!vhW{-fD1KqeF)PwipU??BC*Mi&Bv_D6kvemFve#Hy->{j92q5EQ|dvo^1Rt>=T0bc4>FOZMHUfN@Kjs{Z({d zGL!jWv5>T3=7VF|Z^; O00004%w}=UF wREWd#C~Vz80iLf0FD&sq4s7wNro;cKKmAz9Vy7yoYXATM07*qoM6N<$g4LqJO8@`> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_top_texture.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/pole/treated_wood_pole_top_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..33a66c4b37cce7ebedcbd54362474f1f495adfdc GIT binary patch literal 452 zcmV;#0XzPQP)W|w)Um2_r8KS$05W69qw zxBn->WCU;Pc4R=?tQFW`o7)N&9=$7P)+OQ3y+)(<02l)|kTDVf)=II<5D*e8G@C+1 zh-wd@jXi!;H3}h#*bOViEH=BE3}K+#q=Ncj?10x98Y@JVk$5^jhUGI9nK>+9RDeg{ zF>mDzNx=nq%S7UX`_<-_Vtsx>fJYfVGd00BHnL_t(I%Y~C|jwB%nh93~^^nv>R z=c*E6e)QnlJCj`!ld?c~KU7|?SMnX1iHMMydx;2VzM|@^_r8D5Ir-n-%y#2BC+6;C zCapChf;lIuimC$O?f|sb$V}WFRi(9th@dB=S|`MRg{or3)!m5*A_7$B?Eo_g-x9TE9Mp^~LTiTJlR zMWfuX;$A33WKXO8iLflZ@B2-m_fGGf%;dgr#u&8LP*v7i^xhGXZSnK@+|Aq_i-;eE zr+tUo9}W~fJMH={ihpKqdq1=&IHwMo$()mj;JU7lCg+>TOziP^a9tN;j4jYwi!sKY zRN7QjeMG#ka_La-qHbiNJ8OzoX`}T}&TD&$SPf4>&)gTq^GfNDqW-M_00006Z-NE~qv=BKRK({vxj@F1?!Wsy2?^ySHy7 zfh#aCfGEWg&S2vGhcEWGemDjoP$qMN$AZl0^TMtUC}JgF12Q<-?I;dC5(CT}A%10U z1D>D1rq2y81uKPRzNOvVFrGeSH%;*I>)n7KSC<6Pm&7E-T9_B%CR|$mz*j3sQGlrq z6nAlwj-~CCrRe5^;}Pc>L_; se%@L+Jv(EbXO`ATL2omB{o~-ZNOTPT#^VSelVDr%lPk;HI*1!?g%MM3KF>t=!aeVTC=Z}A&3xT;9wK{RC zjcNt2mDPI1YPsN#^DVhlwo_oWNK84i9(n*uF?QL=x!~@^dCm-r#Oqv`rirN-U5KQV zsO}Uq0L&@?`(ogYVwJa6J@U=hU$y3q*hSXsH2}NIO8_)R+ze5rxpVFMb@tBf)N(>#f zRuG|DCEh-|$G>qPPnmvL(%dPva`W~bZp<^)8$pHtCd5E|@$3{)K}6Yne8R6!zC{FL zI1E_4ky3nfKl}N+16@#_KRG478YhAZsq1iaM3rpL#cm|Th_*&;jV6i}Lsi-5!uezi5 zK%?^R<`@micsVlkOXADl&ZyNCJGR1PM}l@mD^K6&^V zv6!*l&u9p=*4`*vn*%WPOa6SlL$8p5tCu?ac_zjfDBc(XNQ{IKuu@1N(RCd$C|&BH zHEON6J53Je0>qoQj(BIvlv+qBfjg+O=sHk%?}NKo&Uk~8XH*sU16{SsKU^4MF27uT Q4*&oF07*qoM6N<$g4{Sz3jhEB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture1.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e56869407adc39e092e737a5912cc28048c2eae GIT binary patch literal 707 zcmV;!0zCbRP)U>nkjCI*CzeE}cDnIH(hffL`sNrXlMqS%Bal7ZkjlhAFh_uO;#Pi+Ss zI{tv)q@Z9e7K*cy_uam&SGqtcS#uGn>^CfKn=BuH;;BcWjr4oaY zQlhz2Y6YOy2Ee{l@J^|Xi|Zxw%~xOa)p|oP!^{v7ru|5nCe#eC6;Z`vVzC(5?{?H$ z@eT;sZ%>X%K>(rDO0+;nu^?Q%cAW?JzXM>mpJ?s`RRGq@1@9kzjF||}UyQtQX+w6% zb0wHD&h=cl9ryg3?YJkzfO&UNVakOVBkm4>h>*jk*%yPA$yHi@@ zgTs%Q=b7f6pz;rcU;+F6*JDHl5#`Fe2OK}V4iym#c=ufOaT6BdnNMlF>WrzZfcE?mHy6M~X+=HhFw(^_L1ckKS$ zv05&$qoeN$DzsAm)AH@R_jvfz5sv(=z_T>1HE!Pd1WN+B6vpDv3WWIT0-}LhDoA)~ z&{4oU?B^NFwK7gKsJ;@vB*uuUFboNLr?rN=)8%Zr0CwZn9i}N$S|O#xa=D@d!;sJ+ p@#eJyYR-6vl4n%)d~B^Y{sL>rLE72U*`fdd002ovPDHLkV1o5ZMza6_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture2.png new file mode 100644 index 0000000000000000000000000000000000000000..8832f881774cd89fd689884e0b7a887092048796 GIT binary patch literal 728 zcmV;}0w?{6P)YwvRl z*bW>EDr!p;4Cz2@0_s!v0zQZ{K@fZcCq9J(b>Iag88n6NKq6Q#7s%INejcm!21|*Q5+XwPN}VP&C64<&qDsmGi^a%cx5M4(0SKf&etX1V z0tnTeoQyz8CcJn4fIlyP1rb!0V=1hbOWYe~%ITd8QW9Z%tc=Mh-YH!$gZ(tWf-1Yo z@m9z=alJb*;jymE4a znc=PB)yYF9TBEpg`~F9`JJVFCwJ;8|nNulPGSbt>j}R3^l+(Kx{Pg{|3`waiP(Vaz z5tu6X9(>H@FFzn645s|^?}2o+J7OvfITIn&9z^ZzrWx0I9Ek`@>xdev%Ar)Qck^4i z9A<*cWGWYeP!OP%{jWlxCc@GT1=QnPf^HGDOf? z0}=M6&N&9sTW9C2)*D0xd#QpOeDKEEIbI4qpq2?$rT2alr2hcS4?`m2$s7^E+&CF}E)NSsUpTCdW)5Q^1ORGn?AOM+R<>i0F3U;=G$)dF%(bx@dM*wN z=FWB~)MhNz065eJ9@J(u59G5?K8j%&>G~d3MMRhnd+I!sRB>}eK)b>)^i0!)w}uBG zpuapmqhtYu+8Ui^f`n$_-S$dtQC&{pf4TMenv#NcmF+-itx{FkBG1|KiZt# ze&NNJZcxpc=7rXb!?JR|yP}%0)JpC$$-^ND^I93k4U&}L{QC$2tiLtnl5Hvh?ibzT`a1L00J!P)f~3USoZWsRtCAwH2tpE)GAShvYvt+G z$Vt$#DAk;`uJnCD0CQ)*HiiH#h4ABkA_$;1qsxg-GxGVTABT1Y?UbxatBu{$a{xBm zEpAS$6*J@7_3K>jb|iu6YGN}E=pR2l#LP(&G!G)2lrkQ{=^MBC{+kC}+isYv@#oJV zBBYd9*UCG0-$iR{Tpkuu&O`*Q9WQI)#}?zj-xqsQPS5Bk5zL&!vY@J&>cJ+1sFHK0 z)k?{QuItd8=t>6>m>KR)$nm)VdgGOwJU_2gtCUh0#|;7WeIfOQmtTL2wyt2f%7KOQ1R?`STYn^@V)Y@=&^6^-i7KJCZG0!t|>kKJV zO2OP|y#vs@0dQy?JZRl`=3+!X|McSs5Au*%tyTc+w_5--XS{brm2l_Q?b{r7J9_VU z00Q~Z!!H4t4+lg90JD?YyYGL%)i)171XX3Om1!L5-AGBfytgI;?6zCn>_i}Pq9!=m zP}#jBj%lL1pOV)^0IeHC(o<|-eD+BI45ctm6Lp?3Git5WS^-$CR-~LsIpf_B z72F&Z$bbBHg_)xgbPpmN)r3cIdG`$-fBS%EZ%xe2&W}2EqSnUxt^4HGJDbB1O^JxO zsjP(qFpW$8da_5)mVxt2ow+q~&WYy1lt6MOr9^Lyk_y8xkdrc$0U|In+?}{78{`-6 zyv%cRrCFnt0`8#7Vi-W-&fVA12sCAm#~BeJA{fqj{11f5U+GS^s+<4-002ovPDHLk FV1i8MOQrw- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture5.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture5.png new file mode 100644 index 0000000000000000000000000000000000000000..baa5672d7a3391c37f6337c5ff796d4408a6e384 GIT binary patch literal 729 zcmV;~0w(>5P)`lfe4UDkc};~Gkb4$RW-rP z5^&N|{ix1&>WV`j_;iE@VhVR9RgvqECj-k6K2NElY9L9{a2Kfn494q-Kxk%^oOs-JT+B1C-hG#|uRjM7RF$b#R^y17lag|La!Sr3JbAt&B?X|*#V6vtDk*ye}7$4{`~C``RR5dsW6m6?}DgOEqK1$l5$3S$9t!XBAQTDE^6c1)<`Po zIAlbG+A531fB+YBr6aUvxF#%O&q42WU@V!d>m>m4*{7d${-=4K0a#tRLU@ppQfuXf z7q8;(OuH@H^DV1!N&e%PGu#7}jzy>UKs6D)bA0jd`v#Yq&eY9<0@7L(Vx7hmZg)76aBAgi=ajnkK3RW(FO?gHj3r zyYqAMjaP2*(o|{Q7>0pyT+t7MbTRPG`yXJn5*=EdQB~p)Fo1snF~nMV47dP*00000 LNkvXXu0mjfJU~jx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture6.png new file mode 100644 index 0000000000000000000000000000000000000000..6895552a90f6df672bd49c30ffb70a82209ba348 GIT binary patch literal 751 zcmVkq_ZZI8rB3gO@wR)cjJ46bW4j*o zR`K3hF6S&)8^&6hOfpCUcY*-vtmX@9ZJd`zDHV4|$FVS&F?PrDfT*CV^d3Oq5u}tT zw z9t?vaqP%$HCilO)jfgNL<@aCiVT-dJNrfS2A_P&TG^eye^*|%&5rim{y(y~7wp5m9 zjiiE22cveU)WT#kAV7B~+_9w8P{KPA0TBdHTPG*QBalx&`8aB8m>K(rhqT)0y>Yf) zGdnoIyOWYqN?|^KNEt`2UVEO$tH;cyd)SY6?+_k{z$6f z?N5I3VD*SnD(}4aJ~pw$dOM;iQO8Pa7hn%(v6wTP?(z5P98LP9eHEd1XFHCVS)zK7 z=|sR}GSF&eNCT_o97{?bGDOgO$K45$iyZ^@^2se;s1?f@fHD?>3!^;QW4l??O2Gqa h8BtZ-{olQG{s9}HY&2FWSkV9g002ovPDHLkV1nF#Ub_GQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_texture7.png new file mode 100644 index 0000000000000000000000000000000000000000..966aee469c9fa7b77c264e1d6ee01b14ca13b631 GIT binary patch literal 742 zcmVizq* zX~CJG*hU)D(qIz=#eowS;RalYV@Eo11%mrf5o|NkAcDEmr3gSNm8WwCcgzgkwjF?qP@9orAcaT>3hscT0<|^()>5(7 zD76tnK)(6vOW(JQhCnGh<8)xpnUXUS1AXccRbuKGhMskvskLGb2*h76zeC*s!EsUy zI7$q{t9Q?Mbae?Ls498inZ}V?8zCqs_b!N0gk>v?eaD;&u^J|V03jUa*68i>#jBk_&XbDqb57!!Tp zvCcE|vhe!pIY-CGtjmG`>#{Hm0{|fg;@^)SAS#F`CubM@@ym~hKn#&BZ&Y`tv1i#T zuf2K7KYu+!MCgL@_~8}tdd>tDx|CR#m0TOm9HD?HUK`JrOf#n+CsdVnFKh)w1RcAG zh_IKP!_g5_m#DSj?uZ+t4n&?Sfdi#BYBRP{k*~k_+)J(0S_vUwZj^n;nlT*?bp1ft zH=aECmuWii((%h|>q2YBG!Dc+f4`zNL&d4)xErbgbLZskcX{~p5A;#lO5-WKa6*84 z7w;2Gt*qNlF-KKjC|hdf1c)(mJ!drN|E!!ShP#vc9(9~KXB0>=5@P^2hAwgE&M`44 zsY?XC{f4zhX-2i%y7<;R_c@In=8Y|9#&N=dzVFb!!;)O{!Q1I-#Dg1fWc+|X*{ YKL~Si=sh)*xBvhE07*qoM6N<$f>D!Ai~s-t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_top.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_top.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6bf0d87181fe58b6d37ddddb4a5d3a869ce263 GIT binary patch literal 506 zcmVhDFF-$7@QX{0VI&aFZ1~b+%6n z(916(5e`ZIA8f>uomz_)qK*(E-6(L5&;(5rb_x<430|4>rfU&8kPJacfX^a$)opx= z=Xvn^*2(UrGgu&YSzo81hvQ(IuTN1LaxXuB6fmTRG8^>Ag(W_@^9@>9f*oUxZM!A0y2P>gkcj|t6OV! w7nx!DZcXz3m|+Gw!Sa8#?j{MA2x2n)1&Yo)Qoy=V3jhEB07*qoM6N<$f`357xBvhE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall0.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall0.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4c3064a7f39a0c7ba57198be87bfcee40ea07f GIT binary patch literal 692 zcmV;l0!#ggP)O&BzE^7UN)u8W-2M+`WE9RUui-J@CKg1E#_>j$}_zVQtAj4>RVDRuP$? zNpBqy<<1peES6=`yj3aAX z`SkM}=6UA-n5KyY)Rm9VpQEPCyP1>i2LI#Nx5uwa(H}dmsuXa3^))}ee#zMf8?+6umbSyk*j|$P7#iQ9(tC2vCJc)P$;{ zs-TLSy%3t6{@&96(hW-Fq4$s0gA;Rg!1l zq6Pl&ok#pv39QS?{;;Dm*&=v!{e;u$L}Xzqul7bX?*4g+|MA;xk4}vT?>^@Cm#;vC zEsEo|p;atfV;ToOym`v=AHSihkSyjF_=|bLRG7w*Dq(HG{TgH?gDH{4G&m}XsPX6B z5rD&CkB^4$$AOl~);6YTWE`9=i_Go=6spn*txmz{hKpf?BVT;}S@|&HgJbTrt?~C? zFZz^=3o;TjWnEWZf8$Leg5`c@zMDDhclb{~e1{2VG{HnEz*M-pzTwxOzolhiXP9~@ zLT2*hqi47QYYVnWq!P^0N=o{HLTC{kv~y|yXBU%vMN%d)b?#yF1b_Xi4?rV*V+-nx2BTUWARTTiI|4_mb0U!&7P&60u2 QWB>pF07*qoM6N<$g1|&RL;wH) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..02c3469815a7ce928298703385c11a9be06b74e9 GIT binary patch literal 684 zcmV;d0#p5oP)LPfb$x0R6 zTe|m@eE03^>>db-s3Ib$3YiHbiA*FRMaVI*VvJ;)O(;GFK9Vs4(?nEAha8ERG9pk_ z#uzBT81xv7kxWw17>S6G2&qPDVE~ay_drWUR8Uc{f{z3QErmf+t{y)_MX_4g@Am*K z$K&Q$3eh{F3c$tXCG+8cyK~Z^{C;zd<^T~8sAeQWEy`!lUT|~$3kj$SOYfZRcDN5p zQLestP9c+JBpHFIum+e4^V$JO6%Mx@kD%7Va+qng!0K2vR0KqgsWo3eMM+ zR*W8j>1i*@vN{0af&B3Oo4j}bK4ykT;N7XMk`b)#Os(PWEXzvoD^qI#%=3}Vr2O&g z^_H?4S5Kew^Siev*R3`YAu=&lzJB?NoA*DFnaD^E9+bZix0ni3Yh((2B-w+*vH);C zO=Ko(3`7kP<+iV2h0+W?YZX_3TmSt-JAQJ>U21Sfk+m=D84KpKr zOI}0(u-X_SnA(Jz5(z58ayv60XLeJg{Q28QA_gjnpBPtF61aNu4IkeB$S3DJmOf76 zY!~<7(??%Yx;y{Q3u;DY;vN7D5`f(_@z*~`)HWIc&WbVj;NtRvQi`Ew7$Bu=b-FWI zq1H+*Mw=Qrk{Fx#arHaA%frvVVt;;ts9>inxT_ByJbH?+D)McQ)u?ZDU_#gA9t4`Um)b_{T|+!6-P{ffXo_GATIUX=iU|-s^4$b5cP= z1x?XZRm&g0|CY5mLL#b&2qG+q#50kE6d@xhR)}QbMX(k@izLHQO+*D1#oa*_i9m}I z8Du6z;E_ZGh@l>dh>!@Wg;XO*JfSrwixEJkKrs@4g$Ie9KKhP~#5&{X=m>!QZU=yx z5v?JrWCX`2C+x=&Z;i-B$6mdBfo6aR2y~^82%RaL&%WT@o7e28iO58NzV8_K2SkL& zPoAP=a@&HrHm2%KZJC?>#FzIUFt^5dm}t$}Pcv6HJE}WVt(2}{A~390h&$SKL^v9Y zf%jG`u6H8|RChA({K}-L;?1$M^B?$#0OrHYdb1)UsP6po_zBZA;gJ-TPrL4o-G^)J z^*=9`=(KRUz2NfiXFy`55bo4S`mP{aINM(E^3P|>C6SEHv8(YwQDNx&B`Ou>8rw2s+YO9=XFSz;d3V_Y=G2ub06?aEU;j3@9sKB@z*{oOCn}08H4^)zN*Kt)Pfz$J! zxcuumC-+uNHF*1Ksf(&otMlW}zhbpDKHN@dDP$(C`CTGQX;;I*`|CYg^iu*VLPT;q zO_*7sC9DB4qm)8xjiDG_*U?#_A9^wp4<{pV1kpv%9(?_X&kr-zD}CRyUT;WP3>|tN oe!Hd3Gm%i|2~}M_5%A{x4^@P1To)8dGXMYp07*qoM6N<$f2uKJ>2@tq@y8GQ*RRnM3tb)=x zNA;bO=g+>YJ_4Z-RYU|;p{gK@s6q-#gv!L+$YPsK@R7;LA~P^8L0f&BQx_nQ@vz}#()0)W<#gO&68W+ z{`L|m+>DH%XE8NH)cEwtE$?2vq^giC4kPe?4kt{7d78+Ppu*ad|LzW$J6c6#f+nL6 zM3hrs!5p6q-AxTurH{_;VuvC`CdVF(5ri61MMPq1ATT0vF{UuHT~C)|Gh&^KM>fE7N_2EcViUn0CC667-KM-(^{js zG0hW|MPyK!1cK-$=pTLZh=-?@9-V2LAQM!XTLXoUAAf;Xq2`>=r|t2oXzt_){s#kf VVfMw-O+)|y002ovPDHLkV1k&wFj)Wq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall5.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall5.png new file mode 100644 index 0000000000000000000000000000000000000000..8d30e34486ef557528475adbb3f8ba8cda75afb0 GIT binary patch literal 693 zcmV;m0!safP)L_t(I%UzSPjvZwTg+JT>%-lQN zjgl%|QbxPYCQ5{06)LJc0S~}?@B*pw5IhK>Ku9RXE)-Bu@B#$(&fb~%f7=wZP;e?+ zIzF;}Z29Kvud+5rNJJG8L4*yFvjJJ@dM9@#-}q zKtym4UVQcirMAY$X{PH6nMrGY@5okAYh_+5%d%2i#oZAERb@OJ&{B*Pq1Hxg&M@?t zDT>f_9rLoV)=Fz_6ZWk`fV<<7^7PpykLQ)@mA>!U??)20g$_NhzkEYmS0bUV3#z(( b;ywNWh#gTApPGEG00000NkvXXu0mjf9V#)6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/slag_brick/slag_brick_wall6.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f210f839419960f97629c39fe713eb7f9a28d7 GIT binary patch literal 697 zcmV;q0!ICbP)<)aZ~;~vf`hXC>DiGUSS3!W>qwN9!L37L2G6$4fXl5+O&G2u?BmF;GOyK}s~#mul; zNq0mQ5n;RAF&~e(JCQ4={Q2x>Gy_CHpxU})Ey`Q(J>sutSL@UaS_GSEqW7Q_<@}=y z3Yi3Onj2=y;nYwORN(!4_ed4?uTEqpwH6Nh0|3Pgt40w4wZcXWtrbouszIU*r7#pD zfnrKTFxH9)^a#8=<rA{nY7YP|dKV}8H7Br}mnQiXE;>V&B<4#TQSg{1{cUuco&op&@Crwt;? zsV!gyK`5J{(j#cSF^&U@;1Og7Rh13 z$%Jtn=)E&qVgJudYB7d!AS3Z`G6F|le{MN@e8D@dQECNXnHQ23RL6ehR& zlSa%KL~2@)A0>!Jkzgq-fPJt5Ml6E8FvtKRBxoTRpomc-5~Zu^Rn@i4paf@b`y8Fm z^6fWY=hhq{5miJ45q3r5nGi{eKqgw0M92tA5v)bfB5`jNRZzjS;O?MGy6;07kU%EQ zoy-I=%p><}qEHM(2==Av4eL6PBm<-rk^qEM#WS#{UwnzXV`kJ^DWx!vBN2g`A-P8* z;o|;1=5eI8MkF9$zy17zXd8%NR_ID05js;ox_-i|+h0gPRamx-!!XcVV5VF>zQM>O zGV$iD&9PDlgrdTS=QCS4OG`YQQVQpBqIMn2;;0HL0*B)f>w4;NAXO=nWG1K62>~{D zRD_72NWncoggP9s>qnpQp8_!JsI_MvN5*O5!Kcr-xV&VZCIpzLiD4LUZ`{3qhyDHM zuZRk&g{vnw{QmLuWF`{H2G~F2nW94Nd**3o-Wnc( zu!1Pr8tC02{aEf3u-;` z!}s6i)*7ufN-0DJ+qx1S98V|uI<&~F72)yCSJ>7X^RluP4#xPz5q;kJ>is8ZD~RizA;x_0Y7kfr}ZrVd>@wNup&m66;e9oz&v z9_-=++`}A);Q$+hG2C5;D7@4A4v!wa&-0P~_~D78>L!2f6$uAC7|jk}ug6h!6M*gA zB9R#n@{Msyg$kB!v$>HXn=6n>#t_+Dfy!wc$AOa3qJK3+)lD36jiF^D3qd9sV|ILO zBvy5kpwG==xsH-a#`y8K9ol_~&p*1&V#vo&zyHI#+1yBxKWXrC|Cq>(hr@CmfW?rH zY_5P%b(6K_1-}0>gc zE(SQ=F71m;s%8gClDHe1rYpuct(=bXkmC{mQ?1rUND{B|71kfzVQaUD>~e8oK_cu& zmL$GPf52g*i>?`b9FHI*3CnR%!T}Eek)W4MGRCt%i(HchZY&UB*)~C+o9(?K^ZrS$ z554Rhlv%kK0zk|KrYKdLWM8YOx{0gbAhUEEfS}LKi#Nw8vOukvXhsX$c1F2qMhitV zTBH+EhL+9tZjn2)UWV3N*O&Xp0BA;whaX0G{-(s{MhbwRxAs`M7ec-}>v=lsbMxxo z6P`R;21%k)ZD$lZPW`-xOOaV$ zj-K5Rrx>ob9A$V;wZ`h0000>223dM2_pI1T{W|y_CeUfT~TXQMaw)RJlI6MC^R{yp5ib7sTQDda0LP%fFefIG09fPZ@Kcacs0Gz(NpnlXr zcs$syOGc0JbhFCkfRDsfnEaI(rE(RYSH|=6Hw!L6cuFB33zE|m_TIE{T$g(HJwa!{ zZnMp7B8EN{W@tNH&_&MyXIxLB@{zY+t$1zuDwLIEGsN{IDJlhSr$ z)DwQHEerY2%?h{XQUDaoHIizCYRjT#y(6mxY5HCI?*{+`FL_B$hxstDu?OeKl0g2X z^83pJ-X3-E00+lCY}?`FNU*w;MG}JNI|t~o5ULUyn*s=cQtg=Cy2VUFC80*R_w5pr z5G>E97}^f?mW3LfU|I(+8lC*O4WGX`S)fI3cSmG>*F1jzfAT3V;@$WHu4! zmp?W~24<(v-PHxoF9yhx0ATsc(PtdTWqE#7C)Ef(uY_rxQEge=`)+9zrkmFiJbtpl zPv76bFuSh#I<%MM*si-07*qoM6N<$f?)xLKL7v# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture2.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture2.png new file mode 100644 index 0000000000000000000000000000000000000000..65c39b9b0ea4e6353b2f7412578202b6456607f9 GIT binary patch literal 850 zcmV-Y1FigtP)DoH5O6S6D*>gBh?GUM>8^`LSyWy2A9UAE|3@ly({(qnDw3O|i;%{ykzy); zpfL;+9A`}8V6bQ0g~KR4%PZY;-}9X3O80Lsjn@tZG3@o0#JWR#lOVd%JCvqC=0&~Y)_XC&hqEz@Fab(UXt z_V{uoi(%O)exHmY3#zR)uev?7$j4-2VRTKUSZe$)k*=w1S6YCCVcF=Kia0RZ%*7)B zTn-!z%cigR*{dG0c`L(*b=(`EF5Y1@8hK~Z{o6N30lyC|97NYt%y$mu{W?EtS_fgWWm!HEdXBHJubuqkM|F892Z$gY~IRnYQII- zR1C{zAsOYjKg#0--``ys=`)i|t3ia2JZOEzPgV_}$bw?2;c>WnXl*Hl~d*0>UziXs4mBC=hMlQ{t}y5X@~utU+MPxD6&9*pJ3>?=$gvq z<$&Gib>z@BzMP^`KjGqXh_0y|opveLObYod clfeN00S~`Vj`_(`B>(^b07*qoM6N<$f~TB}&j0`b literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture3.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture3.png new file mode 100644 index 0000000000000000000000000000000000000000..4af6eddbdbaba1cf51834511d7fb4688d75481f1 GIT binary patch literal 809 zcmV+^1J?YBP)>IdNDImZix?S{Qfw!+ zN@pKYibbUo&$j024V&UF04Qj3zp4q0x z+D4g1`#%sDIa*xXmspBZlb*xXmt#6eK4n@KM-l^;pg2S;=O2S^CKSejlgi zh3=%=>|&V)0L_B{W&8}KdJCseVdx+6)72C!*$n^e?DC;K!hG5Y#Z|9^nlfTIuQyrA zX0U-=vBodg((HWNW4*Wyz`zg4zpryjz?*k)bKxRRp+Y(lN3D7tW|A6Dp1+~jKjczU zL&`A}DM%;cn0l1;;x@~R)4bZOp-6$->;j-jfmEbmYH|W01gaF2+!n9j?@-_EkuqZ8 zFu?UI7I$x5qq+A#sw%1P_K*Ni3!j)u9kV_7?K<85Ax3;0MM~0NQ*sIw5R$cxGJX(X z=@ZBjumuKwM2#Kjl==X`J3jcZ?mS&UT>#8Dg3YD-IgRhB+hxdLSntC)G z060AwVQDsrs>tuEJ@5nOES-|uqUv=>88Kw<{12$gacxiHnNJ(2iUi>H(hLCg{UcQ6 z7{Mu27z*XsS)}zAd%@yyE+58odNcw++&D+oD^vZrhu>(koXs%s1GXA%#L&k!HN>C4 zXNM<@wyCk2%d@;VO{v`{digd-TQ4xrjw6DD5b@^1#Sl-nfHZh#Bm7FfewG&@UC<n-B*GB1x# z`Q_w{osaGj1Od9RaXp`&^(T>UzS;>iRY8tQ05sp6lf5;M>-m`WnAWLHD!v4OrYZ<) zgy~F}zPse<=LO`HwoLUvXLgGD3`XC^bS7N9y`;32p(AWc`7{8+8u9T)g1y5wy0DR} z2RiXYjE$8AQn5vJVUvt4(&;+@c)m}!?}W^ER&KI)*ru3U13)h3)-cQ=9bx17K886Y z8CxV3UqVxr|6HCqk%}+jdOoj?4WwB>Qxyzz$nU3D1S+xULKdvn*Rlna#d zX@oUm`@t&mj9pkGO8GSVZ5t^PA$#W*1AENv<@ZB=|DO#2B(xZYFo}Hk^%p^-)yElM z{O_yTY?6Qo+I%!reSGnj`>7a)IYd(xWWyY?v3eUhDuuko+!`5enHO%BX=4{-45l;T z((`a#pXQr$lxtDe6Dm@t?;uB|P*p#;dPx^HD`!7qIukm5hsTc|hK80m6P!gqXmCPRYI_I) z++oOo$0XQAVVEw6SpL$dU!TtTTu;7z=m7kD`U-$zK2684X!k7+wo-Hqi!Gk&eVUIbrgIuXgwdDmnwmqa&5+>NgD%jv}; zBa{jm_Hs#n{QZoYW&qGJET;Ah$8m^(kI~HpM_5MFhln4A zypKoY30|+4llm(jq+?vYyXE9%i@jVDw;&)cd8xMsIMWGVeUanhazI2{K@eQHKg}v+ zl@L#VdX5|mVIuXe?huAVKKHE&t>l%pI z46etdVrwL#67sUZyW0u6Ibv$hs5ZKUB|l%6w&of;hDGaxN>LC1$faWo|NY@xzWH(+ zfX3@S%S&!fUbfKmA&MM8OoaoFbD0=#uE(?ui?(4Qt$O*_95EXIhZ>Oxt$LYEZNlpk zu{9rU!$NSms5g7K_qUP@+M*!v`TYcLQDDg<(&=9l4+r`F*$Zwbb1ndTxg;B^Or_SG zGXOX&@1X9MF(>nh?mtKpUGwwj*(JN1Dxx4z%%?dl?*O3bLrR6roIx?4=7)yE=bhJ>vt&UwmCYk;&Qog90!0UkI4TW0!n^1n|Ff%0000XaN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture6.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_dirt_texture6.png new file mode 100644 index 0000000000000000000000000000000000000000..043479857848d0a321ab168fbdaf48de10cf53b9 GIT binary patch literal 857 zcmV-f1E&0mP)cZco`5w)p>bl!jQCFy=h(>8r{bY-(3f~svuru zE8JgjvKjXC^Y3qGo69wuCz~sLii>)SR&T(MzrN;SXb}L}HN2tP8}Ryl86g~u#}l-G zm#bEfN~4P;1gWDu^;VC`1cHi(SR{xn3CcAap#{7E%)9Rr4)_2_XG`p^N4OuHXLmD# z5Dp|E*nSiO;88e0xn=_(#aDyRzTI0#k_5`Uo6wREt9?z~?%{FYK?n!uHJk7D)@gRH zIlH(*mL&o{4?Ty30Hze}?o^W`xaf>|Q?O`!9Fxsg0r=y%zz7L|%$Z5*?;Oi>GP15J z3`b+kMw_VS=lO4c@pWPa>t@2GStk|=^1gIQXvqhR2r3?KdyGtB%0P0uDOQ`Lj`BRX z=Lg{A^qj%X5VO(7uPzeR{1}-6#cFfr(_SKm9M$~fObdr&`ZTg6W@p=pg{k(3y!~L2 zKdW$fuuaaiFfs+4PML~XL(&&Ndv=^NIXu|rq~66P;N`m_$#@i)aFRC}^t*hu^N_1f z9{^olfXM`1Ri*;~I!H9)#|W^FD-u3!_34D!jXaUAb0zdy~Byy|8%EyA7m##l?0Tgs%^? z6pvuL4PM#xuC9zC;*&Lttj(nWxbZ=hjqQB^R%Vh2w%b5c6%vCIk|?0YBYgYm0#Bb? zIPWe1Ser}ns(Re#(hIg64@p;KEZgZ<$eKljP>A=%Hif+k1)%K*0Q_MVDJe3GX`P-( zmgAwuBmDgE9{`p!Nv6g}5rh!AJ)7A{l_$B^{q5+AjCI9ISLAL7Jz1TZAn0`XcmIfI zFDn52`MkvH%mjyLZH!3`LyaK{0@?^t?kIeB-1_x6J2j|@8gCDU4*f?ebE zyv55>9a*BEd~M!9GSnEGJ7vm_M>s5Y=Mn`DoMQl{wKxDn!6mZP;*nWpDWee|5GdI- zM0|gJF|D)f`iv){WVBJrM;^D6W9$?UG52iBjz|6UoaIcC&lU|Xn@y^3PPz;L+-AV{ z_iph^cAKe;h9HCh2myEJ4g4U$I`WW2fd`Mb`1;;FJ|f^F=wnews7!Py%x@bn5QPwGJi<*i#;Hh1>9_Bf_XwmiqvSyKM?G}ovWs0zowl1zLz;xxSPPT}LJqbQJMl5L_dLqwhaYQI1yi<| z-QUqa`i6Klp%ezhG0)Q}1GkCl?o&idPz8>($*{0Y0}*&WhAr7F0~*pH_3mku1-1@Z znRD=>i_#r1x&MT}jOe}?P^k(UF`LjsoV*?}orXL;E>X7`x@@u4bf)7c+TAX7QK4)T zdi@@%Vp7F1(bJeX%~=N_Vm5xnDL1s*27AXNP@vsuqc?3D4IM=&T>tquS(4K4>iqS` z74ub!R@an5L4cq$dW*Z;XMBA{k(DIth_cuc1|C~f4o;8JY)MuYeELw7MW(JYculIJSXh4rpmLQC^Ug0wwVgrtH!0b_nKkdczSyH%Rl6@#itBZqe-Y zSg$rr$B#I+ffs~WN=+HA7#trXK41P$5``4CN>lDo6&bc67`}4R?G_(?{*?+iIy>X) z`j)Dy5mF*eos}OT+{06>ogU4)AdQ~M!T{YcX$=mjvJF4HyTGwb!YHQeSO`&}8x5S{ z5uzc{g4r{5Zj+P(vle7|!EEl~b~>yofu(}K-tg7Qkl3|o+AX4ZOBT$roj&65;x)5} z2fCdmlaDu~g@T?(B;Fj`X%R#j?rxu_n|~>?lFiB|n0z76x2*g*qR0w{-@T!V6V{sq z%XCmJ8`04C?WbR$VKM*s53Ric$dveU;joOVf;(5?Q!E{H&ci)LF zf2Md_BE&?tC~9}(|Ae&A)1aR2=UwXHDR5sEuz_4JH49@94+hUf{S z5LGehih}lSM{%gJy(2{Yv|yxEOd=1dSv)?h@O%%$c93<6A{4%U{)ehO5RDCPZ=cCq zgRaQg#7hJS@=hfB%W|)gYUex^5}Tl5iFx>8WJH>DdHNm#o$)vh5K2vSt+e ztZ#3y{0VPQ-$~*P(eaF4_6TEu>G&ABfjRVf-Q_IOj*+Eu6c~sg4CtiQ=$>LaHJq+pbwXEfDRVw3Jv% zPrkTgdj1Y^|LJeaEX59H^it3@6@lk68L8-&L%c2NfYXaJzWukP>w1LiGMS%|#A~$R z{70<7rrbPZg(3TNhdrG$nx9goTeK!a>sq8T;COa~>)03r9dj6PC?(o1exa`&N-0qC zoT_e!*IO*Lt9hV2PrF1OwcXXw>ONY zb7YH!|@_?Lr0)=q??$E0q0jg@tUkKy#QxA+(nC^5!=pF9liZH-n~(QYjX}1&N2vXCil;k@q^7Dugf39plD28-4M%k60a=nF^8#lyCQoCW;fN}Y zsoNG&9ShEeL!>Scnnu=k%r0+f>Wb}pgDEv6Er&E^?DjBCi^KjvSLQgrkEqg^K`^4t zGTN%ak{U&xkZw18xO-%>n9|e*o0GyT$ht3F$V#s zwx&*Fx}u=og*Z~75fXrncKM`HC|lp^EJ_dn37I%U~nN`=ijqCdIf(`rqU zmz*pQquQftO~v65GroOIS+*RHEu6oiNjCor=1+X20l~$L$zsa-{ynYfAk^WQ3%mG? zrKyo+1^*3p^X(fxZ6egVBv*9mG)2`URlG+uRf(#c$f5|xG*GPx$Nd`L_df^Ic6)}? z3Fg@uUT;F4hIm21=HVZNDkQQ#5?oF}S|pnlvzr^%FKc91vstcif)RQYQl&9vUf{Sc z$1G+ra1jp=D~1CLr_0d2K1dVIu(9kOjxG4=JDs-3sHB7EkEqHcFON^SeTU`yd(`W5 zhbBufEEi!2qHWCIzrRH&D$?$uO9#Ul(X&nJ_C&TnP~iygHU9$iGjID$Q58)9 O0000G_{>HUS!#_wS3xn9_h``KQu`$ zh*lx{Cr9YEL9|#Ah5@DAMJZO;J&!o8D60y?)M(cY^QF(gagax&_jI}zZ4K7p2Gg|o zFn(nAFr#N`F1vk z1U{YqA)6?o$^>`6{EF>3tdfFOE*NxGq*p(E-?Z`sY>!L`)TTyLTU6BO-2peh{lV3< z6GSS|+%6s0B`Yc#+EnohIbJQfdsxy|8f?p8y4Vs#Ig)DP`%8w$$81GT5D69^=4^rm zMKDFzbr1=1+wQUBITS^Wl%@>54wh-4+C!S6z;ZOw3W79eG@eluU=I&T))N}JKsEyT|z92HEh=5aEIwt-_SxC50UjVX!})9I2WDRNc87`BIF9d^_}DDiASB-4+kBn-AHQ$2 zsvz|CbZv(?2)KMTBQ07QSu?*lXYYFKT@O_^v7J78)8hI&rjCPHtv+Jf7Q@p8h9YTO z@ZCL{rqF5z@9*xAJD2M(-!PuqOqW-bd5CHb_`^$4Z(iThC>@$`hZhzsM<&lvgUCv{ zU6uKAiLfkW5u?b8I9Q|GHhL{-rG|);6x|#!KD}W5;R$^@qpwM#Lqe~q2$KST?Xg`w zq1$7+U6rOh66ZClsvycZ9a37uB;ETMrhzh^GnBgb?IXFqzMJ z`1u$7-JafbO6TsUA6ip`?bDhhEje3`X^#yZ(P8WQ_uj5l#IoQ_BvHWf5l?Ri3dpJEd+Q*luWwl=Uv*;qEsg&qc}_fuc|}f^_fGw`@}1MH`M7 zPbXw?L{+yK&H{U}WH6pEFb!sxOLR?V+&54^ySySj1iX8v$>WGDI1q;g z=JB5^qoKvImIx`~`NJo^{^kv})@8T)oxt1E5dv#q^YXM|`?&t!D}Mva$(IXwtTWaC O0000e6LhITV)dHsKF?pZ(E8A`l=w#GF;1I`Q;JU z^Qn7Dl|7I&DvNJRgjDc+2USz4F;M9tO%i_m-P$W?HC4i>wnYJ3!Y1L|!2} zkC8hdty}U|V$dQFs}ND% z5+aM^fjmA^_X?JCLcH5z8&fNpzaRl`2cn9i>F=kW#I9H56IhL*{0y+PKdk9jh} z>T8PlmGT&&8w0$vDP5T|kUh3&*{-*Qu1S@r9Clm0n|I_{iPUJg|MQN0)l(!1WmU7@ zY-zHDqLcJZg?lw)U?`kkPB@*-$l{bTJu;uKk&ZvaH4Q@FV)ydOZg)hlV*0AZc0HoF zWbwQ~Gd;RIr|W9Q=M#EkjN_U}O$a8}mvmW9+jXR?EsAL)HI=)+?ih~G(WuFbhPtpU{DPzP7?z1)Iz-8eVzZ_AzJh_xZoXpr_J%gzQ|1Ys5Nwl*q8FSEhx`u!`+#NM SaVpyY0000c~rgt&KP-_g^V-?2ex=O1X zJiUKUy$rdyf5dSO{Ig4n!v@WA_!MPmUp?N_s0z(yNwmos_AI7*4Y4nfQe!Y0A#9tb z*wIy6j(LoEHpV&@v~`Wx?lL--LvV4;DqNFmT}-_uUGL~NC7WH&Y8H{qLppANlp4p) zie#OlX)2=FZg~3r1CuWy505w0Wx@FFj<%^uN(IMvSZp$i3YxZ}NK;;)-;kDz>>3E& z?a|aFp0884Egi?>u*)!gAKNjRzRq~OzhrQI$7(hw%}Sin6~$(WZ+nQYqA<99ht}=z z@_9nCOjsWzwpL*qIz8J!lP0X^oQ{U1>y&aeW4+B;ygZ>T)0}{c_SoR{1JXF=VHi*~ zKFf7MT1kvXW%ByQt!UAtM707=Ws9aeXtLhZbZ-gMi1FQ+vaArQq}W7c>n&z)zo7}7uSSpGM~w{3*f`1J7~t{xs(%p(r9ps8~-DNvObrE4Iv zC_;2hRHY%$4^*{+XWMM|d%9BL=U;xJYQWMOnml8+-0}JE3278k*A=4Uc;t;Bi&vPo zOSTHpdp^NQpZzwatXd3jh&vqN1brOK;B?fdqjv~Q1I;@-C0i$a{J7vyDfs7O!lw`9 zB|QA_9Z9s{*s7TAk#*V9zc{Da9|)&!_@fab-=&zIhi)0zN{j6J1h@B`zq?~TeZ#eF zOpX{QCm3qO7ry`TTPj_WE}luE7)1zd$0dokEM8}1+k*Tk lxcT}U4(SfF7qE!8{105rd@y6)C(Qr=002ovPDHLkV1m7gmQDZw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture7.png b/src/main/resources/assets/ariasessentials/textures/block/engineersdecor/soil/dense_grit_sand_texture7.png new file mode 100644 index 0000000000000000000000000000000000000000..4e5a7a01ad6855a763935c451a6468d518e9e1be GIT binary patch literal 856 zcmV-e1E>6nP)TvY2xF=`+o?O?xom93PPli&Y|!?;h?cqzc7x$M%@e%Pt&K8R2;-ii~0E2(v?; z1W0*G;4RT?8!gL8RSOZELNvpoIsAc3E~B+OG#du~;Y77aIi3>S<(Bnyj%GJe6q(|D zA&4_#-$R^(BQIZ{nf|+B)N_afpLVxRS>$+W1*>7PK8Bn#D9Vhp??dg1)@XuK)e)*) zr^r*BhDvhDC}f@Z6jEz6XtrA{W=kIKN64CnyL`tFQ(m6_Wc&Izz5WeCN4$cK;eFI#C7( zKHhaPx;f zh;X|_Xf-rVB}rnkynPx#=1D|BR5*>rlfi0*Fc3v=jCsk%&vF+i@8F-%ua+FGk_+PfNt zoZ$>Zfd5FEru43(r?4@Ggb>hL)8heoo|AJ9Qc8pno*86WMoKBXUN1-~F^(ex0CrcK za}Mu47-MLfX6G&qs;VN+IRGF@k}vS3L0OjMy+<6!Sl1Q9FdW{W8dz&-+cqerAcXi4 zJ~hxUuC5Q;iviu4kR