From 7c48e16ddddcc623c98c70ea89afff8bc475ad09 Mon Sep 17 00:00:00 2001 From: Hugo Landrin Date: Fri, 5 Apr 2024 20:59:14 +0200 Subject: [PATCH] Update to 1.20.5 (#186) - Update to 24w12a - Dropped Columns support - Refactored registration of content - Capybara variants are now data-driven --- README.md | 1 - build.gradle | 11 +- curseforge.html | 1 - gradle.properties | 16 +- gradle/wrapper/gradle-wrapper.properties | 2 +- modrinth.md | 1 - .../java/fr/hugman/promenade/Promenade.java | 80 +- .../fr/hugman/promenade/PromenadeClient.java | 297 ++++--- .../fr/hugman/promenade/PromenadeFactory.java | 148 ++-- .../hugman/promenade/PromenadeRegistrar.java | 12 - .../promenade/block/BerryBushBlock.java | 171 ++++ .../promenade/block/BlueberryBushBlock.java | 57 -- .../promenade/block/CarpetedGrassBlock.java | 112 ++- .../promenade/block/DecoratedLeavesBlock.java | 21 +- .../hugman/promenade/block/DyliumBlock.java | 96 ++- .../promenade/block/ExtendedLeavesBlock.java | 179 +++-- .../promenade/block/HangingLeavesBlock.java | 8 + .../hugman/promenade/block/MapleLogBlock.java | 28 +- .../fr/hugman/promenade/block/MoaiBlock.java | 142 ++-- .../fr/hugman/promenade/block/MoaiType.java | 22 +- .../fr/hugman/promenade/block/PileBlock.java | 67 +- .../promenade/block/PromenadeBlockKeys.java | 200 +++++ .../block/PromenadeBlockProperties.java | 10 + .../block/PromenadeBlockSetTypes.java | 12 + .../promenade/block/PromenadeBlockTags.java | 29 + .../promenade/block/PromenadeBlockTypes.java | 25 + .../promenade/block/PromenadeBlocks.java | 464 +++++++++++ .../block/PromenadeSaplingGenerators.java | 36 + .../promenade/block/PromenadeWoodTypes.java | 12 + .../promenade/block/SnowyLeavesBlock.java | 68 +- .../block/StrippedMapleLogBlock.java | 77 +- .../promenade/block/WitherRosePileBlock.java | 61 +- .../promenade/boat/PromenadeBoatTypeKeys.java | 16 + .../promenade/boat/PromenadeBoatTypes.java | 39 + .../client/PromenadeEntityModelLayers.java | 59 -- .../render/entity/CapybaraEyesRenderer.java | 39 - .../render/entity/CapybaraRenderer.java | 22 +- .../client/render/entity/DuckRenderer.java | 30 +- .../entity/LushCreeperOverlayRenderer.java | 22 +- .../render/entity/LushCreeperRenderer.java | 52 +- .../render/entity/SunkenSkeletonRenderer.java | 92 ++- .../entity/animation/CapybaraAnimations.java | 740 +++++++++--------- .../render/entity/model/CapybaraModel.java | 176 ++--- .../client/render/entity/model/DuckModel.java | 97 ++- .../model/PromenadeEntityModelLayers.java | 56 ++ .../entity/model/SunkenSkeletonModel.java | 63 +- .../promenade/compat/ColumnsContent.java | 18 - .../compat/PromenadeMMIntegration.java | 8 +- .../promenade/config/PromenadeConfig.java | 110 +-- .../promenade/entity/CapybaraBrain.java | 255 +++--- .../promenade/entity/CapybaraEntity.java | 185 +++-- .../promenade/entity/CapybaraState.java | 9 - .../promenade/entity/CapybaraVariant.java | 23 +- .../promenade/entity/CapybaraVariants.java | 68 +- .../hugman/promenade/entity/DuckEntity.java | 456 ++++++----- .../promenade/entity/LushCreeperEntity.java | 125 ++- .../entity/PromenadeEntityTypes.java | 68 ++ .../entity/SunkenSkeletonEntity.java | 47 +- .../ai/brain/sensor/PromenadeSensorTypes.java | 14 +- .../entity/data/PromenadeTrackedData.java | 21 +- .../promenade/gen/feature/BoulderFeature.java | 48 -- .../gen/feature/BoulderFeatureConfig.java | 19 - .../gen/feature/FreezeTopLayerFeature.java | 106 --- .../gen/feature/TallHugeFungusFeature.java | 192 ----- .../NoiseIntervalCountPlacementModifier.java | 39 - .../gen/tree/foliage/PalmFoliagePlacer.java | 97 --- .../gen/tree/trunk/LeapingTrunkPlacer.java | 82 -- .../promenade/item/PromenadeItemKeys.java | 45 ++ .../promenade/item/PromenadeItemTags.java | 11 + .../hugman/promenade/item/PromenadeItems.java | 97 +++ .../promenade/loot/PromenadeLootTables.java | 12 - .../hugman/promenade/mixin/AxeItemMixin.java | 20 +- .../promenade/mixin/LivingEntityMixin.java | 28 +- .../particle/FallingLeafParticle.java | 4 +- .../promenade/particle/FloatingParticle.java | 142 ++-- .../particle/PromenadeParticleTypes.java | 21 + .../registry/PromenadeRegistries.java | 8 +- .../registry/PromenadeRegistryKeys.java | 2 +- .../registry/content/AmaranthContent.java | 158 ---- .../registry/content/AnimalContent.java | 93 --- .../registry/content/CommonContent.java | 35 - .../registry/content/FoodContent.java | 57 -- .../registry/content/GlaglaglaContent.java | 103 --- .../registry/content/IgneousContent.java | 83 -- .../registry/content/MapleContent.java | 188 ----- .../registry/content/MonsterContent.java | 71 -- .../registry/content/SakuraContent.java | 160 ---- .../registry/content/TropicalContent.java | 161 ---- .../registry/content/VanillaPilesContent.java | 102 --- .../registry/tag/PromenadeBiomeTags.java | 14 - .../registry/tag/PromenadeBlockTags.java | 25 - .../registry/tag/PromenadeItemTags.java | 11 - .../promenade/sound/PromenadeSoundEvents.java | 42 + .../property/PromenadeBlockProperties.java | 11 - .../promenade/village/TradeOfferUtils.java | 7 +- .../world/biome/PromenadeBiomeKeys.java | 20 + .../world/biome/PromenadeBiomeTags.java | 15 + .../world/biome/PromenadeBiomes.java | 98 +++ .../world/gen/feature/BoulderFeature.java | 47 ++ .../gen/feature/BoulderFeatureConfig.java | 20 + .../gen/feature/FreezeTopLayerFeature.java | 101 +++ .../PromenadeConfiguredFeatureKeys.java | 46 ++ .../world/gen/feature/PromenadeFeatures.java | 20 + .../feature/PromenadePlacedFeatureKeys.java | 23 + .../gen/feature/PromenadePlacedFeatures.java | 32 + .../gen/feature/TallHugeFungusFeature.java | 185 +++++ .../NoiseIntervalCountPlacementModifier.java | 40 + .../PromenadePlacementModifierTypes.java | 16 + .../gen/tree/foliage/PalmFoliagePlacer.java | 86 ++ .../foliage/PromenadeFoliagePlacerTypes.java | 17 + .../gen/tree/trunk/LeapingTrunkPlacer.java | 81 ++ .../tree/trunk/PromenadeTrunkPlacerTypes.java | 17 + .../blockstates/acacia_leaf_pile.json | 10 +- .../promenade/blockstates/allium_pile.json | 10 +- .../assets/promenade/blockstates/asphalt.json | 10 +- .../promenade/blockstates/asphalt_column.json | 27 - .../promenade/blockstates/asphalt_slab.json | 22 +- .../promenade/blockstates/asphalt_stairs.json | 414 +++++----- .../promenade/blockstates/asphalt_wall.json | 176 ++--- .../blockstates/azalea_leaf_pile.json | 10 +- .../blockstates/azure_bluet_pile.json | 10 +- .../blockstates/birch_leaf_pile.json | 10 +- .../promenade/blockstates/black_dylium.json | 38 +- .../blockstates/blue_orchid_pile.json | 10 +- .../promenade/blockstates/blueberry_bush.json | 28 +- .../assets/promenade/blockstates/blunite.json | 10 +- .../promenade/blockstates/blunite_column.json | 27 - .../promenade/blockstates/blunite_slab.json | 22 +- .../promenade/blockstates/blunite_stairs.json | 414 +++++----- .../promenade/blockstates/blunite_wall.json | 176 ++--- .../blush_sakura_blossom_pile.json | 10 +- .../blockstates/blush_sakura_blossoms.json | 10 +- .../blockstates/blush_sakura_sapling.json | 10 +- .../blockstates/cornflower_pile.json | 10 +- .../cotton_sakura_blossom_pile.json | 10 +- .../blockstates/cotton_sakura_blossoms.json | 10 +- .../blockstates/cotton_sakura_sapling.json | 10 +- .../promenade/blockstates/dandelion_pile.json | 10 +- .../blockstates/dark_amaranth_button.json | 232 +++--- .../blockstates/dark_amaranth_door.json | 244 +++--- .../blockstates/dark_amaranth_fence.json | 92 +-- .../blockstates/dark_amaranth_fence_gate.json | 156 ++-- .../blockstates/dark_amaranth_fungus.json | 10 +- .../blockstates/dark_amaranth_hyphae.json | 28 +- .../blockstates/dark_amaranth_planks.json | 10 +- .../dark_amaranth_pressure_plate.json | 16 +- .../blockstates/dark_amaranth_roots.json | 10 +- .../blockstates/dark_amaranth_slab.json | 22 +- .../blockstates/dark_amaranth_stairs.json | 414 +++++----- .../blockstates/dark_amaranth_stem.json | 28 +- .../blockstates/dark_amaranth_trapdoor.json | 134 ++-- .../blockstates/dark_amaranth_wart_block.json | 10 +- .../blockstates/dark_oak_leaf_pile.json | 10 +- .../flowering_azalea_leaf_pile.json | 10 +- .../blockstates/fulvous_maple_leaf_pile.json | 10 +- .../blockstates/fulvous_maple_leaves.json | 94 +-- .../blockstates/fulvous_maple_sapling.json | 10 +- .../blockstates/jungle_leaf_pile.json | 10 +- .../blockstates/lily_of_the_valley_pile.json | 10 +- .../blockstates/mangrove_leaf_pile.json | 10 +- .../promenade/blockstates/maple_button.json | 232 +++--- .../promenade/blockstates/maple_door.json | 244 +++--- .../promenade/blockstates/maple_fence.json | 92 +-- .../blockstates/maple_fence_gate.json | 156 ++-- .../promenade/blockstates/maple_log.json | 28 +- .../promenade/blockstates/maple_planks.json | 10 +- .../blockstates/maple_pressure_plate.json | 16 +- .../promenade/blockstates/maple_slab.json | 22 +- .../promenade/blockstates/maple_stairs.json | 414 +++++----- .../promenade/blockstates/maple_trapdoor.json | 134 ++-- .../promenade/blockstates/maple_wood.json | 28 +- .../blockstates/mikado_maple_leaf_pile.json | 10 +- .../blockstates/mikado_maple_leaves.json | 94 +-- .../blockstates/mikado_maple_sapling.json | 10 +- .../promenade/blockstates/oak_leaf_pile.json | 10 +- .../blockstates/orange_tulip_pile.json | 10 +- .../blockstates/oxeye_daisy_pile.json | 10 +- .../promenade/blockstates/palm_button.json | 232 +++--- .../promenade/blockstates/palm_door.json | 244 +++--- .../promenade/blockstates/palm_fence.json | 92 +-- .../blockstates/palm_fence_gate.json | 156 ++-- .../blockstates/palm_hanging_leaves.json | 10 +- .../promenade/blockstates/palm_leaf_pile.json | 10 +- .../promenade/blockstates/palm_leaves.json | 10 +- .../promenade/blockstates/palm_log.json | 28 +- .../promenade/blockstates/palm_planks.json | 10 +- .../blockstates/palm_pressure_plate.json | 16 +- .../promenade/blockstates/palm_sapling.json | 10 +- .../promenade/blockstates/palm_slab.json | 22 +- .../promenade/blockstates/palm_stairs.json | 414 +++++----- .../promenade/blockstates/palm_trapdoor.json | 134 ++-- .../promenade/blockstates/palm_wood.json | 28 +- .../blockstates/pink_tulip_pile.json | 10 +- .../blockstates/polished_asphalt.json | 10 +- .../blockstates/polished_asphalt_slab.json | 22 +- .../blockstates/polished_asphalt_stairs.json | 414 +++++----- .../blockstates/polished_blunite.json | 10 +- .../blockstates/polished_blunite_slab.json | 22 +- .../blockstates/polished_blunite_stairs.json | 414 +++++----- .../promenade/blockstates/poppy_pile.json | 10 +- .../potted_blush_sakura_sapling.json | 10 +- .../potted_cotton_sakura_sapling.json | 10 +- .../potted_dark_amaranth_fungus.json | 10 +- .../potted_fulvous_maple_sapling.json | 10 +- .../potted_mikado_maple_sapling.json | 10 +- .../blockstates/potted_palm_sapling.json | 10 +- .../blockstates/potted_sap_maple_sapling.json | 10 +- .../potted_vermilion_maple_sapling.json | 10 +- .../promenade/blockstates/red_tulip_pile.json | 10 +- .../promenade/blockstates/sakura_button.json | 232 +++--- .../promenade/blockstates/sakura_door.json | 244 +++--- .../promenade/blockstates/sakura_fence.json | 92 +-- .../blockstates/sakura_fence_gate.json | 156 ++-- .../promenade/blockstates/sakura_log.json | 28 +- .../promenade/blockstates/sakura_planks.json | 10 +- .../blockstates/sakura_pressure_plate.json | 16 +- .../promenade/blockstates/sakura_slab.json | 22 +- .../promenade/blockstates/sakura_stairs.json | 414 +++++----- .../blockstates/sakura_trapdoor.json | 134 ++-- .../promenade/blockstates/sakura_wood.json | 28 +- .../blockstates/sap_maple_leaf_pile.json | 10 +- .../blockstates/sap_maple_leaves.json | 10 +- .../blockstates/sap_maple_sapling.json | 10 +- .../blockstates/spruce_leaf_pile.json | 10 +- .../stripped_dark_amaranth_hyphae.json | 28 +- .../stripped_dark_amaranth_stem.json | 28 +- .../blockstates/stripped_maple_log.json | 52 +- .../blockstates/stripped_maple_wood.json | 28 +- .../blockstates/stripped_palm_log.json | 28 +- .../blockstates/stripped_palm_wood.json | 28 +- .../blockstates/stripped_sakura_log.json | 28 +- .../blockstates/stripped_sakura_wood.json | 28 +- .../vermilion_maple_leaf_pile.json | 10 +- .../blockstates/vermilion_maple_leaves.json | 94 +-- .../blockstates/vermilion_maple_sapling.json | 10 +- .../blockstates/white_tulip_pile.json | 10 +- .../blockstates/wither_rose_pile.json | 10 +- .../assets/promenade/lang/en_us.json | 440 +++++------ .../promenade/models/block/asphalt/block.json | 8 +- .../models/block/asphalt/column/center.json | 6 - .../models/block/asphalt/column/end.json | 6 - .../models/block/asphalt/polished_block.json | 8 +- .../block/asphalt/polished_slab/bottom.json | 12 +- .../block/asphalt/polished_slab/top.json | 12 +- .../block/asphalt/polished_stairs/inner.json | 12 +- .../block/asphalt/polished_stairs/outer.json | 12 +- .../asphalt/polished_stairs/straight.json | 12 +- .../models/block/asphalt/slab/bottom.json | 12 +- .../models/block/asphalt/slab/top.json | 12 +- .../models/block/asphalt/stairs/inner.json | 12 +- .../models/block/asphalt/stairs/outer.json | 12 +- .../models/block/asphalt/stairs/straight.json | 12 +- .../models/block/asphalt/wall/post.json | 8 +- .../models/block/asphalt/wall/side.json | 8 +- .../models/block/asphalt/wall/side_tall.json | 8 +- .../models/block/black_dylium/1.json | 12 +- .../models/block/black_dylium/2.json | 12 +- .../models/block/black_dylium/3.json | 12 +- .../models/block/black_dylium/4.json | 12 +- .../models/block/blueberry_bush/0.json | 8 +- .../models/block/blueberry_bush/1.json | 8 +- .../models/block/blueberry_bush/2.json | 8 +- .../models/block/blueberry_bush/3.json | 8 +- .../promenade/models/block/blunite/block.json | 8 +- .../models/block/blunite/column/center.json | 6 - .../models/block/blunite/column/end.json | 6 - .../models/block/blunite/polished_block.json | 8 +- .../block/blunite/polished_slab/bottom.json | 12 +- .../block/blunite/polished_slab/top.json | 12 +- .../block/blunite/polished_stairs/inner.json | 12 +- .../block/blunite/polished_stairs/outer.json | 12 +- .../blunite/polished_stairs/straight.json | 12 +- .../models/block/blunite/slab/bottom.json | 12 +- .../models/block/blunite/slab/top.json | 12 +- .../models/block/blunite/stairs/inner.json | 12 +- .../models/block/blunite/stairs/outer.json | 12 +- .../models/block/blunite/stairs/straight.json | 12 +- .../models/block/blunite/wall/post.json | 8 +- .../models/block/blunite/wall/side.json | 8 +- .../models/block/blunite/wall/side_tall.json | 8 +- .../models/block/bottom_snowy_leaves.json | 94 ++- .../block/dark_amaranth/button/pressed.json | 8 +- .../block/dark_amaranth/button/unpressed.json | 8 +- .../dark_amaranth/door/left/lower/closed.json | 10 +- .../dark_amaranth/door/left/lower/open.json | 10 +- .../dark_amaranth/door/left/upper/closed.json | 10 +- .../dark_amaranth/door/left/upper/open.json | 10 +- .../door/right/lower/closed.json | 10 +- .../dark_amaranth/door/right/lower/open.json | 10 +- .../door/right/upper/closed.json | 10 +- .../dark_amaranth/door/right/upper/open.json | 10 +- .../block/dark_amaranth/fence/post.json | 8 +- .../block/dark_amaranth/fence/side.json | 8 +- .../block/dark_amaranth/fence_gate/close.json | 8 +- .../block/dark_amaranth/fence_gate/open.json | 8 +- .../dark_amaranth/fence_gate/wall/close.json | 8 +- .../dark_amaranth/fence_gate/wall/open.json | 8 +- .../models/block/dark_amaranth/fungus.json | 8 +- .../models/block/dark_amaranth/hyphae.json | 10 +- .../models/block/dark_amaranth/planks.json | 8 +- .../block/dark_amaranth/potted_fungus.json | 8 +- .../dark_amaranth/pressure_plate/pressed.json | 8 +- .../pressure_plate/unpressed.json | 8 +- .../models/block/dark_amaranth/roots.json | 8 +- .../block/dark_amaranth/slab/bottom.json | 12 +- .../models/block/dark_amaranth/slab/top.json | 12 +- .../block/dark_amaranth/stairs/inner.json | 12 +- .../block/dark_amaranth/stairs/outer.json | 12 +- .../block/dark_amaranth/stairs/straight.json | 12 +- .../models/block/dark_amaranth/stem.json | 10 +- .../block/dark_amaranth/stripped_hyphae.json | 10 +- .../block/dark_amaranth/stripped_stem.json | 10 +- .../dark_amaranth/trapdoor/close/bottom.json | 8 +- .../dark_amaranth/trapdoor/close/top.json | 8 +- .../block/dark_amaranth/trapdoor/open.json | 8 +- .../block/dark_amaranth/wart_block.json | 8 +- .../models/block/maple/button/pressed.json | 8 +- .../models/block/maple/button/unpressed.json | 8 +- .../block/maple/door/left/lower/closed.json | 10 +- .../block/maple/door/left/lower/open.json | 10 +- .../block/maple/door/left/upper/closed.json | 10 +- .../block/maple/door/left/upper/open.json | 10 +- .../block/maple/door/right/lower/closed.json | 10 +- .../block/maple/door/right/lower/open.json | 10 +- .../block/maple/door/right/upper/closed.json | 10 +- .../block/maple/door/right/upper/open.json | 10 +- .../models/block/maple/fence/post.json | 8 +- .../models/block/maple/fence/side.json | 8 +- .../models/block/maple/fence_gate/close.json | 8 +- .../models/block/maple/fence_gate/open.json | 8 +- .../block/maple/fence_gate/wall/close.json | 8 +- .../block/maple/fence_gate/wall/open.json | 8 +- .../models/block/maple/leaf_pile/fulvous.json | 8 +- .../models/block/maple/leaf_pile/mikado.json | 8 +- .../models/block/maple/leaf_pile/sap.json | 8 +- .../block/maple/leaf_pile/vermilion.json | 8 +- .../block/maple/leaves/fulvous/mixed.json | 8 +- .../block/maple/leaves/fulvous/regular.json | 8 +- .../block/maple/leaves/mikado/mixed.json | 8 +- .../block/maple/leaves/mikado/regular.json | 8 +- .../models/block/maple/leaves/sap.json | 8 +- .../block/maple/leaves/vermilion/mixed.json | 8 +- .../block/maple/leaves/vermilion/regular.json | 8 +- .../promenade/models/block/maple/log.json | 10 +- .../promenade/models/block/maple/planks.json | 8 +- .../block/maple/potted_sapling/fulvous.json | 8 +- .../block/maple/potted_sapling/mikado.json | 8 +- .../block/maple/potted_sapling/sap.json | 8 +- .../block/maple/potted_sapling/vermilion.json | 8 +- .../block/maple/pressure_plate/pressed.json | 8 +- .../block/maple/pressure_plate/unpressed.json | 8 +- .../models/block/maple/sapling/fulvous.json | 8 +- .../models/block/maple/sapling/mikado.json | 8 +- .../models/block/maple/sapling/sap.json | 8 +- .../models/block/maple/sapling/vermilion.json | 8 +- .../models/block/maple/slab/bottom.json | 12 +- .../models/block/maple/slab/top.json | 12 +- .../models/block/maple/stairs/inner.json | 12 +- .../models/block/maple/stairs/outer.json | 12 +- .../models/block/maple/stairs/straight.json | 12 +- .../models/block/maple/stripped_log.json | 10 +- .../models/block/maple/stripped_log/drip.json | 10 +- .../models/block/maple/stripped_wood.json | 10 +- .../block/maple/trapdoor/close/bottom.json | 8 +- .../block/maple/trapdoor/close/top.json | 8 +- .../models/block/maple/trapdoor/open.json | 8 +- .../promenade/models/block/maple/wood.json | 10 +- .../assets/promenade/models/block/moai.json | 19 +- .../models/block/palm/button/pressed.json | 8 +- .../models/block/palm/button/unpressed.json | 8 +- .../block/palm/door/left/lower/closed.json | 10 +- .../block/palm/door/left/lower/open.json | 10 +- .../block/palm/door/left/upper/closed.json | 10 +- .../block/palm/door/left/upper/open.json | 10 +- .../block/palm/door/right/lower/closed.json | 10 +- .../block/palm/door/right/lower/open.json | 10 +- .../block/palm/door/right/upper/closed.json | 10 +- .../block/palm/door/right/upper/open.json | 10 +- .../models/block/palm/fence/post.json | 8 +- .../models/block/palm/fence/side.json | 8 +- .../models/block/palm/fence_gate/close.json | 8 +- .../models/block/palm/fence_gate/open.json | 8 +- .../block/palm/fence_gate/wall/close.json | 8 +- .../block/palm/fence_gate/wall/open.json | 8 +- .../models/block/palm/leaf_pile.json | 8 +- .../promenade/models/block/palm/leaves.json | 8 +- .../promenade/models/block/palm/log.json | 10 +- .../promenade/models/block/palm/planks.json | 8 +- .../models/block/palm/potted_sapling.json | 8 +- .../block/palm/pressure_plate/pressed.json | 8 +- .../block/palm/pressure_plate/unpressed.json | 8 +- .../promenade/models/block/palm/sapling.json | 8 +- .../models/block/palm/slab/bottom.json | 12 +- .../promenade/models/block/palm/slab/top.json | 12 +- .../models/block/palm/stairs/inner.json | 12 +- .../models/block/palm/stairs/outer.json | 12 +- .../models/block/palm/stairs/straight.json | 12 +- .../models/block/palm/stripped_log.json | 10 +- .../models/block/palm/stripped_wood.json | 10 +- .../block/palm/trapdoor/close/bottom.json | 8 +- .../models/block/palm/trapdoor/close/top.json | 8 +- .../models/block/palm/trapdoor/open.json | 8 +- .../promenade/models/block/palm/wood.json | 10 +- .../assets/promenade/models/block/pile.json | 436 +++++------ .../block/sakura/blossom_pile/blush.json | 8 +- .../block/sakura/blossom_pile/cotton.json | 8 +- .../models/block/sakura/blossoms/blush.json | 8 +- .../models/block/sakura/blossoms/cotton.json | 8 +- .../models/block/sakura/button/pressed.json | 8 +- .../models/block/sakura/button/unpressed.json | 8 +- .../block/sakura/door/left/lower/closed.json | 10 +- .../block/sakura/door/left/lower/open.json | 10 +- .../block/sakura/door/left/upper/closed.json | 10 +- .../block/sakura/door/left/upper/open.json | 10 +- .../block/sakura/door/right/lower/closed.json | 10 +- .../block/sakura/door/right/lower/open.json | 10 +- .../block/sakura/door/right/upper/closed.json | 10 +- .../block/sakura/door/right/upper/open.json | 10 +- .../models/block/sakura/fence/post.json | 8 +- .../models/block/sakura/fence/side.json | 8 +- .../models/block/sakura/fence_gate/close.json | 8 +- .../models/block/sakura/fence_gate/open.json | 8 +- .../block/sakura/fence_gate/wall/close.json | 8 +- .../block/sakura/fence_gate/wall/open.json | 8 +- .../promenade/models/block/sakura/log.json | 10 +- .../promenade/models/block/sakura/planks.json | 8 +- .../block/sakura/potted_sapling/blush.json | 8 +- .../block/sakura/potted_sapling/cotton.json | 8 +- .../block/sakura/pressure_plate/pressed.json | 8 +- .../sakura/pressure_plate/unpressed.json | 8 +- .../models/block/sakura/sapling/blush.json | 8 +- .../models/block/sakura/sapling/cotton.json | 8 +- .../models/block/sakura/slab/bottom.json | 12 +- .../models/block/sakura/slab/top.json | 12 +- .../models/block/sakura/stairs/inner.json | 12 +- .../models/block/sakura/stairs/outer.json | 12 +- .../models/block/sakura/stairs/straight.json | 12 +- .../models/block/sakura/stripped_log.json | 10 +- .../models/block/sakura/stripped_wood.json | 10 +- .../block/sakura/trapdoor/close/bottom.json | 8 +- .../block/sakura/trapdoor/close/top.json | 8 +- .../models/block/sakura/trapdoor/open.json | 8 +- .../promenade/models/block/sakura/wood.json | 10 +- .../block/vanilla_piles/acacia_leaf.json | 8 +- .../models/block/vanilla_piles/allium.json | 8 +- .../block/vanilla_piles/azalea_leaf.json | 8 +- .../block/vanilla_piles/azure_bluet.json | 8 +- .../block/vanilla_piles/birch_leaf.json | 8 +- .../block/vanilla_piles/blue_orchid.json | 8 +- .../block/vanilla_piles/cornflower.json | 8 +- .../models/block/vanilla_piles/dandelion.json | 8 +- .../block/vanilla_piles/dark_oak_leaf.json | 8 +- .../vanilla_piles/flowering_azalea_leaf.json | 8 +- .../block/vanilla_piles/jungle_leaf.json | 8 +- .../vanilla_piles/lily_of_the_valley.json | 8 +- .../block/vanilla_piles/mangrove_leaf.json | 8 +- .../models/block/vanilla_piles/oak_leaf.json | 8 +- .../block/vanilla_piles/orange_tulip.json | 8 +- .../block/vanilla_piles/oxeye_daisy.json | 8 +- .../block/vanilla_piles/pink_tulip.json | 8 +- .../models/block/vanilla_piles/poppy.json | 8 +- .../models/block/vanilla_piles/red_tulip.json | 8 +- .../block/vanilla_piles/spruce_leaf.json | 8 +- .../block/vanilla_piles/white_tulip.json | 8 +- .../block/vanilla_piles/wither_rose.json | 8 +- .../models/item/acacia_leaf_pile.json | 2 +- .../promenade/models/item/allium_pile.json | 2 +- .../assets/promenade/models/item/apricot.json | 8 +- .../assets/promenade/models/item/asphalt.json | 2 +- .../promenade/models/item/asphalt_column.json | 6 - .../promenade/models/item/asphalt_slab.json | 2 +- .../promenade/models/item/asphalt_stairs.json | 2 +- .../promenade/models/item/asphalt_wall.json | 8 +- .../models/item/azalea_leaf_pile.json | 2 +- .../models/item/azure_bluet_pile.json | 2 +- .../assets/promenade/models/item/banana.json | 8 +- .../models/item/birch_leaf_pile.json | 2 +- .../promenade/models/item/black_dylium.json | 2 +- .../models/item/blue_orchid_pile.json | 2 +- .../promenade/models/item/blueberries.json | 8 +- .../assets/promenade/models/item/blunite.json | 2 +- .../promenade/models/item/blunite_column.json | 6 - .../promenade/models/item/blunite_slab.json | 2 +- .../promenade/models/item/blunite_stairs.json | 2 +- .../promenade/models/item/blunite_wall.json | 8 +- .../item/blush_sakura_blossom_pile.json | 2 +- .../models/item/blush_sakura_blossoms.json | 2 +- .../models/item/blush_sakura_sapling.json | 8 +- .../promenade/models/item/cooked_duck.json | 8 +- .../models/item/cornflower_pile.json | 2 +- .../item/cotton_sakura_blossom_pile.json | 2 +- .../models/item/cotton_sakura_blossoms.json | 2 +- .../models/item/cotton_sakura_sapling.json | 8 +- .../promenade/models/item/dandelion_pile.json | 2 +- .../models/item/dark_amaranth_button.json | 8 +- .../models/item/dark_amaranth_door.json | 8 +- .../models/item/dark_amaranth_fence.json | 8 +- .../models/item/dark_amaranth_fence_gate.json | 2 +- .../models/item/dark_amaranth_fungus.json | 8 +- .../item/dark_amaranth_hanging_sign.json | 8 +- .../models/item/dark_amaranth_hyphae.json | 2 +- .../models/item/dark_amaranth_planks.json | 2 +- .../item/dark_amaranth_pressure_plate.json | 2 +- .../models/item/dark_amaranth_roots.json | 8 +- .../models/item/dark_amaranth_sign.json | 8 +- .../models/item/dark_amaranth_slab.json | 2 +- .../models/item/dark_amaranth_stairs.json | 2 +- .../models/item/dark_amaranth_stem.json | 2 +- .../models/item/dark_amaranth_trapdoor.json | 2 +- .../models/item/dark_amaranth_wart_block.json | 2 +- .../models/item/dark_oak_leaf_pile.json | 2 +- .../assets/promenade/models/item/duck.json | 8 +- .../promenade/models/item/duck_spawn_egg.json | 2 +- .../item/flowering_azalea_leaf_pile.json | 2 +- .../item/fulvous_carpeted_grass_block.json | 2 +- .../models/item/fulvous_maple_leaf_pile.json | 2 +- .../models/item/fulvous_maple_leaves.json | 2 +- .../models/item/fulvous_maple_sapling.json | 8 +- .../models/item/jungle_leaf_pile.json | 2 +- .../models/item/lily_of_the_valley_pile.json | 2 +- .../models/item/lush_creeper_spawn_egg.json | 2 +- .../assets/promenade/models/item/mango.json | 8 +- .../models/item/mangrove_leaf_pile.json | 2 +- .../promenade/models/item/maple_boat.json | 8 +- .../promenade/models/item/maple_button.json | 8 +- .../models/item/maple_chest_boat.json | 8 +- .../promenade/models/item/maple_door.json | 8 +- .../promenade/models/item/maple_fence.json | 8 +- .../models/item/maple_fence_gate.json | 2 +- .../models/item/maple_hanging_sign.json | 8 +- .../promenade/models/item/maple_log.json | 2 +- .../promenade/models/item/maple_planks.json | 2 +- .../models/item/maple_pressure_plate.json | 2 +- .../promenade/models/item/maple_sign.json | 8 +- .../promenade/models/item/maple_slab.json | 2 +- .../promenade/models/item/maple_stairs.json | 2 +- .../models/item/maple_syrup_bottle.json | 8 +- .../promenade/models/item/maple_trapdoor.json | 2 +- .../promenade/models/item/maple_wood.json | 2 +- .../item/mikado_carpeted_grass_block.json | 2 +- .../models/item/mikado_maple_leaf_pile.json | 2 +- .../models/item/mikado_maple_leaves.json | 2 +- .../models/item/mikado_maple_sapling.json | 8 +- .../promenade/models/item/oak_leaf_pile.json | 2 +- .../models/item/orange_tulip_pile.json | 2 +- .../models/item/oxeye_daisy_pile.json | 2 +- .../promenade/models/item/palm_boat.json | 8 +- .../promenade/models/item/palm_button.json | 8 +- .../models/item/palm_chest_boat.json | 8 +- .../promenade/models/item/palm_door.json | 8 +- .../promenade/models/item/palm_fence.json | 8 +- .../models/item/palm_fence_gate.json | 2 +- .../models/item/palm_hanging_sign.json | 8 +- .../promenade/models/item/palm_leaf_pile.json | 2 +- .../promenade/models/item/palm_leaves.json | 2 +- .../promenade/models/item/palm_log.json | 2 +- .../promenade/models/item/palm_planks.json | 2 +- .../models/item/palm_pressure_plate.json | 2 +- .../promenade/models/item/palm_sapling.json | 8 +- .../promenade/models/item/palm_sign.json | 8 +- .../promenade/models/item/palm_slab.json | 2 +- .../promenade/models/item/palm_stairs.json | 2 +- .../promenade/models/item/palm_trapdoor.json | 2 +- .../promenade/models/item/palm_wood.json | 2 +- .../models/item/pink_tulip_pile.json | 2 +- .../models/item/polished_asphalt.json | 2 +- .../models/item/polished_asphalt_slab.json | 2 +- .../models/item/polished_asphalt_stairs.json | 2 +- .../models/item/polished_blunite.json | 2 +- .../models/item/polished_blunite_slab.json | 2 +- .../models/item/polished_blunite_stairs.json | 2 +- .../promenade/models/item/poppy_pile.json | 2 +- .../promenade/models/item/red_tulip_pile.json | 2 +- .../promenade/models/item/sakura_boat.json | 8 +- .../promenade/models/item/sakura_button.json | 8 +- .../models/item/sakura_chest_boat.json | 8 +- .../promenade/models/item/sakura_door.json | 8 +- .../promenade/models/item/sakura_fence.json | 8 +- .../models/item/sakura_fence_gate.json | 2 +- .../models/item/sakura_hanging_sign.json | 8 +- .../promenade/models/item/sakura_log.json | 2 +- .../promenade/models/item/sakura_planks.json | 2 +- .../models/item/sakura_pressure_plate.json | 2 +- .../promenade/models/item/sakura_sign.json | 8 +- .../promenade/models/item/sakura_slab.json | 2 +- .../promenade/models/item/sakura_stairs.json | 2 +- .../models/item/sakura_trapdoor.json | 2 +- .../promenade/models/item/sakura_wood.json | 2 +- .../models/item/sap_maple_leaf_pile.json | 2 +- .../models/item/sap_maple_leaves.json | 2 +- .../models/item/sap_maple_sapling.json | 8 +- .../models/item/snowy_spruce_leaves.json | 2 +- .../models/item/spruce_leaf_pile.json | 2 +- .../item/stripped_dark_amaranth_hyphae.json | 2 +- .../item/stripped_dark_amaranth_stem.json | 2 +- .../models/item/stripped_maple_log.json | 2 +- .../models/item/stripped_maple_wood.json | 2 +- .../models/item/stripped_palm_log.json | 2 +- .../models/item/stripped_palm_wood.json | 2 +- .../models/item/stripped_sakura_log.json | 2 +- .../models/item/stripped_sakura_wood.json | 2 +- .../item/sunken_skeleton_spawn_egg.json | 2 +- .../item/vermilion_carpeted_grass_block.json | 2 +- .../item/vermilion_maple_leaf_pile.json | 2 +- .../models/item/vermilion_maple_leaves.json | 2 +- .../models/item/vermilion_maple_sapling.json | 8 +- .../models/item/white_tulip_pile.json | 2 +- .../models/item/wither_rose_pile.json | 2 +- .../particles/blush_sakura_blossom.json | 8 +- .../particles/cotton_sakura_blossom.json | 8 +- .../particles/fulvous_maple_leaf.json | 6 +- .../particles/mikado_maple_leaf.json | 6 +- .../particles/vermilion_maple_leaf.json | 6 +- .../resources/assets/promenade/sounds.json | 441 +++++------ .../textures/entity/capybara/albino.png | Bin 1902 -> 0 bytes .../entity/capybara/albino/closed_eyes.png | Bin 0 -> 914 bytes .../capybara/albino/eyes/large/closed.png | Bin 142 -> 0 bytes .../capybara/albino/eyes/large/open.png | Bin 147 -> 0 bytes .../capybara/albino/eyes/regular/closed.png | Bin 134 -> 0 bytes .../capybara/albino/eyes/regular/open.png | Bin 143 -> 0 bytes .../entity/capybara/albino/large_eyes.png | Bin 0 -> 919 bytes .../entity/capybara/albino/small_eyes.png | Bin 0 -> 918 bytes .../textures/entity/capybara/brown.png | Bin 858 -> 0 bytes .../entity/capybara/brown/closed_eyes.png | Bin 0 -> 856 bytes .../capybara/brown/eyes/large/closed.png | Bin 142 -> 0 bytes .../entity/capybara/brown/eyes/large/open.png | Bin 147 -> 0 bytes .../capybara/brown/eyes/regular/closed.png | Bin 134 -> 0 bytes .../capybara/brown/eyes/regular/open.png | Bin 134 -> 0 bytes .../entity/capybara/brown/large_eyes.png | Bin 0 -> 864 bytes .../entity/capybara/brown/small_eyes.png | Bin 0 -> 858 bytes .../textures/entity/duck/mallard.png | Bin 495 -> 541 bytes .../textures/entity/wolf/shiba_inu.png | Bin 0 -> 759 bytes .../textures/entity/wolf/shiba_inu_angry.png | Bin 0 -> 767 bytes .../textures/entity/wolf/shiba_inu_tame.png | Bin 0 -> 760 bytes .../data/columns/tags/blocks/columns.json | 13 - .../data/columns/tags/items/columns.json | 13 - .../tags/blocks/base_stone_overworld.json | 10 +- .../minecraft/tags/blocks/bee_growables.json | 8 +- .../tags/blocks/ceiling_hanging_signs.json | 14 +- .../data/minecraft/tags/blocks/dirt.json | 8 +- .../tags/blocks/enderman_holdable.json | 10 +- .../minecraft/tags/blocks/fence_gates.json | 14 +- .../minecraft/tags/blocks/flower_pots.json | 22 +- .../data/minecraft/tags/blocks/flowers.json | 10 +- .../data/minecraft/tags/blocks/leaves.json | 8 +- .../data/minecraft/tags/blocks/logs.json | 8 +- .../minecraft/tags/blocks/logs_that_burn.json | 12 +- .../minecraft/tags/blocks/mineable/axe.json | 8 +- .../minecraft/tags/blocks/mineable/hoe.json | 14 +- .../tags/blocks/mineable/pickaxe.json | 42 +- .../tags/blocks/mineable/shovel.json | 8 +- .../data/minecraft/tags/blocks/planks.json | 14 +- .../data/minecraft/tags/blocks/saplings.json | 20 +- .../data/minecraft/tags/blocks/slabs.json | 14 +- .../data/minecraft/tags/blocks/stairs.json | 14 +- .../minecraft/tags/blocks/standing_signs.json | 14 +- .../tags/blocks/stone_ore_replaceables.json | 10 +- .../tags/blocks/wall_hanging_signs.json | 14 +- .../tags/blocks/wall_post_override.json | 14 +- .../minecraft/tags/blocks/wall_signs.json | 14 +- .../data/minecraft/tags/blocks/walls.json | 10 +- .../minecraft/tags/blocks/wart_blocks.json | 8 +- .../minecraft/tags/blocks/wooden_buttons.json | 14 +- .../minecraft/tags/blocks/wooden_doors.json | 14 +- .../minecraft/tags/blocks/wooden_fences.json | 14 +- .../tags/blocks/wooden_pressure_plates.json | 14 +- .../minecraft/tags/blocks/wooden_slabs.json | 14 +- .../minecraft/tags/blocks/wooden_stairs.json | 14 +- .../tags/blocks/wooden_trapdoors.json | 14 +- .../entity_types/axolotl_always_hostiles.json | 6 + .../tags/entity_types/fall_damage_immune.json | 6 + .../freeze_immune_entity_types.json | 8 +- .../tags/entity_types/skeletons.json | 6 + .../data/minecraft/tags/items/boats.json | 12 +- .../minecraft/tags/items/chest_boats.json | 12 +- .../data/minecraft/tags/items/flowers.json | 10 +- .../data/minecraft/tags/items/fox_food.json | 8 +- .../minecraft/tags/items/hanging_signs.json | 14 +- .../data/minecraft/tags/items/leaves.json | 22 +- .../data/minecraft/tags/items/logs.json | 8 +- .../minecraft/tags/items/logs_that_burn.json | 12 +- .../data/minecraft/tags/items/meat.json | 7 + .../tags/items/non_flammable_wood.json | 30 +- .../data/minecraft/tags/items/planks.json | 14 +- .../data/minecraft/tags/items/saplings.json | 20 +- .../data/minecraft/tags/items/signs.json | 14 +- .../data/minecraft/tags/items/slabs.json | 14 +- .../data/minecraft/tags/items/stairs.json | 14 +- .../tags/items/stone_crafting_materials.json | 18 +- .../tags/items/stone_tool_materials.json | 18 +- .../data/minecraft/tags/items/walls.json | 10 +- .../minecraft/tags/items/wart_blocks.json | 8 +- .../minecraft/tags/items/wooden_buttons.json | 14 +- .../minecraft/tags/items/wooden_doors.json | 14 +- .../minecraft/tags/items/wooden_fences.json | 14 +- .../tags/items/wooden_pressure_plates.json | 14 +- .../minecraft/tags/items/wooden_slabs.json | 14 +- .../minecraft/tags/items/wooden_stairs.json | 14 +- .../tags/items/wooden_trapdoors.json | 14 +- .../biome/has_structure/end_city.json | 8 +- .../tags/worldgen/biome/is_forest.json | 10 +- .../tags/worldgen/biome/is_overworld.json | 12 +- .../tags/worldgen/biome/is_taiga.json | 6 +- .../worldgen/biome/stronghold_biased_to.json | 12 +- .../adventure/coral_bleacher_sniping.json | 6 +- .../adventure/coral_reef_savior.json | 10 +- .../adventure/place_all_sakura_blocks.json | 62 +- .../husbandry/harvest_maple_syrup.json | 2 +- .../recipes/campfire_cooking/cooked_duck.json | 60 +- .../recipes/crafting/asphalt/column.json | 40 - .../crafting/asphalt/polished_block.json | 60 +- .../crafting/asphalt/polished_slab.json | 60 +- .../crafting/asphalt/polished_stairs.json | 60 +- .../recipes/crafting/asphalt/slab.json | 60 +- .../recipes/crafting/asphalt/stairs.json | 60 +- .../recipes/crafting/asphalt/wall.json | 60 +- .../crafting/blue_dye_from_blueberries.json | 60 +- .../recipes/crafting/blunite/column.json | 40 - .../crafting/blunite/polished_block.json | 60 +- .../crafting/blunite/polished_slab.json | 60 +- .../crafting/blunite/polished_stairs.json | 60 +- .../recipes/crafting/blunite/slab.json | 60 +- .../recipes/crafting/blunite/stairs.json | 60 +- .../recipes/crafting/blunite/wall.json | 60 +- .../crafting/dark_amaranth/button.json | 60 +- .../recipes/crafting/dark_amaranth/door.json | 60 +- .../recipes/crafting/dark_amaranth/fence.json | 60 +- .../crafting/dark_amaranth/fence_gate.json | 60 +- .../crafting/dark_amaranth/hanging_sign.json | 64 +- .../crafting/dark_amaranth/hyphae.json | 60 +- .../crafting/dark_amaranth/planks.json | 60 +- .../dark_amaranth/pressure_plate.json | 60 +- .../recipes/crafting/dark_amaranth/sign.json | 64 +- .../recipes/crafting/dark_amaranth/slab.json | 60 +- .../crafting/dark_amaranth/stairs.json | 60 +- .../crafting/dark_amaranth/trapdoor.json | 60 +- .../recipes/crafting/maple/boat.json | 52 +- .../recipes/crafting/maple/button.json | 60 +- .../recipes/crafting/maple/chest_boat.json | 60 +- .../recipes/crafting/maple/door.json | 60 +- .../recipes/crafting/maple/fence.json | 60 +- .../recipes/crafting/maple/fence_gate.json | 60 +- .../recipes/crafting/maple/hanging_sign.json | 64 +- .../crafting/maple/leaf_pile/fulvous.json | 60 +- .../crafting/maple/leaf_pile/mikado.json | 60 +- .../recipes/crafting/maple/leaf_pile/sap.json | 60 +- .../crafting/maple/leaf_pile/vermilion.json | 60 +- .../recipes/crafting/maple/planks.json | 60 +- .../crafting/maple/pressure_plate.json | 60 +- .../recipes/crafting/maple/sign.json | 64 +- .../recipes/crafting/maple/slab.json | 60 +- .../recipes/crafting/maple/stairs.json | 60 +- .../recipes/crafting/maple/trapdoor.json | 60 +- .../recipes/crafting/maple/wood.json | 60 +- .../recipes/crafting/palm/boat.json | 52 +- .../recipes/crafting/palm/button.json | 60 +- .../recipes/crafting/palm/chest_boat.json | 60 +- .../recipes/crafting/palm/door.json | 60 +- .../recipes/crafting/palm/fence.json | 60 +- .../recipes/crafting/palm/fence_gate.json | 60 +- .../recipes/crafting/palm/hanging_sign.json | 64 +- .../recipes/crafting/palm/leaf_pile.json | 60 +- .../recipes/crafting/palm/planks.json | 60 +- .../recipes/crafting/palm/pressure_plate.json | 60 +- .../recipes/crafting/palm/sign.json | 64 +- .../recipes/crafting/palm/slab.json | 60 +- .../recipes/crafting/palm/stairs.json | 60 +- .../recipes/crafting/palm/trapdoor.json | 60 +- .../recipes/crafting/palm/wood.json | 60 +- .../crafting/sakura/blossom_pile/blush.json | 60 +- .../crafting/sakura/blossom_pile/cotton.json | 60 +- .../recipes/crafting/sakura/boat.json | 52 +- .../recipes/crafting/sakura/button.json | 60 +- .../recipes/crafting/sakura/chest_boat.json | 60 +- .../recipes/crafting/sakura/door.json | 60 +- .../recipes/crafting/sakura/fence.json | 60 +- .../recipes/crafting/sakura/fence_gate.json | 60 +- .../recipes/crafting/sakura/hanging_sign.json | 64 +- .../recipes/crafting/sakura/planks.json | 60 +- .../crafting/sakura/pressure_plate.json | 60 +- .../recipes/crafting/sakura/sign.json | 64 +- .../recipes/crafting/sakura/slab.json | 60 +- .../recipes/crafting/sakura/stairs.json | 60 +- .../recipes/crafting/sakura/trapdoor.json | 60 +- .../recipes/crafting/sakura/wood.json | 60 +- .../crafting/vanilla_piles/acacia_leaf.json | 60 +- .../crafting/vanilla_piles/allium.json | 60 +- .../crafting/vanilla_piles/azalea_leaf.json | 60 +- .../crafting/vanilla_piles/azure_bluet.json | 60 +- .../crafting/vanilla_piles/birch_leaf.json | 60 +- .../crafting/vanilla_piles/blue_orchid.json | 60 +- .../crafting/vanilla_piles/cornflower.json | 60 +- .../crafting/vanilla_piles/dandelion.json | 60 +- .../crafting/vanilla_piles/dark_oak_leaf.json | 60 +- .../vanilla_piles/flowering_azalea_leaf.json | 60 +- .../crafting/vanilla_piles/jungle_leaf.json | 60 +- .../vanilla_piles/lily_of_the_valley.json | 60 +- .../crafting/vanilla_piles/mangrove_leaf.json | 60 +- .../crafting/vanilla_piles/oak_leaf.json | 60 +- .../crafting/vanilla_piles/orange_tulip.json | 60 +- .../crafting/vanilla_piles/oxeye_daisy.json | 60 +- .../crafting/vanilla_piles/pink_tulip.json | 60 +- .../recipes/crafting/vanilla_piles/poppy.json | 60 +- .../crafting/vanilla_piles/red_tulip.json | 60 +- .../crafting/vanilla_piles/spruce_leaf.json | 60 +- .../crafting/vanilla_piles/white_tulip.json | 60 +- .../crafting/vanilla_piles/wither_rose.json | 60 +- .../crafting/vanilla_snowy_leaves/spruce.json | 88 +-- .../recipes/smoking/cooked_duck.json | 60 +- .../recipes/stonecutting/asphalt/column.json | 40 - .../stonecutting/asphalt/polished_block.json | 60 +- .../stonecutting/asphalt/polished_slab.json | 82 +- .../stonecutting/asphalt/polished_stairs.json | 82 +- .../recipes/stonecutting/asphalt/slab.json | 60 +- .../recipes/stonecutting/asphalt/stairs.json | 60 +- .../recipes/stonecutting/asphalt/wall.json | 60 +- .../recipes/stonecutting/blunite/column.json | 40 - .../stonecutting/blunite/polished_block.json | 60 +- .../stonecutting/blunite/polished_slab.json | 82 +- .../stonecutting/blunite/polished_stairs.json | 82 +- .../recipes/stonecutting/blunite/slab.json | 60 +- .../recipes/stonecutting/blunite/stairs.json | 60 +- .../recipes/stonecutting/blunite/wall.json | 60 +- .../recipes/stonecutting/moai.json | 2 +- .../promenade_saplings.json | 58 +- .../loot_tables/blocks/acacia_leaf_pile.json | 264 ++++--- .../loot_tables/blocks/allium_pile.json | 54 +- .../promenade/loot_tables/blocks/asphalt.json | 34 +- .../loot_tables/blocks/asphalt_column.json | 27 - .../loot_tables/blocks/asphalt_slab.json | 60 +- .../loot_tables/blocks/asphalt_stairs.json | 34 +- .../loot_tables/blocks/asphalt_wall.json | 34 +- .../loot_tables/blocks/azalea_leaf_pile.json | 266 +++---- .../loot_tables/blocks/azure_bluet_pile.json | 54 +- .../loot_tables/blocks/birch_leaf_pile.json | 264 ++++--- .../loot_tables/blocks/black_dylium.json | 34 +- .../loot_tables/blocks/blue_orchid_pile.json | 54 +- .../loot_tables/blocks/blueberry_bush.json | 160 ++-- .../promenade/loot_tables/blocks/blunite.json | 34 +- .../loot_tables/blocks/blunite_column.json | 27 - .../loot_tables/blocks/blunite_slab.json | 60 +- .../loot_tables/blocks/blunite_stairs.json | 34 +- .../loot_tables/blocks/blunite_wall.json | 34 +- .../blocks/blush_sakura_blossom_pile.json | 264 ++++--- .../blocks/blush_sakura_blossoms.json | 264 ++++--- .../blocks/blush_sakura_sapling.json | 34 +- .../loot_tables/blocks/cornflower_pile.json | 54 +- .../blocks/cotton_sakura_blossom_pile.json | 264 ++++--- .../blocks/cotton_sakura_blossoms.json | 264 ++++--- .../blocks/cotton_sakura_sapling.json | 34 +- .../loot_tables/blocks/dandelion_pile.json | 54 +- .../blocks/dark_amaranth_button.json | 34 +- .../blocks/dark_amaranth_door.json | 52 +- .../blocks/dark_amaranth_fence.json | 34 +- .../blocks/dark_amaranth_fence_gate.json | 34 +- .../blocks/dark_amaranth_fungus.json | 34 +- .../blocks/dark_amaranth_hanging_sign.json | 34 +- .../blocks/dark_amaranth_hyphae.json | 34 +- .../blocks/dark_amaranth_planks.json | 34 +- .../blocks/dark_amaranth_pressure_plate.json | 34 +- .../blocks/dark_amaranth_roots.json | 34 +- .../blocks/dark_amaranth_sign.json | 34 +- .../blocks/dark_amaranth_slab.json | 60 +- .../blocks/dark_amaranth_stairs.json | 34 +- .../blocks/dark_amaranth_stem.json | 34 +- .../blocks/dark_amaranth_trapdoor.json | 34 +- .../dark_amaranth_wall_hanging_sign.json | 34 +- .../blocks/dark_amaranth_wall_sign.json | 34 +- .../blocks/dark_amaranth_wart_block.json | 34 +- .../blocks/dark_oak_leaf_pile.json | 378 ++++----- .../blocks/flowering_azalea_leaf_pile.json | 270 +++---- .../blocks/fulvous_carpeted_grass_block.json | 86 +- .../blocks/fulvous_maple_leaf_pile.json | 378 ++++----- .../blocks/fulvous_maple_leaves.json | 378 ++++----- .../blocks/fulvous_maple_sapling.json | 34 +- .../loot_tables/blocks/jungle_leaf_pile.json | 266 +++---- .../blocks/lily_of_the_valley_pile.json | 54 +- .../blocks/mangrove_leaf_pile.json | 156 ++-- .../loot_tables/blocks/maple_button.json | 34 +- .../loot_tables/blocks/maple_door.json | 52 +- .../loot_tables/blocks/maple_fence.json | 34 +- .../loot_tables/blocks/maple_fence_gate.json | 34 +- .../blocks/maple_hanging_sign.json | 34 +- .../loot_tables/blocks/maple_log.json | 34 +- .../loot_tables/blocks/maple_planks.json | 34 +- .../blocks/maple_pressure_plate.json | 34 +- .../loot_tables/blocks/maple_sign.json | 34 +- .../loot_tables/blocks/maple_slab.json | 60 +- .../loot_tables/blocks/maple_stairs.json | 34 +- .../loot_tables/blocks/maple_trapdoor.json | 34 +- .../blocks/maple_wall_hanging_sign.json | 34 +- .../loot_tables/blocks/maple_wall_sign.json | 34 +- .../loot_tables/blocks/maple_wood.json | 34 +- .../blocks/mikado_carpeted_grass_block.json | 86 +- .../blocks/mikado_maple_leaf_pile.json | 378 ++++----- .../blocks/mikado_maple_leaves.json | 378 ++++----- .../blocks/mikado_maple_sapling.json | 34 +- .../loot_tables/blocks/oak_leaf_pile.json | 378 ++++----- .../loot_tables/blocks/orange_tulip_pile.json | 54 +- .../loot_tables/blocks/oxeye_daisy_pile.json | 54 +- .../loot_tables/blocks/palm_button.json | 34 +- .../loot_tables/blocks/palm_door.json | 52 +- .../loot_tables/blocks/palm_fence.json | 34 +- .../loot_tables/blocks/palm_fence_gate.json | 34 +- .../loot_tables/blocks/palm_hanging_sign.json | 34 +- .../loot_tables/blocks/palm_leaf_pile.json | 378 ++++----- .../loot_tables/blocks/palm_leaves.json | 378 ++++----- .../loot_tables/blocks/palm_log.json | 34 +- .../loot_tables/blocks/palm_planks.json | 34 +- .../blocks/palm_pressure_plate.json | 34 +- .../loot_tables/blocks/palm_sapling.json | 34 +- .../loot_tables/blocks/palm_sign.json | 34 +- .../loot_tables/blocks/palm_slab.json | 60 +- .../loot_tables/blocks/palm_stairs.json | 34 +- .../loot_tables/blocks/palm_trapdoor.json | 34 +- .../blocks/palm_wall_hanging_sign.json | 34 +- .../loot_tables/blocks/palm_wall_sign.json | 34 +- .../loot_tables/blocks/palm_wood.json | 34 +- .../loot_tables/blocks/pink_tulip_pile.json | 54 +- .../loot_tables/blocks/polished_asphalt.json | 34 +- .../blocks/polished_asphalt_slab.json | 60 +- .../blocks/polished_asphalt_stairs.json | 34 +- .../loot_tables/blocks/polished_blunite.json | 34 +- .../blocks/polished_blunite_slab.json | 60 +- .../blocks/polished_blunite_stairs.json | 34 +- .../loot_tables/blocks/poppy_pile.json | 54 +- .../blocks/potted_blush_sakura_sapling.json | 62 +- .../blocks/potted_cotton_sakura_sapling.json | 62 +- .../blocks/potted_dark_amaranth_fungus.json | 62 +- .../blocks/potted_fulvous_maple_sapling.json | 62 +- .../blocks/potted_mikado_maple_sapling.json | 62 +- .../blocks/potted_palm_sapling.json | 62 +- .../blocks/potted_sap_maple_sapling.json | 62 +- .../potted_vermilion_maple_sapling.json | 62 +- .../loot_tables/blocks/red_tulip_pile.json | 54 +- .../loot_tables/blocks/sakura_button.json | 34 +- .../loot_tables/blocks/sakura_door.json | 52 +- .../loot_tables/blocks/sakura_fence.json | 34 +- .../loot_tables/blocks/sakura_fence_gate.json | 34 +- .../blocks/sakura_hanging_sign.json | 34 +- .../loot_tables/blocks/sakura_log.json | 34 +- .../loot_tables/blocks/sakura_planks.json | 34 +- .../blocks/sakura_pressure_plate.json | 34 +- .../loot_tables/blocks/sakura_sign.json | 34 +- .../loot_tables/blocks/sakura_slab.json | 60 +- .../loot_tables/blocks/sakura_stairs.json | 34 +- .../loot_tables/blocks/sakura_trapdoor.json | 34 +- .../blocks/sakura_wall_hanging_sign.json | 34 +- .../loot_tables/blocks/sakura_wall_sign.json | 34 +- .../loot_tables/blocks/sakura_wood.json | 34 +- .../blocks/sap_maple_leaf_pile.json | 378 ++++----- .../loot_tables/blocks/sap_maple_leaves.json | 378 ++++----- .../loot_tables/blocks/sap_maple_sapling.json | 34 +- .../blocks/snowy_spruce_leaves.json | 33 +- .../loot_tables/blocks/spruce_leaf_pile.json | 264 ++++--- .../blocks/stripped_dark_amaranth_hyphae.json | 34 +- .../blocks/stripped_dark_amaranth_stem.json | 34 +- .../loot_tables/blocks/stripped_palm_log.json | 34 +- .../blocks/stripped_palm_wood.json | 34 +- .../blocks/stripped_sakura_log.json | 34 +- .../blocks/stripped_sakura_wood.json | 34 +- .../vermilion_carpeted_grass_block.json | 86 +- .../blocks/vermilion_maple_leaf_pile.json | 378 ++++----- .../blocks/vermilion_maple_leaves.json | 378 ++++----- .../blocks/vermilion_maple_sapling.json | 34 +- .../loot_tables/blocks/white_tulip_pile.json | 54 +- .../loot_tables/blocks/wither_rose_pile.json | 54 +- .../loot_tables/chests/witch_hut.json | 272 +++---- .../promenade/loot_tables/entities/duck.json | 126 +-- .../loot_tables/entities/lush_creeper.json | 202 ++--- .../loot_tables/entities/sunken_skeleton.json | 372 ++++----- .../promenade/capybara_variant/albino.json | 6 + .../promenade/capybara_variant/brown.json | 6 + .../recipes/campfire_cooking/cooked_duck.json | 16 +- .../recipes/crafting/asphalt/column.json | 25 - .../crafting/asphalt/polished_block.json | 28 +- .../crafting/asphalt/polished_slab.json | 26 +- .../crafting/asphalt/polished_stairs.json | 30 +- .../recipes/crafting/asphalt/slab.json | 26 +- .../recipes/crafting/asphalt/stairs.json | 30 +- .../recipes/crafting/asphalt/wall.json | 28 +- .../crafting/blue_dye_from_blueberries.json | 20 +- .../recipes/crafting/blunite/column.json | 25 - .../crafting/blunite/polished_block.json | 28 +- .../crafting/blunite/polished_slab.json | 26 +- .../crafting/blunite/polished_stairs.json | 30 +- .../recipes/crafting/blunite/slab.json | 26 +- .../recipes/crafting/blunite/stairs.json | 30 +- .../recipes/crafting/blunite/wall.json | 28 +- .../crafting/dark_amaranth/button.json | 20 +- .../recipes/crafting/dark_amaranth/door.json | 32 +- .../recipes/crafting/dark_amaranth/fence.json | 36 +- .../crafting/dark_amaranth/fence_gate.json | 34 +- .../crafting/dark_amaranth/hanging_sign.json | 2 +- .../crafting/dark_amaranth/hyphae.json | 30 +- .../crafting/dark_amaranth/planks.json | 22 +- .../dark_amaranth/pressure_plate.json | 26 +- .../recipes/crafting/dark_amaranth/sign.json | 2 +- .../recipes/crafting/dark_amaranth/slab.json | 28 +- .../crafting/dark_amaranth/stairs.json | 32 +- .../crafting/dark_amaranth/trapdoor.json | 30 +- .../recipes/crafting/maple/boat.json | 2 +- .../recipes/crafting/maple/button.json | 20 +- .../recipes/crafting/maple/chest_boat.json | 2 +- .../recipes/crafting/maple/door.json | 32 +- .../recipes/crafting/maple/fence.json | 36 +- .../recipes/crafting/maple/fence_gate.json | 34 +- .../recipes/crafting/maple/hanging_sign.json | 2 +- .../crafting/maple/leaf_pile/fulvous.json | 28 +- .../crafting/maple/leaf_pile/mikado.json | 28 +- .../recipes/crafting/maple/leaf_pile/sap.json | 28 +- .../crafting/maple/leaf_pile/vermilion.json | 28 +- .../recipes/crafting/maple/planks.json | 22 +- .../crafting/maple/pressure_plate.json | 26 +- .../recipes/crafting/maple/sign.json | 2 +- .../recipes/crafting/maple/slab.json | 28 +- .../recipes/crafting/maple/stairs.json | 32 +- .../recipes/crafting/maple/trapdoor.json | 30 +- .../recipes/crafting/maple/wood.json | 30 +- .../promenade/recipes/crafting/palm/boat.json | 2 +- .../recipes/crafting/palm/button.json | 20 +- .../recipes/crafting/palm/chest_boat.json | 2 +- .../promenade/recipes/crafting/palm/door.json | 32 +- .../recipes/crafting/palm/fence.json | 36 +- .../recipes/crafting/palm/fence_gate.json | 34 +- .../recipes/crafting/palm/hanging_sign.json | 2 +- .../recipes/crafting/palm/leaf_pile.json | 28 +- .../recipes/crafting/palm/planks.json | 22 +- .../recipes/crafting/palm/pressure_plate.json | 26 +- .../promenade/recipes/crafting/palm/sign.json | 2 +- .../promenade/recipes/crafting/palm/slab.json | 28 +- .../recipes/crafting/palm/stairs.json | 32 +- .../recipes/crafting/palm/trapdoor.json | 30 +- .../promenade/recipes/crafting/palm/wood.json | 30 +- .../crafting/sakura/blossom_pile/blush.json | 28 +- .../crafting/sakura/blossom_pile/cotton.json | 28 +- .../recipes/crafting/sakura/boat.json | 2 +- .../recipes/crafting/sakura/button.json | 20 +- .../recipes/crafting/sakura/chest_boat.json | 2 +- .../recipes/crafting/sakura/door.json | 32 +- .../recipes/crafting/sakura/fence.json | 36 +- .../recipes/crafting/sakura/fence_gate.json | 34 +- .../recipes/crafting/sakura/hanging_sign.json | 2 +- .../recipes/crafting/sakura/planks.json | 22 +- .../crafting/sakura/pressure_plate.json | 26 +- .../recipes/crafting/sakura/sign.json | 2 +- .../recipes/crafting/sakura/slab.json | 28 +- .../recipes/crafting/sakura/stairs.json | 32 +- .../recipes/crafting/sakura/trapdoor.json | 30 +- .../recipes/crafting/sakura/wood.json | 30 +- .../crafting/vanilla_piles/acacia_leaf.json | 28 +- .../crafting/vanilla_piles/allium.json | 26 +- .../crafting/vanilla_piles/azalea_leaf.json | 28 +- .../crafting/vanilla_piles/azure_bluet.json | 26 +- .../crafting/vanilla_piles/birch_leaf.json | 28 +- .../crafting/vanilla_piles/blue_orchid.json | 26 +- .../crafting/vanilla_piles/cornflower.json | 26 +- .../crafting/vanilla_piles/dandelion.json | 26 +- .../crafting/vanilla_piles/dark_oak_leaf.json | 28 +- .../vanilla_piles/flowering_azalea_leaf.json | 28 +- .../crafting/vanilla_piles/jungle_leaf.json | 28 +- .../vanilla_piles/lily_of_the_valley.json | 26 +- .../crafting/vanilla_piles/mangrove_leaf.json | 28 +- .../crafting/vanilla_piles/oak_leaf.json | 28 +- .../crafting/vanilla_piles/orange_tulip.json | 26 +- .../crafting/vanilla_piles/oxeye_daisy.json | 26 +- .../crafting/vanilla_piles/pink_tulip.json | 26 +- .../recipes/crafting/vanilla_piles/poppy.json | 26 +- .../crafting/vanilla_piles/red_tulip.json | 26 +- .../crafting/vanilla_piles/spruce_leaf.json | 28 +- .../crafting/vanilla_piles/white_tulip.json | 26 +- .../crafting/vanilla_piles/wither_rose.json | 26 +- .../crafting/vanilla_snowy_leaves/spruce.json | 34 +- .../recipes/smelting/cooked_duck.json | 16 +- .../recipes/smoking/cooked_duck.json | 16 +- .../recipes/stonecutting/asphalt/column.json | 16 - .../stonecutting/asphalt/polished_block.json | 13 +- .../stonecutting/asphalt/polished_slab.json | 24 +- .../stonecutting/asphalt/polished_stairs.json | 23 +- .../recipes/stonecutting/asphalt/slab.json | 14 +- .../recipes/stonecutting/asphalt/stairs.json | 13 +- .../recipes/stonecutting/asphalt/wall.json | 13 +- .../recipes/stonecutting/blunite/column.json | 16 - .../stonecutting/blunite/polished_block.json | 13 +- .../stonecutting/blunite/polished_slab.json | 24 +- .../stonecutting/blunite/polished_stairs.json | 23 +- .../recipes/stonecutting/blunite/slab.json | 14 +- .../recipes/stonecutting/blunite/stairs.json | 13 +- .../recipes/stonecutting/blunite/wall.json | 13 +- .../promenade/recipes/stonecutting/moai.json | 5 +- .../tags/blocks/dark_amaranth_stems.json | 14 +- .../promenade/tags/blocks/flower_piles.json | 32 +- .../promenade/tags/blocks/leaf_piles.json | 38 +- .../data/promenade/tags/blocks/leaves.json | 22 +- .../promenade/tags/blocks/maple_logs.json | 14 +- .../data/promenade/tags/blocks/palm_logs.json | 14 +- .../promenade/tags/blocks/sakura_logs.json | 14 +- .../tags/items/dark_amaranth_stems.json | 14 +- .../{breeding => entity_food}/capybara.json | 0 .../items/{breeding => entity_food}/duck.json | 4 +- .../data/promenade/tags/items/maple_logs.json | 14 +- .../data/promenade/tags/items/palm_logs.json | 14 +- .../promenade/tags/items/sakura_logs.json | 14 +- .../worldgen/biome/dark_amaranth_forests.json | 10 +- .../tags/worldgen/biome/has_palms.json | 14 +- .../has_structure/dark_forest_witch_hut.json | 8 +- .../tags/worldgen/biome/sakura_groves.json | 10 +- .../worldgen/biome/spawns/duck/mallard.json | 12 +- .../worldgen/biome/spawns/duck/pekin.json | 10 +- .../biome/spawns/sunken_skeleton.json | 12 +- .../configured_feature/cute_little_rock.json | 6 +- .../configured_feature/obsidian_spike.json | 6 +- .../tree/maple/fulvous/bees.json | 6 +- .../tree/maple/fulvous/fancy.json | 6 +- .../tree/maple/fulvous/fancy_bees.json | 6 +- .../tree/maple/fulvous/regular.json | 6 +- .../tree/maple/mikado/bees.json | 6 +- .../tree/maple/mikado/fancy.json | 6 +- .../tree/maple/mikado/fancy_bees.json | 6 +- .../tree/maple/mikado/regular.json | 6 +- .../tree/maple/sap/bees.json | 6 +- .../tree/maple/sap/fancy.json | 6 +- .../tree/maple/sap/fancy_bees.json | 6 +- .../tree/maple/sap/regular.json | 6 +- .../tree/maple/vermilion/bees.json | 6 +- .../tree/maple/vermilion/fancy.json | 6 +- .../tree/maple/vermilion/fancy_bees.json | 6 +- .../tree/maple/vermilion/regular.json | 6 +- .../configured_feature/tree/palm.json | 12 +- .../tree/sakura/blush/bees.json | 6 +- .../tree/sakura/blush/fancy.json | 6 +- .../tree/sakura/blush/fancy_bees.json | 6 +- .../tree/sakura/blush/regular.json | 6 +- .../tree/sakura/cotton/bees.json | 6 +- .../tree/sakura/cotton/fancy.json | 6 +- .../tree/sakura/cotton/fancy_bees.json | 6 +- .../tree/sakura/cotton/regular.json | 6 +- .../tree/snowy_mega_spruce.json | 6 +- .../water_pool/gravel/decorated.json | 6 +- src/main/resources/fabric.mod.json | 3 - src/main/resources/promenade.mixins.json | 5 +- 1141 files changed, 23027 insertions(+), 22958 deletions(-) delete mode 100644 src/main/java/fr/hugman/promenade/PromenadeRegistrar.java create mode 100644 src/main/java/fr/hugman/promenade/block/BerryBushBlock.java delete mode 100644 src/main/java/fr/hugman/promenade/block/BlueberryBushBlock.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlockKeys.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlockProperties.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlockSetTypes.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlockTags.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlockTypes.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeSaplingGenerators.java create mode 100644 src/main/java/fr/hugman/promenade/block/PromenadeWoodTypes.java create mode 100644 src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypeKeys.java create mode 100644 src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypes.java delete mode 100644 src/main/java/fr/hugman/promenade/client/PromenadeEntityModelLayers.java delete mode 100644 src/main/java/fr/hugman/promenade/client/render/entity/CapybaraEyesRenderer.java create mode 100644 src/main/java/fr/hugman/promenade/client/render/entity/model/PromenadeEntityModelLayers.java delete mode 100644 src/main/java/fr/hugman/promenade/compat/ColumnsContent.java delete mode 100644 src/main/java/fr/hugman/promenade/entity/CapybaraState.java create mode 100644 src/main/java/fr/hugman/promenade/entity/PromenadeEntityTypes.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/feature/BoulderFeature.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/feature/BoulderFeatureConfig.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/feature/FreezeTopLayerFeature.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/feature/TallHugeFungusFeature.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/tree/foliage/PalmFoliagePlacer.java delete mode 100644 src/main/java/fr/hugman/promenade/gen/tree/trunk/LeapingTrunkPlacer.java create mode 100644 src/main/java/fr/hugman/promenade/item/PromenadeItemKeys.java create mode 100644 src/main/java/fr/hugman/promenade/item/PromenadeItemTags.java create mode 100644 src/main/java/fr/hugman/promenade/item/PromenadeItems.java delete mode 100644 src/main/java/fr/hugman/promenade/loot/PromenadeLootTables.java create mode 100644 src/main/java/fr/hugman/promenade/particle/PromenadeParticleTypes.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/AmaranthContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/AnimalContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/CommonContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/FoodContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/GlaglaglaContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/IgneousContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/MapleContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/MonsterContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/SakuraContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/TropicalContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/content/VanillaPilesContent.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/tag/PromenadeBiomeTags.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/tag/PromenadeBlockTags.java delete mode 100644 src/main/java/fr/hugman/promenade/registry/tag/PromenadeItemTags.java create mode 100644 src/main/java/fr/hugman/promenade/sound/PromenadeSoundEvents.java delete mode 100644 src/main/java/fr/hugman/promenade/state/property/PromenadeBlockProperties.java create mode 100644 src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeKeys.java create mode 100644 src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeTags.java create mode 100644 src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomes.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeature.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeatureConfig.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/FreezeTopLayerFeature.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeConfiguredFeatureKeys.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeFeatures.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatureKeys.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatures.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/feature/TallHugeFungusFeature.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/placement_modifier/PromenadePlacementModifierTypes.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PalmFoliagePlacer.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PromenadeFoliagePlacerTypes.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/tree/trunk/LeapingTrunkPlacer.java create mode 100644 src/main/java/fr/hugman/promenade/world/gen/tree/trunk/PromenadeTrunkPlacerTypes.java delete mode 100644 src/main/resources/assets/promenade/blockstates/asphalt_column.json delete mode 100644 src/main/resources/assets/promenade/blockstates/blunite_column.json delete mode 100644 src/main/resources/assets/promenade/models/block/asphalt/column/center.json delete mode 100644 src/main/resources/assets/promenade/models/block/asphalt/column/end.json delete mode 100644 src/main/resources/assets/promenade/models/block/blunite/column/center.json delete mode 100644 src/main/resources/assets/promenade/models/block/blunite/column/end.json delete mode 100644 src/main/resources/assets/promenade/models/item/asphalt_column.json delete mode 100644 src/main/resources/assets/promenade/models/item/blunite_column.json delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/closed_eyes.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/large/closed.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/large/open.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/regular/closed.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/regular/open.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/large_eyes.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/albino/small_eyes.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/closed_eyes.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/large/closed.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/large/open.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/regular/closed.png delete mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/regular/open.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/large_eyes.png create mode 100644 src/main/resources/assets/promenade/textures/entity/capybara/brown/small_eyes.png create mode 100644 src/main/resources/assets/promenade/textures/entity/wolf/shiba_inu.png create mode 100644 src/main/resources/assets/promenade/textures/entity/wolf/shiba_inu_angry.png create mode 100644 src/main/resources/assets/promenade/textures/entity/wolf/shiba_inu_tame.png delete mode 100644 src/main/resources/data/columns/tags/blocks/columns.json delete mode 100644 src/main/resources/data/columns/tags/items/columns.json create mode 100644 src/main/resources/data/minecraft/tags/entity_types/axolotl_always_hostiles.json create mode 100644 src/main/resources/data/minecraft/tags/entity_types/fall_damage_immune.json create mode 100644 src/main/resources/data/minecraft/tags/entity_types/skeletons.json create mode 100644 src/main/resources/data/minecraft/tags/items/meat.json delete mode 100644 src/main/resources/data/promenade/advancements/recipes/crafting/asphalt/column.json delete mode 100644 src/main/resources/data/promenade/advancements/recipes/crafting/blunite/column.json delete mode 100644 src/main/resources/data/promenade/advancements/recipes/stonecutting/asphalt/column.json delete mode 100644 src/main/resources/data/promenade/advancements/recipes/stonecutting/blunite/column.json delete mode 100644 src/main/resources/data/promenade/loot_tables/blocks/asphalt_column.json delete mode 100644 src/main/resources/data/promenade/loot_tables/blocks/blunite_column.json create mode 100644 src/main/resources/data/promenade/promenade/capybara_variant/albino.json create mode 100644 src/main/resources/data/promenade/promenade/capybara_variant/brown.json delete mode 100644 src/main/resources/data/promenade/recipes/crafting/asphalt/column.json delete mode 100644 src/main/resources/data/promenade/recipes/crafting/blunite/column.json delete mode 100644 src/main/resources/data/promenade/recipes/stonecutting/asphalt/column.json delete mode 100644 src/main/resources/data/promenade/recipes/stonecutting/blunite/column.json rename src/main/resources/data/promenade/tags/items/{breeding => entity_food}/capybara.json (100%) rename src/main/resources/data/promenade/tags/items/{breeding => entity_food}/duck.json (57%) diff --git a/README.md b/README.md index 2a3a2963..034578e6 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,6 @@ Listen to **Brise couleur pastel** on [Bandcamp](https://ludocrypt.bandcamp.com/ ### Compatible mods Promenade is compatible with the following mods: -- Columns: [GitHub](https://github.com/haykam821/Columns) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/columns) - Farming for Blockheads: [GitHub](https://github.com/ModdingForBlockheads/FarmingForBlockheads) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/farming-for-blockheads-fabric) ## 🌟 Special Thanks diff --git a/build.gradle b/build.gradle index 3a4d6da6..2ad0c36f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' } apply from: 'https://dawnteammc.github.io/resources/gradle_scripts/fabric-mod/java-17.gradle' @@ -8,7 +8,6 @@ repositories { maven { url 'https://jitpack.io' } // Required for Dawn API maven { url 'https://maven.terraformersmc.com/' } // Required for Mod Menu and Terraform APIs maven { url 'https://maven.shedaniel.me/' } // Required for Cloth Config - maven { url 'https://maven.ryanliptak.com/' } // Required for AppleSkin maven { url 'https://maven.minecraftforge.net/' } // Required for TerraBlender @@ -17,11 +16,13 @@ repositories { } dependencies { - modApi "com.github.DawnTeamMC:DawnAPI:${dawn_version}" + modApi ("com.github.DawnTeamMC:DawnAPI:${dawn_version}"){ + exclude(group: "net.fabricmc.fabric-api") + } - includeMod "com.terraformersmc:biolith:${biolith_version}" + includeMod "com.terraformersmc:biolith-fabric:${biolith_version}" - /* TODO haykam + /* modImplementation ("curse.maven:columns-385230:${columns_version}"){ exclude(group: "net.fabricmc.fabric-api") } diff --git a/curseforge.html b/curseforge.html index fc7d2e7c..9a6c52f1 100644 --- a/curseforge.html +++ b/curseforge.html @@ -65,7 +65,6 @@

Required mods

Compatible mods

Promenade is compatible with the following mods:

diff --git a/gradle.properties b/gradle.properties index a8b6aae4..9b1d92b7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,14 +9,12 @@ loader_name=Fabric loader_icon=https://fabricmc.net/assets/logo.png # check these on https://fabricmc.net/versions.html -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.2 -loader_version=0.14.21 -fabric_version=0.83.1+1.20.1 +minecraft_version=24w13a +yarn_mappings=24w13a+build.7 +loader_version=0.15.7 +fabric_version=0.96.13+1.20.5 # https://github.com/DawnTeamMC/DawnAPI -dawn_version=5.0.0 -# https://maven.terraformersmc.com/releases/com/terraformersmc/biolith -biolith_version=1.0.0-alpha.8 -# https://www.curseforge.com/minecraft/mc-mods/columns -columns_version=3836307 \ No newline at end of file +dawn_version=snapshot-SNAPSHOT +# https://maven.terraformersmc.com/releases/com/terraformersmc/biolith-fabric +biolith_version=2.1.0-alpha.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index fae08049..17655d0e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/modrinth.md b/modrinth.md index 83aa6299..deb36aec 100644 --- a/modrinth.md +++ b/modrinth.md @@ -60,7 +60,6 @@ Listen to **Brise couleur pastel** on [Bandcamp](https://ludocrypt.bandcamp.com/ ### Compatible mods Promenade is compatible with the following mods: -- Columns: [GitHub](https://github.com/haykam821/Columns) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/columns) - Farming for Blockheads: [GitHub](https://github.com/ModdingForBlockheads/FarmingForBlockheads) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/farming-for-blockheads-fabric) ## 🌟 Special Thanks diff --git a/src/main/java/fr/hugman/promenade/Promenade.java b/src/main/java/fr/hugman/promenade/Promenade.java index 67355af7..c1f16403 100644 --- a/src/main/java/fr/hugman/promenade/Promenade.java +++ b/src/main/java/fr/hugman/promenade/Promenade.java @@ -1,52 +1,58 @@ package fr.hugman.promenade; -import fr.hugman.dawn.Registrar; +import com.google.common.reflect.Reflection; +import fr.hugman.promenade.block.PromenadeBlocks; +import fr.hugman.promenade.boat.PromenadeBoatTypes; import fr.hugman.promenade.config.PromenadeConfig; +import fr.hugman.promenade.entity.PromenadeEntityTypes; import fr.hugman.promenade.entity.ai.brain.sensor.PromenadeSensorTypes; import fr.hugman.promenade.entity.data.PromenadeTrackedData; -import fr.hugman.promenade.registry.content.*; +import fr.hugman.promenade.item.PromenadeItems; +import fr.hugman.promenade.registry.PromenadeRegistries; +import fr.hugman.promenade.sound.PromenadeSoundEvents; +import fr.hugman.promenade.world.biome.PromenadeBiomes; +import fr.hugman.promenade.world.gen.feature.PromenadeFeatures; +import fr.hugman.promenade.world.gen.feature.PromenadePlacedFeatures; +import fr.hugman.promenade.world.gen.placement_modifier.PromenadePlacementModifierTypes; +import fr.hugman.promenade.world.gen.tree.foliage.PromenadeFoliagePlacerTypes; +import fr.hugman.promenade.world.gen.tree.trunk.PromenadeTrunkPlacerTypes; import me.shedaniel.autoconfig.AutoConfig; import me.shedaniel.autoconfig.serializer.GsonConfigSerializer; import me.shedaniel.autoconfig.serializer.PartitioningSerializer; import net.fabricmc.api.ModInitializer; -import net.fabricmc.loader.api.FabricLoader; import net.minecraft.util.Identifier; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Promenade implements ModInitializer { - public static final Registrar REGISTRAR = new Registrar("promenade"); - public static final Logger LOGGER = LogManager.getLogger(); - public static final PromenadeConfig CONFIG = AutoConfig.register(PromenadeConfig.class, PartitioningSerializer.wrap(GsonConfigSerializer::new)).getConfig(); - - @Override - public void onInitialize() { - PromenadeTrackedData.init(); - PromenadeSensorTypes.register(REGISTRAR); - - AnimalContent.register(REGISTRAR); - MonsterContent.register(REGISTRAR); - - CommonContent.register(REGISTRAR); - VanillaPilesContent.register(REGISTRAR); - FoodContent.register(REGISTRAR); - IgneousContent.register(REGISTRAR); - - SakuraContent.register(REGISTRAR); - MapleContent.register(REGISTRAR); - TropicalContent.register(REGISTRAR); - GlaglaglaContent.register(REGISTRAR); - AmaranthContent.register(REGISTRAR); - - if(FabricLoader.getInstance().isModLoaded("columns")) { - //TODO: haykam - //ColumnsContent.init(); - //Promenade.LOGGER.info("Initialized Columns compatibility"); - Promenade.LOGGER.warn("Columns compatibility has not yet been implemented"); - } - } - - public static Identifier id(String path) { - return REGISTRAR.id(path); - } + public static final String MOD_ID = "promenade"; + public static final Logger LOGGER = LogManager.getLogger(); + public static final PromenadeConfig CONFIG = AutoConfig.register(PromenadeConfig.class, PartitioningSerializer.wrap(GsonConfigSerializer::new)).getConfig(); + + @Override + public void onInitialize() { + PromenadeRegistries.register(); + + PromenadeBlocks.appendItemGroups(); + PromenadeItems.appendItemGroups(); + + PromenadeBlocks.appendVillagerTrades(); + + Reflection.initialize(PromenadeFeatures.class); + Reflection.initialize(PromenadePlacementModifierTypes.class); + Reflection.initialize(PromenadeFoliagePlacerTypes.class); + Reflection.initialize(PromenadeTrunkPlacerTypes.class); + Reflection.initialize(PromenadeSensorTypes.class); + Reflection.initialize(PromenadeBoatTypes.class); + Reflection.initialize(PromenadeSoundEvents.class); + Reflection.initialize(PromenadeTrackedData.class); + + PromenadeBiomes.appendWorldGen(); + PromenadePlacedFeatures.appendWorldGen(); + PromenadeEntityTypes.appendWorldGen(); + } + + public static Identifier id(String path) { + return Identifier.of(MOD_ID, path); + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/PromenadeClient.java b/src/main/java/fr/hugman/promenade/PromenadeClient.java index d002f298..7ac82f1a 100644 --- a/src/main/java/fr/hugman/promenade/PromenadeClient.java +++ b/src/main/java/fr/hugman/promenade/PromenadeClient.java @@ -1,14 +1,16 @@ package fr.hugman.promenade; import fr.hugman.dawn.client.ClientRegistrar; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; +import fr.hugman.promenade.block.PromenadeBlocks; +import fr.hugman.promenade.boat.PromenadeBoatTypes; import fr.hugman.promenade.client.render.entity.CapybaraRenderer; import fr.hugman.promenade.client.render.entity.DuckRenderer; import fr.hugman.promenade.client.render.entity.LushCreeperRenderer; import fr.hugman.promenade.client.render.entity.SunkenSkeletonRenderer; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; +import fr.hugman.promenade.entity.PromenadeEntityTypes; import fr.hugman.promenade.particle.FallingLeafParticle; -import fr.hugman.promenade.particle.FloatingParticle; -import fr.hugman.promenade.registry.content.*; +import fr.hugman.promenade.particle.PromenadeParticleTypes; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -21,158 +23,149 @@ import net.minecraft.client.color.world.BiomeColors; import net.minecraft.client.color.world.FoliageColors; import net.minecraft.client.color.world.GrassColors; -import net.minecraft.client.particle.CherryLeavesParticle; -import net.minecraft.client.particle.SpriteProvider; import net.minecraft.client.render.RenderLayer; import net.minecraft.item.BlockItem; @Environment(EnvType.CLIENT) public class PromenadeClient implements ClientModInitializer { - @Override - public void onInitializeClient() { - PromenadeEntityModelLayers.init(); - PromenadeClient.registerRenderLayers(); - PromenadeClient.registerBlockColors(); - PromenadeClient.registerItemColors(); - PromenadeClient.registerEntityRenderers(); - - ParticleFactoryRegistry.getInstance().register(SakuraContent.BLUSH_SAKURA_BLOSSOM, FallingLeafParticle.BlossomFactory::new); - ParticleFactoryRegistry.getInstance().register(SakuraContent.COTTON_SAKURA_BLOSSOM, FallingLeafParticle.BlossomFactory::new); - - ParticleFactoryRegistry.getInstance().register(MapleContent.MIKADO_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); - ParticleFactoryRegistry.getInstance().register(MapleContent.FULVOUS_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); - ParticleFactoryRegistry.getInstance().register(MapleContent.VERMILION_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); - - ClientRegistrar.add(SakuraContent.SAKURA_SIGNS); - ClientRegistrar.add(SakuraContent.SAKURA_BOAT_TYPE); - - ClientRegistrar.add(MapleContent.MAPLE_SIGNS); - ClientRegistrar.add(MapleContent.MAPLE_BOAT_TYPE); - - ClientRegistrar.add(TropicalContent.PALM_SIGNS); - ClientRegistrar.add(TropicalContent.PALM_BOAT_TYPE); - - ClientRegistrar.add(AmaranthContent.DARK_AMARANTH_SIGNS); - } - - public static void registerRenderLayers() { - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.OAK_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.SPRUCE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.BIRCH_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.JUNGLE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.ACACIA_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.DARK_OAK_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.MANGROVE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.AZALEA_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.FLOWERING_AZALEA_LEAF_PILE, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.DANDELION_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.POPPY_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.BLUE_ORCHID_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.ALLIUM_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.AZURE_BLUET_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.RED_TULIP_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.ORANGE_TULIP_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.WHITE_TULIP_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.PINK_TULIP_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.OXEYE_DAISY_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.CORNFLOWER_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.LILY_OF_THE_VALLEY_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(VanillaPilesContent.WITHER_ROSE_PILE, RenderLayer.getCutoutMipped()); - - - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.SAKURA_DOOR, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.SAKURA_TRAPDOOR, RenderLayer.getCutout()); - - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.BLUSH_SAKURA_BLOSSOMS, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.BLUSH_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.POTTED_BLUSH_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.BLUSH_SAKURA_BLOSSOM_PILE, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.COTTON_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.POTTED_COTTON_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.COTTON_SAKURA_BLOSSOMS, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(SakuraContent.COTTON_SAKURA_BLOSSOM_PILE, RenderLayer.getCutoutMipped()); - - - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MAPLE_DOOR, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MAPLE_TRAPDOOR, RenderLayer.getCutout()); - - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.VERMILION_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.POTTED_VERMILION_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.VERMILION_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.VERMILION_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.VERMILION_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.FULVOUS_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.POTTED_FULVOUS_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.FULVOUS_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.FULVOUS_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.FULVOUS_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MIKADO_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.POTTED_MIKADO_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MIKADO_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MIKADO_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.MIKADO_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.SAP_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.POTTED_SAP_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.SAP_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(MapleContent.SAP_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); - - - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_DOOR, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_TRAPDOOR, RenderLayer.getCutout()); - - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_SAPLING, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.POTTED_PALM_SAPLING, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_LEAVES, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_HANGING_LEAVES, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(TropicalContent.PALM_LEAF_PILE, RenderLayer.getCutout()); - - - BlockRenderLayerMap.INSTANCE.putBlock(AmaranthContent.DARK_AMARANTH_DOOR, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AmaranthContent.DARK_AMARANTH_TRAPDOOR, RenderLayer.getCutout()); - - BlockRenderLayerMap.INSTANCE.putBlock(AmaranthContent.DARK_AMARANTH_ROOTS, RenderLayer.getCutout()); - BlockRenderLayerMap.INSTANCE.putBlock(AmaranthContent.DARK_AMARANTH_FUNGUS, RenderLayer.getCutoutMipped()); - BlockRenderLayerMap.INSTANCE.putBlock(AmaranthContent.POTTED_DARK_AMARANTH_FUNGUS, RenderLayer.getCutoutMipped()); - - BlockRenderLayerMap.INSTANCE.putBlock(FoodContent.BLUEBERRY_BUSH, RenderLayer.getCutout()); - } - - private static final int SAP_MAPLE_COLOR = 10931465; // 'foliage_color' in 'carnelian_treeway.json' - private static final int PALM_COLOR = 8237614; - - private static void registerBlockColors() { - ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> PALM_COLOR, TropicalContent.PALM_LEAVES, TropicalContent.PALM_HANGING_LEAVES, TropicalContent.PALM_LEAF_PILE); - ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> pos != null && world != null ? BiomeColors.getFoliageColor(world, pos) : FoliageColors.getDefaultColor(), VanillaPilesContent.OAK_LEAF_PILE, VanillaPilesContent.JUNGLE_LEAF_PILE, VanillaPilesContent.ACACIA_LEAF_PILE, VanillaPilesContent.DARK_OAK_LEAF_PILE, VanillaPilesContent.MANGROVE_LEAF_PILE, MapleContent.SAP_MAPLE_LEAVES, MapleContent.SAP_MAPLE_LEAF_PILE); - ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> FoliageColors.getSpruceColor(), VanillaPilesContent.SPRUCE_LEAF_PILE, GlaglaglaContent.SNOWY_SPRUCE_LEAVES); - ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> FoliageColors.getBirchColor(), VanillaPilesContent.BIRCH_LEAF_PILE); - ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> { - if(world == null || pos == null) { - return GrassColors.getColor(0.5, 1.0); - } - return BiomeColors.getGrassColor(world, pos); - }, MapleContent.VERMILION_CARPETED_GRASS_BLOCK, MapleContent.FULVOUS_CARPETED_GRASS_BLOCK, MapleContent.MIKADO_CARPETED_GRASS_BLOCK); - } - - private static void registerItemColors() { - ColorProviderRegistry.ITEM.register((stack, tintIndex) -> PALM_COLOR, TropicalContent.PALM_LEAVES, TropicalContent.PALM_HANGING_LEAVES, TropicalContent.PALM_LEAF_PILE); - ColorProviderRegistry.ITEM.register((stack, tintIndex) -> { - Block block = ((BlockItem) stack.getItem()).getBlock(); - BlockState blockState = block.getDefaultState(); - return ColorProviderRegistry.BLOCK.get(block).getColor(blockState, null, null, tintIndex); - }, VanillaPilesContent.OAK_LEAF_PILE, VanillaPilesContent.SPRUCE_LEAF_PILE, VanillaPilesContent.BIRCH_LEAF_PILE, VanillaPilesContent.JUNGLE_LEAF_PILE, VanillaPilesContent.ACACIA_LEAF_PILE, VanillaPilesContent.DARK_OAK_LEAF_PILE, MapleContent.VERMILION_CARPETED_GRASS_BLOCK, MapleContent.FULVOUS_CARPETED_GRASS_BLOCK, MapleContent.MIKADO_CARPETED_GRASS_BLOCK, GlaglaglaContent.SNOWY_SPRUCE_LEAVES); - ColorProviderRegistry.ITEM.register((stack, tintIndex) -> FoliageColors.getMangroveColor(), VanillaPilesContent.MANGROVE_LEAF_PILE); - ColorProviderRegistry.ITEM.register((stack, tintIndex) -> SAP_MAPLE_COLOR, MapleContent.SAP_MAPLE_LEAVES, MapleContent.SAP_MAPLE_LEAF_PILE); - } - - public static void registerEntityRenderers() { - EntityRendererRegistry.register(AnimalContent.CAPYBARA, CapybaraRenderer::new); - EntityRendererRegistry.register(AnimalContent.DUCK, DuckRenderer::new); - EntityRendererRegistry.register(MonsterContent.LUSH_CREEPER, LushCreeperRenderer::new); - EntityRendererRegistry.register(MonsterContent.SUNKEN_SKELETON, SunkenSkeletonRenderer::new); - } + @Override + public void onInitializeClient() { + PromenadeEntityModelLayers.init(); + PromenadeClient.registerRenderLayers(); + PromenadeClient.registerBlockColors(); + PromenadeClient.registerItemColors(); + PromenadeClient.registerEntityRenderers(); + + ParticleFactoryRegistry.getInstance().register(PromenadeParticleTypes.BLUSH_SAKURA_BLOSSOM, FallingLeafParticle.BlossomFactory::new); + ParticleFactoryRegistry.getInstance().register(PromenadeParticleTypes.COTTON_SAKURA_BLOSSOM, FallingLeafParticle.BlossomFactory::new); + + ParticleFactoryRegistry.getInstance().register(PromenadeParticleTypes.MIKADO_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); + ParticleFactoryRegistry.getInstance().register(PromenadeParticleTypes.FULVOUS_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); + ParticleFactoryRegistry.getInstance().register(PromenadeParticleTypes.VERMILION_MAPLE_LEAF, FallingLeafParticle.MapleLeafFactory::new); + + ClientRegistrar.add(PromenadeBoatTypes.SAKURA); + ClientRegistrar.add(PromenadeBoatTypes.MAPLE); + ClientRegistrar.add(PromenadeBoatTypes.PALM); + } + + public static void registerRenderLayers() { + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.OAK_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SPRUCE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BIRCH_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.JUNGLE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.ACACIA_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DARK_OAK_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MANGROVE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.AZALEA_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.FLOWERING_AZALEA_LEAF_PILE, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DANDELION_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POPPY_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BLUE_ORCHID_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.ALLIUM_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.AZURE_BLUET_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.RED_TULIP_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.ORANGE_TULIP_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.WHITE_TULIP_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PINK_TULIP_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.OXEYE_DAISY_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.CORNFLOWER_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.LILY_OF_THE_VALLEY_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.WITHER_ROSE_PILE, RenderLayer.getCutoutMipped()); + + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SAKURA_DOOR, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SAKURA_TRAPDOOR, RenderLayer.getCutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BLUSH_SAKURA_BLOSSOMS, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BLUSH_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_BLUSH_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BLUSH_SAKURA_BLOSSOM_PILE, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.COTTON_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_COTTON_SAKURA_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.COTTON_SAKURA_BLOSSOMS, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.COTTON_SAKURA_BLOSSOM_PILE, RenderLayer.getCutoutMipped()); + + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MAPLE_DOOR, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MAPLE_TRAPDOOR, RenderLayer.getCutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.VERMILION_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_VERMILION_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.VERMILION_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.VERMILION_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.VERMILION_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.FULVOUS_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_FULVOUS_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.FULVOUS_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.FULVOUS_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.FULVOUS_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MIKADO_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_MIKADO_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MIKADO_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MIKADO_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.MIKADO_CARPETED_GRASS_BLOCK, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SAP_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_SAP_MAPLE_SAPLING, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SAP_MAPLE_LEAVES, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.SAP_MAPLE_LEAF_PILE, RenderLayer.getCutoutMipped()); + + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_DOOR, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_TRAPDOOR, RenderLayer.getCutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_SAPLING, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_PALM_SAPLING, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_LEAVES, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_HANGING_LEAVES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.PALM_LEAF_PILE, RenderLayer.getCutout()); + + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DARK_AMARANTH_DOOR, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DARK_AMARANTH_TRAPDOOR, RenderLayer.getCutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DARK_AMARANTH_ROOTS, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.DARK_AMARANTH_FUNGUS, RenderLayer.getCutoutMipped()); + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.POTTED_DARK_AMARANTH_FUNGUS, RenderLayer.getCutoutMipped()); + + BlockRenderLayerMap.INSTANCE.putBlock(PromenadeBlocks.BLUEBERRY_BUSH, RenderLayer.getCutout()); + } + + private static final int SAP_MAPLE_COLOR = 10931465; // 'foliage_color' in 'carnelian_treeway.json' + private static final int PALM_COLOR = 8237614; + + private static void registerBlockColors() { + ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> PALM_COLOR, PromenadeBlocks.PALM_LEAVES, PromenadeBlocks.PALM_HANGING_LEAVES, PromenadeBlocks.PALM_LEAF_PILE); + ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> pos != null && world != null ? BiomeColors.getFoliageColor(world, pos) : FoliageColors.getDefaultColor(), PromenadeBlocks.OAK_LEAF_PILE, PromenadeBlocks.JUNGLE_LEAF_PILE, PromenadeBlocks.ACACIA_LEAF_PILE, PromenadeBlocks.DARK_OAK_LEAF_PILE, PromenadeBlocks.MANGROVE_LEAF_PILE, PromenadeBlocks.SAP_MAPLE_LEAVES, PromenadeBlocks.SAP_MAPLE_LEAF_PILE); + ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> FoliageColors.getSpruceColor(), PromenadeBlocks.SPRUCE_LEAF_PILE, PromenadeBlocks.SNOWY_SPRUCE_LEAVES); + ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> FoliageColors.getBirchColor(), PromenadeBlocks.BIRCH_LEAF_PILE); + ColorProviderRegistry.BLOCK.register((state, world, pos, tintIndex) -> { + if (world == null || pos == null) { + return GrassColors.getColor(0.5, 1.0); + } + return BiomeColors.getGrassColor(world, pos); + }, PromenadeBlocks.VERMILION_CARPETED_GRASS_BLOCK, PromenadeBlocks.FULVOUS_CARPETED_GRASS_BLOCK, PromenadeBlocks.MIKADO_CARPETED_GRASS_BLOCK); + } + + private static void registerItemColors() { + ColorProviderRegistry.ITEM.register((stack, tintIndex) -> PALM_COLOR, PromenadeBlocks.PALM_LEAVES, PromenadeBlocks.PALM_HANGING_LEAVES, PromenadeBlocks.PALM_LEAF_PILE); + ColorProviderRegistry.ITEM.register((stack, tintIndex) -> { + Block block = ((BlockItem) stack.getItem()).getBlock(); + BlockState blockState = block.getDefaultState(); + return ColorProviderRegistry.BLOCK.get(block).getColor(blockState, null, null, tintIndex); + }, PromenadeBlocks.OAK_LEAF_PILE, PromenadeBlocks.SPRUCE_LEAF_PILE, PromenadeBlocks.BIRCH_LEAF_PILE, PromenadeBlocks.JUNGLE_LEAF_PILE, PromenadeBlocks.ACACIA_LEAF_PILE, PromenadeBlocks.DARK_OAK_LEAF_PILE, PromenadeBlocks.VERMILION_CARPETED_GRASS_BLOCK, PromenadeBlocks.FULVOUS_CARPETED_GRASS_BLOCK, PromenadeBlocks.MIKADO_CARPETED_GRASS_BLOCK, PromenadeBlocks.SNOWY_SPRUCE_LEAVES); + ColorProviderRegistry.ITEM.register((stack, tintIndex) -> FoliageColors.getMangroveColor(), PromenadeBlocks.MANGROVE_LEAF_PILE); + ColorProviderRegistry.ITEM.register((stack, tintIndex) -> SAP_MAPLE_COLOR, PromenadeBlocks.SAP_MAPLE_LEAVES, PromenadeBlocks.SAP_MAPLE_LEAF_PILE); + } + + public static void registerEntityRenderers() { + EntityRendererRegistry.register(PromenadeEntityTypes.CAPYBARA, CapybaraRenderer::new); + EntityRendererRegistry.register(PromenadeEntityTypes.DUCK, DuckRenderer::new); + EntityRendererRegistry.register(PromenadeEntityTypes.LUSH_CREEPER, LushCreeperRenderer::new); + EntityRendererRegistry.register(PromenadeEntityTypes.SUNKEN_SKELETON, SunkenSkeletonRenderer::new); + } } diff --git a/src/main/java/fr/hugman/promenade/PromenadeFactory.java b/src/main/java/fr/hugman/promenade/PromenadeFactory.java index 492d50b5..625da4db 100644 --- a/src/main/java/fr/hugman/promenade/PromenadeFactory.java +++ b/src/main/java/fr/hugman/promenade/PromenadeFactory.java @@ -1,88 +1,104 @@ package fr.hugman.promenade; +import com.terraformersmc.terraform.sign.block.TerraformHangingSignBlock; +import com.terraformersmc.terraform.sign.block.TerraformSignBlock; +import com.terraformersmc.terraform.sign.block.TerraformWallHangingSignBlock; +import com.terraformersmc.terraform.sign.block.TerraformWallSignBlock; import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.promenade.block.CarpetedGrassBlock; -import fr.hugman.promenade.block.DecoratedLeavesBlock; -import fr.hugman.promenade.block.PileBlock; -import fr.hugman.promenade.block.SnowyLeavesBlock; -import fr.hugman.promenade.registry.content.GlaglaglaContent; +import fr.hugman.promenade.block.*; +import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; -import net.minecraft.block.LeavesBlock; import net.minecraft.block.MapColor; import net.minecraft.block.piston.PistonBehavior; import net.minecraft.entity.EntityType; +import net.minecraft.item.Item; import net.minecraft.particle.ParticleEffect; import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.Identifier; public final class PromenadeFactory { - public static Block leafPile() { - return leafPile(MapColor.DARK_GREEN, BlockSoundGroup.GRASS); - } + public static Block leafPile() { + return leafPile(MapColor.DARK_GREEN, BlockSoundGroup.GRASS); + } - public static Block leafPile(MapColor mapColor) { - return leafPile(mapColor, BlockSoundGroup.GRASS); - } + public static Block leafPile(MapColor mapColor) { + return leafPile(mapColor, BlockSoundGroup.GRASS); + } - public static Block leafPile(BlockSoundGroup soundGroup) { - return leafPile(MapColor.DARK_GREEN, soundGroup); - } + public static Block leafPile(BlockSoundGroup soundGroup) { + return leafPile(MapColor.DARK_GREEN, soundGroup); + } - public static Block leafPile(MapColor mapColor, BlockSoundGroup soundGroup) { - return new PileBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3f)) - .mapColor(mapColor) - .burnable(30, 60) - .strength(0.1f) - .ticksRandomly() - .sounds(soundGroup) - .noCollision() - .nonOpaque()); - } + public static Block leafPile(MapColor mapColor, BlockSoundGroup soundGroup) { + return new PileBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3f)) + .mapColor(mapColor) + .burnable(30, 60) + .strength(0.1f) + .ticksRandomly() + .sounds(soundGroup) + .noCollision() + .nonOpaque()); + } - public static Block carpetedGrassBlock(MapColor color) { - return new CarpetedGrassBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3f)) - .mapColor(color) - .ticksRandomly() - .strength(0.6F) - .sounds(BlockSoundGroup.GRASS)); - } + public static Block carpetedGrassBlock(MapColor color) { + return new CarpetedGrassBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3f)) + .mapColor(color) + .ticksRandomly() + .strength(0.6F) + .sounds(BlockSoundGroup.GRASS)); + } - public static SnowyLeavesBlock snowyLeaves() { - return snowyLeaves(GlaglaglaContent.SNOWY_LEAVES_SOUNDS); - } + public static SnowyLeavesBlock snowyLeaves() { + return snowyLeaves(PromenadeBlocks.SNOWY_LEAVES_SOUNDS); + } - public static SnowyLeavesBlock snowyLeaves(BlockSoundGroup soundGroup) { - return new SnowyLeavesBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3f)) - .mapColor(MapColor.WHITE) - .strength(0.2f) - .ticksRandomly() - .sounds(soundGroup) - .nonOpaque() - .allowsSpawning((state, world, pos, type) -> type == EntityType.OCELOT || type == EntityType.PARROT) - .suffocates((state, world, pos) -> false) - .blockVision((state, world, pos) -> false) - .burnable(30, 60) - .pistonBehavior(PistonBehavior.DESTROY) - .solidBlock((state, world, pos) -> false)); - } + public static SnowyLeavesBlock snowyLeaves(BlockSoundGroup soundGroup) { + return new SnowyLeavesBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3f)) + .mapColor(MapColor.WHITE) + .strength(0.2f) + .ticksRandomly() + .sounds(soundGroup) + .nonOpaque() + .allowsSpawning((state, world, pos, type) -> type == EntityType.OCELOT || type == EntityType.PARROT) + .suffocates((state, world, pos) -> false) + .blockVision((state, world, pos) -> false) + .burnable(30, 60) + .pistonBehavior(PistonBehavior.DESTROY) + .solidBlock((state, world, pos) -> false)); + } - public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, BlockSoundGroup soundGroup, int bound, ParticleEffect particle) { - return new DecoratedLeavesBlock(DawnFactory.leavesSettings(mapColor, soundGroup), bound, particle); - } + public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, BlockSoundGroup soundGroup, int bound, ParticleEffect particle) { + return new DecoratedLeavesBlock(DawnFactory.leavesSettings(mapColor, soundGroup), bound, particle); + } - public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, BlockSoundGroup soundGroup, ParticleEffect particle) { - return decoratedLeaves(mapColor, soundGroup, 10, particle); - } + public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, BlockSoundGroup soundGroup, ParticleEffect particle) { + return decoratedLeaves(mapColor, soundGroup, 10, particle); + } - public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, int bound, ParticleEffect particle) { - return decoratedLeaves(mapColor, BlockSoundGroup.GRASS, bound, particle); - } + public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, int bound, ParticleEffect particle) { + return decoratedLeaves(mapColor, BlockSoundGroup.GRASS, bound, particle); + } - public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, ParticleEffect particle) { - return decoratedLeaves(mapColor, BlockSoundGroup.GRASS, 10, particle); - } + public static DecoratedLeavesBlock decoratedLeaves(MapColor mapColor, ParticleEffect particle) { + return decoratedLeaves(mapColor, BlockSoundGroup.GRASS, 10, particle); + } + + //TODO: move to Dawn API + public static Block sign(boolean hanging, boolean wall, Identifier texturePath, Block basePlanks, BlockSoundGroup soundGroup) { + return sign(hanging, wall, texturePath, DawnFactory.signSettings(basePlanks, soundGroup)); + } + + //TODO: move to Dawn API + public static Block sign(boolean hanging, boolean wall, Identifier texturePath, AbstractBlock.Settings settings) { + if (hanging) { + var hangingSignTexture = Identifier.of(texturePath.getNamespace(), "entity/signs/hanging/" + texturePath.getPath()); + var hangingSignGuiTexture = Identifier.of(texturePath.getNamespace(), "textures/gui/hanging_signs/" + texturePath.getPath()); + return wall ? new TerraformWallHangingSignBlock(hangingSignTexture, hangingSignGuiTexture, settings) : new TerraformHangingSignBlock(hangingSignTexture, hangingSignGuiTexture, settings); + } + var signTexture = Identifier.of(texturePath.getNamespace(), "entity/signs/" + texturePath.getPath()); + return wall ? new TerraformWallSignBlock(signTexture, settings) : new TerraformSignBlock(signTexture, settings); + } } diff --git a/src/main/java/fr/hugman/promenade/PromenadeRegistrar.java b/src/main/java/fr/hugman/promenade/PromenadeRegistrar.java deleted file mode 100644 index 3508e2b7..00000000 --- a/src/main/java/fr/hugman/promenade/PromenadeRegistrar.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.hugman.promenade; - -import fr.hugman.promenade.entity.CapybaraVariant; -import fr.hugman.promenade.registry.PromenadeRegistries; -import net.minecraft.registry.Registry; -import net.minecraft.util.Identifier; - -public class PromenadeRegistrar { - public static CapybaraVariant add(Identifier id, CapybaraVariant variant) { - return Registry.register(PromenadeRegistries.CAPYBARA_VARIANT, id, variant); - } -} diff --git a/src/main/java/fr/hugman/promenade/block/BerryBushBlock.java b/src/main/java/fr/hugman/promenade/block/BerryBushBlock.java new file mode 100644 index 00000000..959b03d4 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/BerryBushBlock.java @@ -0,0 +1,171 @@ +package fr.hugman.promenade.block; + +import com.mojang.datafixers.DataFixUtils; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.block.*; +import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; +import net.minecraft.state.property.Properties; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.ItemActionResult; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.random.Random; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldView; +import net.minecraft.world.event.GameEvent; + +public class BerryBushBlock extends PlantBlock implements Fertilizable { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + RegistryKey.createCodec(RegistryKeys.ITEM).fieldOf("berry").forGetter(block -> block.berry), + Codec.BOOL.fieldOf("is_spiny").forGetter(block -> block.isSpiny), + createSettingsCodec()) + .apply(instance, BerryBushBlock::new)); + + private static final float MIN_MOVEMENT_FOR_DAMAGE = 0.003f; + public static final int MAX_AGE = 3; + public static final IntProperty AGE = Properties.AGE_3; + private static final VoxelShape SMALL_SHAPE = Block.createCuboidShape(3.0, 0.0, 3.0, 13.0, 8.0, 13.0); + private static final VoxelShape LARGE_SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); + + private final RegistryKey berry; + private final boolean isSpiny; + + public BerryBushBlock(RegistryKey berry, boolean isSpiny, AbstractBlock.Settings settings) { + super(settings); + this.berry = berry; + this.isSpiny = isSpiny; + this.setDefaultState(this.stateManager.getDefaultState().with(AGE, 0)); + } + + public static AbstractBlock.Settings createSettings() { + return AbstractBlock.Settings.create() + .mapColor(MapColor.DARK_GREEN) + .ticksRandomly() + .noCollision() + .sounds(BlockSoundGroup.SWEET_BERRY_BUSH) + .pistonBehavior(PistonBehavior.DESTROY) + .burnable(60, 100); + } + + public static BerryBushBlock of(RegistryKey berry, boolean isSpiny) { + return new BerryBushBlock(berry, isSpiny, createSettings()); + } + + @Override + public MapCodec getCodec() { + return CODEC; + } + + @Override + public ItemStack getPickStack(WorldView world, BlockPos pos, BlockState state) { + return new ItemStack(DataFixUtils.orElse(world.getRegistryManager().get(RegistryKeys.ITEM).getOrEmpty(this.berry), this)); + } + + @Override + protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + if (state.get(AGE) == 0) { + return SMALL_SHAPE; + } + if (state.get(AGE) < MAX_AGE) { + return LARGE_SHAPE; + } + return super.getOutlineShape(state, world, pos, context); + } + + @Override + protected boolean hasRandomTicks(BlockState state) { + return state.get(AGE) < MAX_AGE; + } + + @Override + protected void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + int age = state.get(AGE); + if (age < MAX_AGE && random.nextInt(5) == 0 && world.getBaseLightLevel(pos.up(), 0) >= 9) { + BlockState blockState = state.with(AGE, age + 1); + world.setBlockState(pos, blockState, Block.NOTIFY_LISTENERS); + world.emitGameEvent(GameEvent.BLOCK_CHANGE, pos, GameEvent.Emitter.of(blockState)); + } + } + + @Override + protected void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { + if (!(entity instanceof LivingEntity) || entity.getType() == EntityType.FOX || entity.getType() == EntityType.BEE) { + return; + } + entity.slowMovement(state, new Vec3d(0.8f, 0.75, 0.8f)); + if (this.isSpiny) { + if (!(world.isClient || state.get(AGE) <= 0 || entity.lastRenderX == entity.getX() && entity.lastRenderZ == entity.getZ())) { + double d = Math.abs(entity.getX() - entity.lastRenderX); + double e = Math.abs(entity.getZ() - entity.lastRenderZ); + if (d >= MIN_MOVEMENT_FOR_DAMAGE || e >= MIN_MOVEMENT_FOR_DAMAGE) { + entity.damage(world.getDamageSources().sweetBerryBush(), 1.0f); + } + } + } + } + + @Override + protected ItemActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { + if (state.get(AGE) != MAX_AGE && stack.isOf(Items.BONE_MEAL)) { + return ItemActionResult.SKIP_DEFAULT_BLOCK_INTERACTION; + } + return super.onUseWithItem(stack, state, world, pos, player, hand, hit); + } + + @Override + protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { + int age = state.get(AGE); + if (age > 1) { + int j = 1 + world.random.nextInt(2); + dropStack(world, pos, new ItemStack(DataFixUtils.orElse(world.getRegistryManager().get(RegistryKeys.ITEM).getOrEmpty(this.berry), this), j + (age == MAX_AGE ? 1 : 0))); + world.playSound(null, pos, SoundEvents.BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES, SoundCategory.BLOCKS, 1.0f, 0.8f + world.random.nextFloat() * 0.4f); + BlockState blockState = state.with(AGE, 1); + world.setBlockState(pos, blockState, Block.NOTIFY_LISTENERS); + world.emitGameEvent(GameEvent.BLOCK_CHANGE, pos, GameEvent.Emitter.of(player, blockState)); + return ActionResult.success(world.isClient); + } + return super.onUse(state, world, pos, player, hit); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(AGE); + } + + @Override + public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state) { + return state.get(AGE) < 3; + } + + @Override + public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { + return true; + } + + @Override + public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { + int i = Math.min(MAX_AGE, state.get(AGE) + 1); + world.setBlockState(pos, state.with(AGE, i), Block.NOTIFY_LISTENERS); + } +} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/block/BlueberryBushBlock.java b/src/main/java/fr/hugman/promenade/block/BlueberryBushBlock.java deleted file mode 100644 index 98c1d017..00000000 --- a/src/main/java/fr/hugman/promenade/block/BlueberryBushBlock.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.hugman.promenade.block; - -import fr.hugman.promenade.registry.content.FoodContent; -import net.minecraft.block.BlockState; -import net.minecraft.block.SweetBerryBushBlock; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; -import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.BlockView; -import net.minecraft.world.World; - -public class BlueberryBushBlock extends SweetBerryBushBlock { - public BlueberryBushBlock(Settings builder) { - super(builder); - } - - @Override - public ItemStack getPickStack(BlockView worldIn, BlockPos pos, BlockState state) { - return new ItemStack(FoodContent.BLUEBERRIES); - } - - @Override - public ActionResult onUse(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockHitResult hit) { - int i = state.get(AGE); - boolean flag = i == 3; - if(!flag && player.getStackInHand(handIn).getItem() == Items.BONE_MEAL) { - return ActionResult.PASS; - } - else if(i > 1) { - int j = 1 + worldIn.random.nextInt(2); - dropStack(worldIn, pos, new ItemStack(FoodContent.BLUEBERRIES, j + (flag ? 1 : 0))); - worldIn.playSound(null, pos, SoundEvents.BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES, SoundCategory.BLOCKS, 1.0F, 0.8F + worldIn.random.nextFloat() * 0.4F); - worldIn.setBlockState(pos, state.with(AGE, 1), 2); - return ActionResult.SUCCESS; - } - else { - return super.onUse(state, worldIn, pos, player, handIn, hit); - } - } - - @Override - public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { - if(entity instanceof LivingEntity && entity.getType() != EntityType.FOX && entity.getType() != EntityType.BEE) { - entity.slowMovement(state, new Vec3d(0.800000011920929, 0.75, 0.800000011920929)); - } - } -} diff --git a/src/main/java/fr/hugman/promenade/block/CarpetedGrassBlock.java b/src/main/java/fr/hugman/promenade/block/CarpetedGrassBlock.java index 9c8f44c5..b95df6a6 100644 --- a/src/main/java/fr/hugman/promenade/block/CarpetedGrassBlock.java +++ b/src/main/java/fr/hugman/promenade/block/CarpetedGrassBlock.java @@ -1,34 +1,92 @@ package fr.hugman.promenade.block; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.GrassBlock; +import com.mojang.serialization.MapCodec; +import net.minecraft.block.*; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.random.Random; +import net.minecraft.world.World; +import net.minecraft.world.WorldView; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.PlacedFeature; +import net.minecraft.world.gen.feature.RandomPatchFeatureConfig; +import net.minecraft.world.gen.feature.VegetationPlacedFeatures; -public class CarpetedGrassBlock extends GrassBlock { - public CarpetedGrassBlock(AbstractBlock.Settings settings) { - super(settings); - } - - public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { - if(!canSurvive(state, world, pos)) { - world.setBlockState(pos, Blocks.DIRT.getDefaultState()); - } - else { - if(world.getLightLevel(pos.up()) >= 9) { - BlockState blockState = Blocks.GRASS_BLOCK.getDefaultState(); // here is the only change with the GrassBlock class - - for(int i = 0; i < 4; ++i) { - BlockPos blockPos = pos.add(random.nextInt(3) - 1, random.nextInt(5) - 3, random.nextInt(3) - 1); - if(world.getBlockState(blockPos).isOf(Blocks.DIRT) && canSpread(blockState, world, blockPos)) { - world.setBlockState(blockPos, blockState.with(SNOWY, world.getBlockState(blockPos.up()).isOf(Blocks.SNOW))); - } - } - } - - } - } +import java.util.List; +import java.util.Optional; + +public class CarpetedGrassBlock extends SpreadableBlock implements Fertilizable { + public static final MapCodec CODEC = createCodec(CarpetedGrassBlock::new); + + public CarpetedGrassBlock(AbstractBlock.Settings settings) { + super(settings); + } + + public MapCodec getCodec() { + return CODEC; + } + + @Override + public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state) { + return world.getBlockState(pos.up()).isAir(); + } + + @Override + public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { + return true; + } + + @Override + public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { + BlockPos blockPos = pos.up(); + BlockState blockState = Blocks.SHORT_GRASS.getDefaultState(); + Optional> optional = world.getRegistryManager().get(RegistryKeys.PLACED_FEATURE).getEntry(VegetationPlacedFeatures.GRASS_BONEMEAL); + block0: + for (int i = 0; i < 128; ++i) { + RegistryEntry registryEntry; + BlockPos blockPos2 = blockPos; + for (int j = 0; j < i / 16; ++j) { + if (!world.getBlockState((blockPos2 = blockPos2.add(random.nextInt(3) - 1, (random.nextInt(3) - 1) * random.nextInt(3) / 2, random.nextInt(3) - 1)).down()).isOf(this) || world.getBlockState(blockPos2).isFullCube(world, blockPos2)) + continue block0; + } + BlockState blockState2 = world.getBlockState(blockPos2); + if (blockState2.isOf(blockState.getBlock()) && random.nextInt(10) == 0) { + ((Fertilizable) blockState.getBlock()).grow(world, random, blockPos2, blockState2); + } + if (!blockState2.isAir()) continue; + if (random.nextInt(8) == 0) { + List> list = world.getBiome(blockPos2).value().getGenerationSettings().getFlowerFeatures(); + if (list.isEmpty()) continue; + registryEntry = ((RandomPatchFeatureConfig) list.get(0).config()).feature(); + } else { + if (optional.isEmpty()) continue; + registryEntry = optional.get(); + } + registryEntry.value().generateUnregistered(world, world.getChunkManager().getChunkGenerator(), random, blockPos2); + } + } + + @Override + public Fertilizable.FertilizableType getFertilizableType() { + return Fertilizable.FertilizableType.NEIGHBOR_SPREADER; + } + + @Override + protected void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (!SpreadableBlock.canSurvive(state, world, pos)) { + world.setBlockState(pos, Blocks.DIRT.getDefaultState()); + return; + } + if (world.getLightLevel(pos.up()) >= 9) { + BlockState spreadState = Blocks.GRASS_BLOCK.getDefaultState(); + for (int i = 0; i < 4; ++i) { + BlockPos blockPos = pos.add(random.nextInt(3) - 1, random.nextInt(5) - 3, random.nextInt(3) - 1); + if (!world.getBlockState(blockPos).isOf(Blocks.DIRT) || !SpreadableBlock.canSpread(spreadState, world, blockPos)) + continue; + world.setBlockState(blockPos, spreadState.with(SNOWY, world.getBlockState(blockPos.up()).isOf(Blocks.SNOW))); + } + } + } } diff --git a/src/main/java/fr/hugman/promenade/block/DecoratedLeavesBlock.java b/src/main/java/fr/hugman/promenade/block/DecoratedLeavesBlock.java index 2c4b6d5f..471037e6 100644 --- a/src/main/java/fr/hugman/promenade/block/DecoratedLeavesBlock.java +++ b/src/main/java/fr/hugman/promenade/block/DecoratedLeavesBlock.java @@ -1,16 +1,24 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.block.BlockState; -import net.minecraft.block.CherryLeavesBlock; import net.minecraft.block.LeavesBlock; import net.minecraft.client.util.ParticleUtil; import net.minecraft.particle.ParticleEffect; +import net.minecraft.particle.ParticleTypes; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.random.Random; import net.minecraft.world.World; public class DecoratedLeavesBlock extends LeavesBlock { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> instance.group( + Codec.INT.fieldOf("bound").forGetter(block -> block.bound), + createSettingsCodec()) + .apply(instance, DecoratedLeavesBlock::new)); + private final int bound; private final ParticleEffect particle; @@ -20,6 +28,15 @@ public DecoratedLeavesBlock(Settings settings, int bound, ParticleEffect particl this.particle = particle; } + @Override + public MapCodec getCodec() { + return CODEC; + } + + public DecoratedLeavesBlock(int bound, Settings settings) { + this(settings, bound, ParticleTypes.CHERRY_LEAVES); + } + @Override public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { super.randomDisplayTick(state, world, pos, random); @@ -28,7 +45,7 @@ public void randomDisplayTick(BlockState state, World world, BlockPos pos, Rando } BlockPos blockPos = pos.down(); BlockState blockState = world.getBlockState(blockPos); - if (CherryLeavesBlock.isFaceFullSquare(blockState.getCollisionShape(world, blockPos), Direction.UP)) { + if (isFaceFullSquare(blockState.getCollisionShape(world, blockPos), Direction.UP)) { return; } ParticleUtil.spawnParticle(world, pos, random, this.particle); diff --git a/src/main/java/fr/hugman/promenade/block/DyliumBlock.java b/src/main/java/fr/hugman/promenade/block/DyliumBlock.java index 171211a0..a532066f 100644 --- a/src/main/java/fr/hugman/promenade/block/DyliumBlock.java +++ b/src/main/java/fr/hugman/promenade/block/DyliumBlock.java @@ -1,13 +1,14 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.MapCodec; import fr.hugman.dawn.DawnFactory; import fr.hugman.dawn.block.BoneMealSpreadable; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.registry.content.AmaranthContent; -import fr.hugman.promenade.registry.tag.PromenadeBlockTags; +import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.NyliumBlock; +import net.minecraft.block.Fertilizable; +import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.server.world.ServerWorld; @@ -21,46 +22,63 @@ import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.feature.ConfiguredFeature; -public class DyliumBlock extends NyliumBlock implements BoneMealSpreadable { - public static final RegistryKey> BONEMEAL_VEGETATION = DawnFactory.configuredFeature(Promenade.id("dark_amaranth_forest_vegetation/bonemeal")); +//TODO: make generic +public class DyliumBlock extends Block implements BoneMealSpreadable, Fertilizable { + public static final RegistryKey> BONEMEAL_VEGETATION = DawnFactory.configuredFeature(Promenade.id("dark_amaranth_forest_vegetation/bonemeal")); - public DyliumBlock(Settings settings) { - super(settings); - } + public static final MapCodec CODEC = createCodec(DyliumBlock::new); - private static boolean stayAlive(BlockState state, WorldView world, BlockPos pos) { - BlockPos blockPos = pos.up(); - BlockState blockState = world.getBlockState(blockPos); - int i = ChunkLightProvider.getRealisticOpacity(world, state, pos, blockState, blockPos, Direction.UP, blockState.getOpacity(world, blockPos)); - return i < world.getMaxLightLevel(); - } + @Override + public MapCodec getCodec() { + return CODEC; + } - @Override - public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { - if(!stayAlive(state, world, pos)) { - world.setBlockState(pos, Blocks.END_STONE.getDefaultState()); - } - } + public DyliumBlock(Settings settings) { + super(settings); + } - @Override - public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { - ConfiguredFeature configuredFeature = world.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE).get(BONEMEAL_VEGETATION); - return configuredFeature != null && super.canGrow(world, random, pos, state); - } + private static boolean stayAlive(BlockState state, WorldView world, BlockPos pos) { + BlockPos blockPos = pos.up(); + BlockState blockState = world.getBlockState(blockPos); + int i = ChunkLightProvider.getRealisticOpacity(world, state, pos, blockState, blockPos, Direction.UP, blockState.getOpacity(world, blockPos)); + return i < world.getMaxLightLevel(); + } - @Override - public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { - BlockState blockState = world.getBlockState(pos); - BlockPos blockPos = pos.up(); - ChunkGenerator chunkGenerator = world.getChunkManager().getChunkGenerator(); - if(blockState.isOf(AmaranthContent.BLACK_DYLIUM)) { - ConfiguredFeature configuredFeature = world.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE).get(BONEMEAL_VEGETATION); - if(configuredFeature != null) configuredFeature.generate(world, chunkGenerator, random, blockPos); - } - } + @Override + public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (!stayAlive(state, world, pos)) { + world.setBlockState(pos, Blocks.END_STONE.getDefaultState()); + } + } - @Override - public boolean canSpreadAt(BlockView world, BlockPos pos) { - return world.getBlockState(pos).isIn(PromenadeBlockTags.CAN_SPREAD_BLACK_DYLIUM) && world.getBlockState(pos.up()).isAir(); - } + @Override + public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state) { + return world.getBlockState(pos.up()).isAir(); + } + + @Override + public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { + ConfiguredFeature configuredFeature = world.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE).get(BONEMEAL_VEGETATION); + return configuredFeature != null; + } + + @Override + public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state) { + BlockState blockState = world.getBlockState(pos); + BlockPos blockPos = pos.up(); + ChunkGenerator chunkGenerator = world.getChunkManager().getChunkGenerator(); + if (blockState.isOf(PromenadeBlocks.BLACK_DYLIUM)) { + this.generate(world.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE), BONEMEAL_VEGETATION, world, chunkGenerator, random, blockPos); + } + } + + + private void generate(Registry> registry, RegistryKey> key, ServerWorld world, ChunkGenerator chunkGenerator, Random random, BlockPos pos) { + registry.getEntry(key).ifPresent(entry -> entry.value().generate(world, chunkGenerator, random, pos)); + } + + @Override + public boolean canSpreadAt(BlockView world, BlockPos pos) { + return world.getBlockState(pos).isIn(PromenadeBlockTags.CAN_SPREAD_BLACK_DYLIUM) && world.getBlockState(pos.up()).isAir(); + } } diff --git a/src/main/java/fr/hugman/promenade/block/ExtendedLeavesBlock.java b/src/main/java/fr/hugman/promenade/block/ExtendedLeavesBlock.java index f4c2e4e3..e28e03ff 100644 --- a/src/main/java/fr/hugman/promenade/block/ExtendedLeavesBlock.java +++ b/src/main/java/fr/hugman/promenade/block/ExtendedLeavesBlock.java @@ -1,5 +1,6 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.MapCodec; import net.minecraft.block.AbstractBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -19,90 +20,96 @@ * limit of 6 blocks imposed by vanilla leaves. */ public class ExtendedLeavesBlock extends LeavesBlock { - public static final int MAX_DISTANCE = 14; - - public ExtendedLeavesBlock(AbstractBlock.Settings settings) { - super(settings); - - this.setDefaultState(this.stateManager.getDefaultState() - .with(DISTANCE, MAX_DISTANCE) - .with(PERSISTENT, false) - .with(WATERLOGGED, false)); - } - - @Override - public boolean hasRandomTicks(BlockState state) { - return state.get(DISTANCE) == MAX_DISTANCE && !state.get(PERSISTENT); - } - - @Override - public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { - if (this.shouldDecay(state)) { - ExtendedLeavesBlock.dropStacks(state, world, pos); - world.removeBlock(pos, false); - } - } - - @Override - protected boolean shouldDecay(BlockState state) { - return !state.get(PERSISTENT) && state.get(DISTANCE) == MAX_DISTANCE; - } - - @Override - public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { - world.setBlockState(pos, ExtendedLeavesBlock.updateDistanceFromLogs(state, world, pos), 3); - } - - @Override - public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { - if (state.get(WATERLOGGED)) { - world.scheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); - } - - int distance = ExtendedLeavesBlock.getDistanceFromLog(neighborState) + 1; - if (distance != 1 || state.get(DISTANCE) != distance) { - world.scheduleBlockTick(pos, this, 1); - } - - return state; - } - - private static BlockState updateDistanceFromLogs(BlockState state, WorldAccess world, BlockPos pos) { - int distance = MAX_DISTANCE; - BlockPos.Mutable mutable = new BlockPos.Mutable(); - - for (Direction direction : Direction.values()) { - mutable.set(pos, direction); - distance = Math.min(distance, ExtendedLeavesBlock.getDistanceFromLog(world.getBlockState(mutable)) + 1); - if (distance == 1) { - break; - } - } - - return state.with(DISTANCE, distance); - } - - private static int getDistanceFromLog(BlockState state) { - if (state.isIn(BlockTags.LOGS)) { - return 0; - } - - Block block = state.getBlock(); - if (block instanceof ExtendedLeavesBlock) { - return state.get(DISTANCE); - } else if (block instanceof LeavesBlock) { - int distance = state.get(DISTANCE); - return distance < LeavesBlock.MAX_DISTANCE ? distance : MAX_DISTANCE; - } - - return MAX_DISTANCE; - } - - @Override - public BlockState getPlacementState(ItemPlacementContext context) { - FluidState fluidState = context.getWorld().getFluidState(context.getBlockPos()); - BlockState blockState = this.getDefaultState().with(PERSISTENT, true).with(WATERLOGGED, fluidState.getFluid() == Fluids.WATER); - - return ExtendedLeavesBlock.updateDistanceFromLogs(blockState, context.getWorld(), context.getBlockPos()); - } + public static final int MAX_DISTANCE = 14; + public static final MapCodec CODEC = createCodec(ExtendedLeavesBlock::new); + + public ExtendedLeavesBlock(AbstractBlock.Settings settings) { + super(settings); + + this.setDefaultState(this.stateManager.getDefaultState() + .with(DISTANCE, MAX_DISTANCE) + .with(PERSISTENT, false) + .with(WATERLOGGED, false)); + } + + @Override + public MapCodec getCodec() { + return CODEC; + } + + @Override + public boolean hasRandomTicks(BlockState state) { + return state.get(DISTANCE) == MAX_DISTANCE && !state.get(PERSISTENT); + } + + @Override + public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (this.shouldDecay(state)) { + ExtendedLeavesBlock.dropStacks(state, world, pos); + world.removeBlock(pos, false); + } + } + + @Override + protected boolean shouldDecay(BlockState state) { + return !state.get(PERSISTENT) && state.get(DISTANCE) == MAX_DISTANCE; + } + + @Override + public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + world.setBlockState(pos, ExtendedLeavesBlock.updateDistanceFromLogs(state, world, pos), 3); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + if (state.get(WATERLOGGED)) { + world.scheduleFluidTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world)); + } + + int distance = ExtendedLeavesBlock.getDistanceFromLog(neighborState) + 1; + if (distance != 1 || state.get(DISTANCE) != distance) { + world.scheduleBlockTick(pos, this, 1); + } + + return state; + } + + private static BlockState updateDistanceFromLogs(BlockState state, WorldAccess world, BlockPos pos) { + int distance = MAX_DISTANCE; + BlockPos.Mutable mutable = new BlockPos.Mutable(); + + for (Direction direction : Direction.values()) { + mutable.set(pos, direction); + distance = Math.min(distance, ExtendedLeavesBlock.getDistanceFromLog(world.getBlockState(mutable)) + 1); + if (distance == 1) { + break; + } + } + + return state.with(DISTANCE, distance); + } + + private static int getDistanceFromLog(BlockState state) { + if (state.isIn(BlockTags.LOGS)) { + return 0; + } + + Block block = state.getBlock(); + if (block instanceof ExtendedLeavesBlock) { + return state.get(DISTANCE); + } else if (block instanceof LeavesBlock) { + int distance = state.get(DISTANCE); + return distance < LeavesBlock.MAX_DISTANCE ? distance : MAX_DISTANCE; + } + + return MAX_DISTANCE; + } + + @Override + public BlockState getPlacementState(ItemPlacementContext context) { + FluidState fluidState = context.getWorld().getFluidState(context.getBlockPos()); + BlockState blockState = this.getDefaultState().with(PERSISTENT, true).with(WATERLOGGED, fluidState.getFluid() == Fluids.WATER); + + return ExtendedLeavesBlock.updateDistanceFromLogs(blockState, context.getWorld(), context.getBlockPos()); + } } diff --git a/src/main/java/fr/hugman/promenade/block/HangingLeavesBlock.java b/src/main/java/fr/hugman/promenade/block/HangingLeavesBlock.java index fed5b2d6..fa47320b 100644 --- a/src/main/java/fr/hugman/promenade/block/HangingLeavesBlock.java +++ b/src/main/java/fr/hugman/promenade/block/HangingLeavesBlock.java @@ -1,5 +1,6 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.MapCodec; import net.minecraft.block.*; import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; @@ -19,12 +20,19 @@ public class HangingLeavesBlock extends Block implements Waterloggable { private static final BooleanProperty WATERLOGGED = Properties.WATERLOGGED; protected static final VoxelShape SHAPE = Block.createCuboidShape(2.0, 10.0, 2.0, 14.0, 16.0, 14.0); + public static final MapCodec CODEC = createCodec(HangingLeavesBlock::new); public HangingLeavesBlock(AbstractBlock.Settings settings) { super(settings); this.setDefaultState(this.stateManager.getDefaultState().with(WATERLOGGED, false)); } + @Override + public MapCodec getCodec() { + return CODEC; + } + + @Override protected void appendProperties(StateManager.Builder builder) { builder.add(WATERLOGGED); } diff --git a/src/main/java/fr/hugman/promenade/block/MapleLogBlock.java b/src/main/java/fr/hugman/promenade/block/MapleLogBlock.java index c952b482..4465f8ca 100644 --- a/src/main/java/fr/hugman/promenade/block/MapleLogBlock.java +++ b/src/main/java/fr/hugman/promenade/block/MapleLogBlock.java @@ -1,6 +1,6 @@ package fr.hugman.promenade.block; -import fr.hugman.promenade.state.property.PromenadeBlockProperties; +import com.mojang.serialization.MapCodec; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.PillarBlock; @@ -8,16 +8,22 @@ import net.minecraft.state.property.BooleanProperty; public class MapleLogBlock extends PillarBlock { - public static final BooleanProperty NATURAL = PromenadeBlockProperties.NATURAL; + public static final BooleanProperty NATURAL = PromenadeBlockProperties.NATURAL; + public static final MapCodec CODEC = createCodec(MapleLogBlock::new); - public MapleLogBlock(Settings settings) { - super(settings); - this.setDefaultState(this.getDefaultState().with(NATURAL, false)); - } + public MapleLogBlock(Settings settings) { + super(settings); + this.setDefaultState(this.getDefaultState().with(NATURAL, false)); + } - @Override - protected void appendProperties(StateManager.Builder builder) { - super.appendProperties(builder); - builder.add(NATURAL); - } + @Override + public MapCodec getCodec() { + return CODEC; + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(NATURAL); + } } diff --git a/src/main/java/fr/hugman/promenade/block/MoaiBlock.java b/src/main/java/fr/hugman/promenade/block/MoaiBlock.java index 37d47934..a1bb77c1 100644 --- a/src/main/java/fr/hugman/promenade/block/MoaiBlock.java +++ b/src/main/java/fr/hugman/promenade/block/MoaiBlock.java @@ -1,6 +1,6 @@ package fr.hugman.promenade.block; -import fr.hugman.promenade.state.property.PromenadeBlockProperties; +import com.mojang.serialization.MapCodec; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.HorizontalFacingBlock; @@ -16,85 +16,87 @@ import org.jetbrains.annotations.Nullable; public class MoaiBlock extends HorizontalFacingBlock { - public static final EnumProperty TYPE = PromenadeBlockProperties.MOAI_TYPE; + public static final MapCodec CODEC = createCodec(MoaiBlock::new); + public static final EnumProperty TYPE = PromenadeBlockProperties.MOAI_TYPE; - public MoaiBlock(Settings settings) { - super(settings); - this.setDefaultState(this.stateManager.getDefaultState().with(TYPE, MoaiType.SINGLE).with(FACING, Direction.NORTH)); - } + public MoaiBlock(Settings settings) { + super(settings); + this.setDefaultState(this.stateManager.getDefaultState().with(TYPE, MoaiType.SINGLE).with(FACING, Direction.NORTH)); + } - @Override - protected void appendProperties(StateManager.Builder builder) { - super.appendProperties(builder); - builder.add(TYPE, FACING); - } + @Override + protected MapCodec getCodec() { + return CODEC; + } - @Override - public BlockState getPlacementState(ItemPlacementContext context) { - var world = context.getWorld(); - boolean sneaking = context.shouldCancelInteraction(); // stupid yarn name - var direction = context.getHorizontalPlayerFacing().getOpposite(); - var hitSide = context.getSide(); + @Override + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(TYPE, FACING); + } - var posBelow = context.getBlockPos().down(); - var posAbove = context.getBlockPos().up(); + @Override + public BlockState getPlacementState(ItemPlacementContext context) { + var world = context.getWorld(); + boolean sneaking = context.shouldCancelInteraction(); // stupid yarn name + var direction = context.getHorizontalPlayerFacing().getOpposite(); + var hitSide = context.getSide(); - boolean mergeWithBelow = isSingleMoai(direction, world.getBlockState(posBelow)); - boolean mergeWithAbove = isSingleMoai(direction, world.getBlockState(posAbove)); + var posBelow = context.getBlockPos().down(); + var posAbove = context.getBlockPos().up(); - if(sneaking) { - mergeWithBelow = false; - mergeWithAbove = false; - } + boolean mergeWithBelow = isSingleMoai(direction, world.getBlockState(posBelow)); + boolean mergeWithAbove = isSingleMoai(direction, world.getBlockState(posAbove)); - if(mergeWithBelow && mergeWithAbove) { - if(hitSide == Direction.DOWN) { - mergeWithBelow = false; - } - else if(hitSide == Direction.UP) { - mergeWithAbove = false; - } - } + if (sneaking) { + mergeWithBelow = false; + mergeWithAbove = false; + } - if(mergeWithBelow) { - return this.getDefaultState().with(TYPE, MoaiType.TOP).with(FACING, direction); - } - else if(mergeWithAbove) { - return this.getDefaultState().with(TYPE, MoaiType.BOTTOM).with(FACING, direction); - } - else { - return this.getDefaultState().with(TYPE, MoaiType.SINGLE).with(FACING, direction); - } - } + if (mergeWithBelow && mergeWithAbove) { + if (hitSide == Direction.DOWN) { + mergeWithBelow = false; + } else if (hitSide == Direction.UP) { + mergeWithAbove = false; + } + } - @Override - public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) { - super.onPlaced(world, pos, state, placer, itemStack); - var type = state.get(TYPE); - var direction = state.get(FACING); - var posBelow = pos.down(); - var posAbove = pos.up(); + if (mergeWithBelow) { + return this.getDefaultState().with(TYPE, MoaiType.TOP).with(FACING, direction); + } else if (mergeWithAbove) { + return this.getDefaultState().with(TYPE, MoaiType.BOTTOM).with(FACING, direction); + } else { + return this.getDefaultState().with(TYPE, MoaiType.SINGLE).with(FACING, direction); + } + } - if(isSingleMoai(direction, world.getBlockState(posBelow)) && type == MoaiType.TOP) { - world.setBlockState(posBelow, world.getBlockState(posBelow).with(TYPE, MoaiType.BOTTOM), Block.NOTIFY_ALL); - } - else if(isSingleMoai(direction, world.getBlockState(posAbove)) && type == MoaiType.BOTTOM) { - world.setBlockState(posAbove, world.getBlockState(posAbove).with(TYPE, MoaiType.TOP), Block.NOTIFY_ALL); - } - } + @Override + public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) { + super.onPlaced(world, pos, state, placer, itemStack); + var type = state.get(TYPE); + var direction = state.get(FACING); + var posBelow = pos.down(); + var posAbove = pos.up(); - @Override - public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { - var type = state.get(TYPE); - if((type == MoaiType.TOP && direction == Direction.DOWN) || (type == MoaiType.BOTTOM && direction == Direction.UP)) { - if(!(neighborState.isOf(this) && neighborState.get(TYPE) == (type == MoaiType.TOP ? MoaiType.BOTTOM : MoaiType.TOP))) { - return state.with(TYPE, MoaiType.SINGLE); - } - } - return state; - } + if (isSingleMoai(direction, world.getBlockState(posBelow)) && type == MoaiType.TOP) { + world.setBlockState(posBelow, world.getBlockState(posBelow).with(TYPE, MoaiType.BOTTOM), Block.NOTIFY_ALL); + } else if (isSingleMoai(direction, world.getBlockState(posAbove)) && type == MoaiType.BOTTOM) { + world.setBlockState(posAbove, world.getBlockState(posAbove).with(TYPE, MoaiType.TOP), Block.NOTIFY_ALL); + } + } - public boolean isSingleMoai(Direction direction, BlockState state) { - return state.isOf(this) && state.get(TYPE) == MoaiType.SINGLE && state.get(FACING) == direction; - } + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + var type = state.get(TYPE); + if ((type == MoaiType.TOP && direction == Direction.DOWN) || (type == MoaiType.BOTTOM && direction == Direction.UP)) { + if (!(neighborState.isOf(this) && neighborState.get(TYPE) == (type == MoaiType.TOP ? MoaiType.BOTTOM : MoaiType.TOP))) { + return state.with(TYPE, MoaiType.SINGLE); + } + } + return state; + } + + public boolean isSingleMoai(Direction direction, BlockState state) { + return state.isOf(this) && state.get(TYPE) == MoaiType.SINGLE && state.get(FACING) == direction; + } } diff --git a/src/main/java/fr/hugman/promenade/block/MoaiType.java b/src/main/java/fr/hugman/promenade/block/MoaiType.java index dfae8763..d48d5a3a 100644 --- a/src/main/java/fr/hugman/promenade/block/MoaiType.java +++ b/src/main/java/fr/hugman/promenade/block/MoaiType.java @@ -1,18 +1,18 @@ package fr.hugman.promenade.block; public enum MoaiType implements net.minecraft.util.StringIdentifiable { - SINGLE("single"), - TOP("top"), - BOTTOM("bottom"); + SINGLE("single"), + TOP("top"), + BOTTOM("bottom"); - private final String name; + private final String name; - MoaiType(String name) { - this.name = name; - } + MoaiType(String name) { + this.name = name; + } - @Override - public String asString() { - return this.name; - } + @Override + public String asString() { + return this.name; + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/block/PileBlock.java b/src/main/java/fr/hugman/promenade/block/PileBlock.java index fcdba632..27be07d9 100644 --- a/src/main/java/fr/hugman/promenade/block/PileBlock.java +++ b/src/main/java/fr/hugman/promenade/block/PileBlock.java @@ -1,10 +1,7 @@ package fr.hugman.promenade.block; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.PlantBlock; -import net.minecraft.block.ShapeContext; +import com.mojang.serialization.MapCodec; +import net.minecraft.block.*; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.shape.VoxelShape; @@ -13,31 +10,37 @@ import net.minecraft.world.WorldView; public class PileBlock extends PlantBlock { - protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D); - - public PileBlock(Settings settings) { - super(settings); - } - - @Override - public VoxelShape getOutlineShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { - return SHAPE; - } - - @Override - public int getOpacity(BlockState state, BlockView worldIn, BlockPos pos) { - return 1; - } - - @Override - public BlockState getStateForNeighborUpdate(BlockState stateIn, Direction facing, BlockState facingState, WorldAccess worldIn, BlockPos currentPos, BlockPos facingPos) { - return !stateIn.canPlaceAt(worldIn, currentPos) ? Blocks.AIR.getDefaultState() : super.getStateForNeighborUpdate(stateIn, facing, facingState, worldIn, currentPos, facingPos); - } - - @Override - public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { - BlockPos blockpos = pos.offset(Direction.DOWN); - BlockState blockState = world.getBlockState(blockpos); - return Block.isFaceFullSquare(blockState.getCollisionShape(world, blockpos), Direction.UP); - } + public static final MapCodec CODEC = createCodec(PileBlock::new); + protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D); + + public PileBlock(Settings settings) { + super(settings); + } + + @Override + protected MapCodec getCodec() { + return CODEC; + } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView worldIn, BlockPos pos, ShapeContext context) { + return SHAPE; + } + + @Override + public int getOpacity(BlockState state, BlockView worldIn, BlockPos pos) { + return 1; + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState stateIn, Direction facing, BlockState facingState, WorldAccess worldIn, BlockPos currentPos, BlockPos facingPos) { + return !stateIn.canPlaceAt(worldIn, currentPos) ? Blocks.AIR.getDefaultState() : super.getStateForNeighborUpdate(stateIn, facing, facingState, worldIn, currentPos, facingPos); + } + + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + BlockPos blockpos = pos.offset(Direction.DOWN); + BlockState blockState = world.getBlockState(blockpos); + return Block.isFaceFullSquare(blockState.getCollisionShape(world, blockpos), Direction.UP); + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlockKeys.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlockKeys.java new file mode 100644 index 00000000..415fb31e --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlockKeys.java @@ -0,0 +1,200 @@ +package fr.hugman.promenade.block; + +import fr.hugman.promenade.Promenade; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; + +public class PromenadeBlockKeys { + public static final RegistryKey ASPHALT = of("asphalt"); + public static final RegistryKey ASPHALT_SLAB = of("asphalt_slab"); + public static final RegistryKey ASPHALT_STAIRS = of("asphalt_stairs"); + public static final RegistryKey ASPHALT_WALL = of("asphalt_wall"); + public static final RegistryKey POLISHED_ASPHALT = of("polished_asphalt"); + public static final RegistryKey POLISHED_ASPHALT_SLAB = of("polished_asphalt_slab"); + public static final RegistryKey POLISHED_ASPHALT_STAIRS = of("polished_asphalt_stairs"); + + public static final RegistryKey BLUNITE = of("blunite"); + public static final RegistryKey BLUNITE_SLAB = of("blunite_slab"); + public static final RegistryKey BLUNITE_STAIRS = of("blunite_stairs"); + public static final RegistryKey BLUNITE_WALL = of("blunite_wall"); + public static final RegistryKey POLISHED_BLUNITE = of("polished_blunite"); + public static final RegistryKey POLISHED_BLUNITE_SLAB = of("polished_blunite_slab"); + public static final RegistryKey POLISHED_BLUNITE_STAIRS = of("polished_blunite_stairs"); + + + /* ====================== */ + /* VANILLA LEAF PILES */ + /* ====================== */ + public static final RegistryKey OAK_LEAF_PILE = of("oak_leaf_pile"); + public static final RegistryKey SPRUCE_LEAF_PILE = of("spruce_leaf_pile"); + public static final RegistryKey BIRCH_LEAF_PILE = of("birch_leaf_pile"); + public static final RegistryKey JUNGLE_LEAF_PILE = of("jungle_leaf_pile"); + public static final RegistryKey ACACIA_LEAF_PILE = of("acacia_leaf_pile"); + public static final RegistryKey DARK_OAK_LEAF_PILE = of("dark_oak_leaf_pile"); + public static final RegistryKey MANGROVE_LEAF_PILE = of("mangrove_leaf_pile"); + public static final RegistryKey AZALEA_LEAF_PILE = of("azalea_leaf_pile"); + public static final RegistryKey FLOWERING_AZALEA_LEAF_PILE = of("flowering_azalea_leaf_pile"); + + public static final RegistryKey DANDELION_PILE = of("dandelion_pile"); + public static final RegistryKey POPPY_PILE = of("poppy_pile"); + public static final RegistryKey BLUE_ORCHID_PILE = of("blue_orchid_pile"); + public static final RegistryKey ALLIUM_PILE = of("allium_pile"); + public static final RegistryKey AZURE_BLUET_PILE = of("azure_bluet_pile"); + public static final RegistryKey RED_TULIP_PILE = of("red_tulip_pile"); + public static final RegistryKey ORANGE_TULIP_PILE = of("orange_tulip_pile"); + public static final RegistryKey WHITE_TULIP_PILE = of("white_tulip_pile"); + public static final RegistryKey PINK_TULIP_PILE = of("pink_tulip_pile"); + public static final RegistryKey OXEYE_DAISY_PILE = of("oxeye_daisy_pile"); + public static final RegistryKey CORNFLOWER_PILE = of("cornflower_pile"); + public static final RegistryKey LILY_OF_THE_VALLEY_PILE = of("lily_of_the_valley_pile"); + public static final RegistryKey WITHER_ROSE_PILE = of("wither_rose_pile"); + + + /* ======================== */ + /* VANILLA SNOWY LEAVES */ + /* ======================== */ + public static final RegistryKey SNOWY_SPRUCE_LEAVES = of("snowy_spruce_leaves"); + + + /* ========== */ + /* SAKURA */ + /* ========== */ + public static final RegistryKey STRIPPED_SAKURA_LOG = of("stripped_sakura_log"); + public static final RegistryKey SAKURA_LOG = of("sakura_log"); + public static final RegistryKey STRIPPED_SAKURA_WOOD = of("stripped_sakura_wood"); + public static final RegistryKey SAKURA_WOOD = of("sakura_wood"); + public static final RegistryKey SAKURA_PLANKS = of("sakura_planks"); + public static final RegistryKey SAKURA_STAIRS = of("sakura_stairs"); + public static final RegistryKey SAKURA_SLAB = of("sakura_slab"); + public static final RegistryKey SAKURA_FENCE = of("sakura_fence"); + public static final RegistryKey SAKURA_FENCE_GATE = of("sakura_fence_gate"); + public static final RegistryKey SAKURA_DOOR = of("sakura_door"); + public static final RegistryKey SAKURA_TRAPDOOR = of("sakura_trapdoor"); + public static final RegistryKey SAKURA_BUTTON = of("sakura_button"); + public static final RegistryKey SAKURA_PRESSURE_PLATE = of("sakura_pressure_plate"); + public static final RegistryKey SAKURA_SIGN = of("sakura_sign"); + public static final RegistryKey SAKURA_WALL_SIGN = of("sakura_wall_sign"); + public static final RegistryKey SAKURA_HANGING_SIGN = of("sakura_hanging_sign"); + public static final RegistryKey SAKURA_WALL_HANGING_SIGN = of("sakura_wall_hanging_sign"); + + public static final RegistryKey BLUSH_SAKURA_SAPLING = of("blush_sakura_sapling"); + public static final RegistryKey POTTED_BLUSH_SAKURA_SAPLING = of("potted_blush_sakura_sapling"); + public static final RegistryKey BLUSH_SAKURA_BLOSSOMS = of("blush_sakura_blossoms"); + public static final RegistryKey BLUSH_SAKURA_BLOSSOM_PILE = of("blush_sakura_blossom_pile"); + + public static final RegistryKey COTTON_SAKURA_SAPLING = of("cotton_sakura_sapling"); + public static final RegistryKey POTTED_COTTON_SAKURA_SAPLING = of("potted_cotton_sakura_sapling"); + public static final RegistryKey COTTON_SAKURA_BLOSSOMS = of("cotton_sakura_blossoms"); + public static final RegistryKey COTTON_SAKURA_BLOSSOM_PILE = of("cotton_sakura_blossom_pile"); + + + /* ========= */ + /* MAPLE */ + /* ========= */ + public static final RegistryKey STRIPPED_MAPLE_LOG = of("stripped_maple_log"); + public static final RegistryKey MAPLE_LOG = of("maple_log"); + public static final RegistryKey STRIPPED_MAPLE_WOOD = of("stripped_maple_wood"); + public static final RegistryKey MAPLE_WOOD = of("maple_wood"); + public static final RegistryKey MAPLE_PLANKS = of("maple_planks"); + public static final RegistryKey MAPLE_STAIRS = of("maple_stairs"); + public static final RegistryKey MAPLE_SLAB = of("maple_slab"); + public static final RegistryKey MAPLE_FENCE = of("maple_fence"); + public static final RegistryKey MAPLE_FENCE_GATE = of("maple_fence_gate"); + public static final RegistryKey MAPLE_DOOR = of("maple_door"); + public static final RegistryKey MAPLE_TRAPDOOR = of("maple_trapdoor"); + public static final RegistryKey MAPLE_BUTTON = of("maple_button"); + public static final RegistryKey MAPLE_PRESSURE_PLATE = of("maple_pressure_plate"); + public static final RegistryKey MAPLE_SIGN = of("maple_sign"); + public static final RegistryKey MAPLE_WALL_SIGN = of("maple_wall_sign"); + public static final RegistryKey MAPLE_HANGING_SIGN = of("maple_hanging_sign"); + public static final RegistryKey MAPLE_WALL_HANGING_SIGN = of("maple_wall_hanging_sign"); + + public static final RegistryKey SAP_MAPLE_SAPLING = of("sap_maple_sapling"); + public static final RegistryKey POTTED_SAP_MAPLE_SAPLING = of("potted_sap_maple_sapling"); + public static final RegistryKey SAP_MAPLE_LEAVES = of("sap_maple_leaves"); + public static final RegistryKey SAP_MAPLE_LEAF_PILE = of("sap_maple_leaf_pile"); + + public static final RegistryKey VERMILION_MAPLE_SAPLING = of("vermilion_maple_sapling"); + public static final RegistryKey POTTED_VERMILION_MAPLE_SAPLING = of("potted_vermilion_maple_sapling"); + public static final RegistryKey VERMILION_MAPLE_LEAVES = of("vermilion_maple_leaves"); + public static final RegistryKey VERMILION_MAPLE_LEAF_PILE = of("vermilion_maple_leaf_pile"); + public static final RegistryKey VERMILION_CARPETED_GRASS_BLOCK = of("vermilion_carpeted_grass_block"); + + public static final RegistryKey FULVOUS_MAPLE_SAPLING = of("fulvous_maple_sapling"); + public static final RegistryKey POTTED_FULVOUS_MAPLE_SAPLING = of("potted_fulvous_maple_sapling"); + public static final RegistryKey FULVOUS_MAPLE_LEAVES = of("fulvous_maple_leaves"); + public static final RegistryKey FULVOUS_MAPLE_LEAF_PILE = of("fulvous_maple_leaf_pile"); + public static final RegistryKey FULVOUS_CARPETED_GRASS_BLOCK = of("fulvous_carpeted_grass_block"); + + public static final RegistryKey MIKADO_MAPLE_SAPLING = of("mikado_maple_sapling"); + public static final RegistryKey POTTED_MIKADO_MAPLE_SAPLING = of("potted_mikado_maple_sapling"); + public static final RegistryKey MIKADO_MAPLE_LEAVES = of("mikado_maple_leaves"); + public static final RegistryKey MIKADO_MAPLE_LEAF_PILE = of("mikado_maple_leaf_pile"); + public static final RegistryKey MIKADO_CARPETED_GRASS_BLOCK = of("mikado_carpeted_grass_block"); + + /* ========= */ + /* PALM */ + /* ========= */ + public static final RegistryKey STRIPPED_PALM_LOG = of("stripped_palm_log"); + public static final RegistryKey PALM_LOG = of("palm_log"); + public static final RegistryKey STRIPPED_PALM_WOOD = of("stripped_palm_wood"); + public static final RegistryKey PALM_WOOD = of("palm_wood"); + public static final RegistryKey PALM_PLANKS = of("palm_planks"); + public static final RegistryKey PALM_STAIRS = of("palm_stairs"); + public static final RegistryKey PALM_SLAB = of("palm_slab"); + public static final RegistryKey PALM_FENCE = of("palm_fence"); + public static final RegistryKey PALM_FENCE_GATE = of("palm_fence_gate"); + public static final RegistryKey PALM_DOOR = of("palm_door"); + public static final RegistryKey PALM_TRAPDOOR = of("palm_trapdoor"); + public static final RegistryKey PALM_BUTTON = of("palm_button"); + public static final RegistryKey PALM_PRESSURE_PLATE = of("palm_pressure_plate"); + public static final RegistryKey PALM_SIGN = of("palm_sign"); + public static final RegistryKey PALM_WALL_SIGN = of("palm_wall_sign"); + public static final RegistryKey PALM_HANGING_SIGN = of("palm_hanging_sign"); + public static final RegistryKey PALM_WALL_HANGING_SIGN = of("palm_wall_hanging_sign"); + + public static final RegistryKey PALM_SAPLING = of("palm_sapling"); + public static final RegistryKey POTTED_PALM_SAPLING = of("potted_palm_sapling"); + public static final RegistryKey PALM_LEAVES = of("palm_leaves"); + public static final RegistryKey PALM_HANGING_LEAVES = of("palm_hanging_leaves"); + public static final RegistryKey PALM_LEAF_PILE = of("palm_leaf_pile"); + + + /* ============= */ + /* AMARANTH */ + /* ============= */ + public static final RegistryKey BLACK_DYLIUM = of("black_dylium"); + public static final RegistryKey DARK_AMARANTH_WART_BLOCK = of("dark_amaranth_wart_block"); + public static final RegistryKey DARK_AMARANTH_ROOTS = of("dark_amaranth_roots"); + + public static final RegistryKey STRIPPED_DARK_AMARANTH_STEM = of("stripped_dark_amaranth_stem"); + public static final RegistryKey DARK_AMARANTH_STEM = of("dark_amaranth_stem"); + public static final RegistryKey STRIPPED_DARK_AMARANTH_HYPHAE = of("stripped_dark_amaranth_hyphae"); + public static final RegistryKey DARK_AMARANTH_HYPHAE = of("dark_amaranth_hyphae"); + public static final RegistryKey DARK_AMARANTH_PLANKS = of("dark_amaranth_planks"); + public static final RegistryKey DARK_AMARANTH_STAIRS = of("dark_amaranth_stairs"); + public static final RegistryKey DARK_AMARANTH_SLAB = of("dark_amaranth_slab"); + public static final RegistryKey DARK_AMARANTH_FENCE = of("dark_amaranth_fence"); + public static final RegistryKey DARK_AMARANTH_FENCE_GATE = of("dark_amaranth_fence_gate"); + public static final RegistryKey DARK_AMARANTH_DOOR = of("dark_amaranth_door"); + public static final RegistryKey DARK_AMARANTH_TRAPDOOR = of("dark_amaranth_trapdoor"); + public static final RegistryKey DARK_AMARANTH_BUTTON = of("dark_amaranth_button"); + public static final RegistryKey DARK_AMARANTH_PRESSURE_PLATE = of("dark_amaranth_pressure_plate"); + public static final RegistryKey DARK_AMARANTH_SIGN = of("dark_amaranth_sign"); + public static final RegistryKey DARK_AMARANTH_WALL_SIGN = of("dark_amaranth_wall_sign"); + public static final RegistryKey DARK_AMARANTH_HANGING_SIGN = of("dark_amaranth_hanging_sign"); + public static final RegistryKey DARK_AMARANTH_WALL_HANGING_SIGN = of("dark_amaranth_wall_hanging_sign"); + + public static final RegistryKey DARK_AMARANTH_FUNGUS = of("dark_amaranth_fungus"); + public static final RegistryKey POTTED_DARK_AMARANTH_FUNGUS = of("potted_dark_amaranth_fungus"); + + + public static final RegistryKey MOAI = of("moai"); + + public static final RegistryKey BLUEBERRY_BUSH = of("blueberry_bush"); + + private static RegistryKey of(String path) { + return RegistryKey.of(RegistryKeys.BLOCK, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlockProperties.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlockProperties.java new file mode 100644 index 00000000..451aa007 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlockProperties.java @@ -0,0 +1,10 @@ +package fr.hugman.promenade.block; + +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.property.EnumProperty; + +public class PromenadeBlockProperties { + public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); + public static final BooleanProperty DRIP = BooleanProperty.of("drip"); + public static final EnumProperty MOAI_TYPE = EnumProperty.of("type", MoaiType.class); +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlockSetTypes.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlockSetTypes.java new file mode 100644 index 00000000..348b185c --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlockSetTypes.java @@ -0,0 +1,12 @@ +package fr.hugman.promenade.block; + +import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeBuilder; +import net.minecraft.block.BlockSetType; + +public class PromenadeBlockSetTypes { + public static final BlockSetType SAKURA = BlockSetTypeBuilder.copyOf(BlockSetType.CHERRY).register(Promenade.id("sakura")); + public static final BlockSetType MAPLE = BlockSetTypeBuilder.copyOf(BlockSetType.OAK).register(Promenade.id("maple")); + public static final BlockSetType PALM = BlockSetTypeBuilder.copyOf(BlockSetType.OAK).register(Promenade.id("palm")); + public static final BlockSetType AMARANTH = BlockSetTypeBuilder.copyOf(BlockSetType.CRIMSON).register(Promenade.id("amaranth")); +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlockTags.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlockTags.java new file mode 100644 index 00000000..a92de0d2 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlockTags.java @@ -0,0 +1,29 @@ +package fr.hugman.promenade.block; + +import fr.hugman.promenade.Promenade; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; + +public class PromenadeBlockTags { + public static final TagKey CARPETED_GRASS_BLOCKS = of("carpeted_grass_blocks"); + + public static final TagKey CHERRY_OAK_LOGS = of("cherry_oak_logs"); + public static final TagKey MAPLE_LOGS = of("maple_logs"); + public static final TagKey PALM_LOGS = of("palm_logs"); + public static final TagKey DARK_AMARANTH_STEMS = of("dark_amaranth_stems"); + + public static final TagKey LEAVES = of("leaves"); + public static final TagKey LEAF_PILES = of("leaf_piles"); + public static final TagKey FLOWER_PILES = of("flower_piles"); + + public static final TagKey CAN_SPREAD_BLACK_DYLIUM = of("can_spread_black_dylium"); + public static final TagKey DARK_AMARANTH_FUNGUS_PLACEABLE_ON = of("placeable_on/dark_amaranth_fungus"); + public static final TagKey DARK_AMARANTH_FUNGUS_GROWABLE_ON = of("growable_on/dark_amaranth_fungus"); + public static final TagKey DARK_AMARANTH_ROOTS_PLACEABLE_ON = of("placeable_on/dark_amaranth_roots"); + public static final TagKey OBSIDIAN_SPIKE_PLACEABLE_ON = of("placeable_on/obsidian_spike"); + + public static TagKey of(String path) { + return TagKey.of(RegistryKeys.BLOCK, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlockTypes.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlockTypes.java new file mode 100644 index 00000000..c69a099d --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlockTypes.java @@ -0,0 +1,25 @@ +package fr.hugman.promenade.block; + +import com.mojang.serialization.MapCodec; +import fr.hugman.promenade.Promenade; +import net.minecraft.block.Block; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; + +public class PromenadeBlockTypes { + public static final MapCodec BERRY_BUSH = of("berry_bush", BerryBushBlock.CODEC); + public static final MapCodec DECORATED_LEAVES = of("decorated_leaves", DecoratedLeavesBlock.CODEC); + public static final MapCodec MOAI = of("moai", MoaiBlock.CODEC); + public static final MapCodec CARPETED_GRASS = of("carpeted_grass", CarpetedGrassBlock.CODEC); + public static final MapCodec DYLIUM = of("dylium", DyliumBlock.CODEC); + public static final MapCodec HANGING_LEAVES = of("hanging_leaves", HangingLeavesBlock.CODEC); + public static final MapCodec MAPLE_LOG = of("maple_log", MapleLogBlock.CODEC); + public static final MapCodec PILE = of("pile", PileBlock.CODEC); + public static final MapCodec SNOWY_LEAVES = of("snowy_leaves", SnowyLeavesBlock.CODEC); + public static final MapCodec STRIPPED_MAPLE_LOG = of("stripped_maple_log", StrippedMapleLogBlock.CODEC); + public static final MapCodec WITHER_ROSE_PILE = of("wither_rose_pile", WitherRosePileBlock.CODEC); + + private static MapCodec of(String path, MapCodec blockType) { + return Registry.register(Registries.BLOCK_TYPE, Promenade.id(path), blockType); + } +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java new file mode 100644 index 00000000..180a4b5b --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java @@ -0,0 +1,464 @@ +package fr.hugman.promenade.block; + +import fr.hugman.dawn.DawnFactory; +import fr.hugman.dawn.block.DawnRootsBlock; +import fr.hugman.dawn.item.ItemGroupHelper; +import fr.hugman.promenade.Promenade; +import fr.hugman.promenade.PromenadeFactory; +import fr.hugman.promenade.item.PromenadeItemKeys; +import fr.hugman.promenade.particle.PromenadeParticleTypes; +import fr.hugman.promenade.sound.PromenadeSoundEvents; +import fr.hugman.promenade.village.TradeOfferUtils; +import fr.hugman.promenade.world.gen.feature.PromenadeConfiguredFeatureKeys; +import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper; +import net.minecraft.block.*; +import net.minecraft.block.enums.Instrument; +import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroups; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.tag.BlockTags; +import net.minecraft.sound.BlockSoundGroup; + +public class PromenadeBlocks { + /* ========= */ + /* ROCKS */ + /* ========= */ + public static final Block ASPHALT = of(PromenadeBlockKeys.ASPHALT, new Block(AbstractBlock.Settings.copy(Blocks.ANDESITE).item().mapColor(MapColor.DEEPSLATE_GRAY).sounds(BlockSoundGroup.BASALT))); + public static final Block ASPHALT_SLAB = of(PromenadeBlockKeys.ASPHALT_SLAB, DawnFactory.slab(ASPHALT)); + public static final Block ASPHALT_STAIRS = of(PromenadeBlockKeys.ASPHALT_STAIRS, DawnFactory.stairs(ASPHALT)); + public static final Block ASPHALT_WALL = of(PromenadeBlockKeys.ASPHALT_WALL, DawnFactory.wall(ASPHALT)); + + public static final Block POLISHED_ASPHALT = of(PromenadeBlockKeys.POLISHED_ASPHALT, new Block(AbstractBlock.Settings.copy(ASPHALT))); + public static final Block POLISHED_ASPHALT_SLAB = of(PromenadeBlockKeys.POLISHED_ASPHALT_SLAB, DawnFactory.slab(POLISHED_ASPHALT)); + public static final Block POLISHED_ASPHALT_STAIRS = of(PromenadeBlockKeys.POLISHED_ASPHALT_STAIRS, DawnFactory.stairs(POLISHED_ASPHALT)); + + public static final Block BLUNITE = of(PromenadeBlockKeys.BLUNITE, new Block(AbstractBlock.Settings.copy(Blocks.ANDESITE).item().mapColor(MapColor.TERRACOTTA_CYAN).sounds(BlockSoundGroup.TUFF))); + public static final Block BLUNITE_SLAB = of(PromenadeBlockKeys.BLUNITE_SLAB, DawnFactory.slab(BLUNITE)); + public static final Block BLUNITE_STAIRS = of(PromenadeBlockKeys.BLUNITE_STAIRS, DawnFactory.stairs(BLUNITE)); + public static final Block BLUNITE_WALL = of(PromenadeBlockKeys.BLUNITE_WALL, DawnFactory.wall(BLUNITE)); + + public static final Block POLISHED_BLUNITE = of(PromenadeBlockKeys.POLISHED_BLUNITE, new Block(AbstractBlock.Settings.copy(BLUNITE))); + public static final Block POLISHED_BLUNITE_SLAB = of(PromenadeBlockKeys.POLISHED_BLUNITE_SLAB, DawnFactory.slab(POLISHED_BLUNITE)); + public static final Block POLISHED_BLUNITE_STAIRS = of(PromenadeBlockKeys.POLISHED_BLUNITE_STAIRS, DawnFactory.stairs(POLISHED_BLUNITE)); + + + /* ================= */ + /* VANILLA PILES */ + /* ================= */ + public static final Block OAK_LEAF_PILE = of(PromenadeBlockKeys.OAK_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block SPRUCE_LEAF_PILE = of(PromenadeBlockKeys.SPRUCE_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block BIRCH_LEAF_PILE = of(PromenadeBlockKeys.BIRCH_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block JUNGLE_LEAF_PILE = of(PromenadeBlockKeys.JUNGLE_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block ACACIA_LEAF_PILE = of(PromenadeBlockKeys.ACACIA_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block DARK_OAK_LEAF_PILE = of(PromenadeBlockKeys.DARK_OAK_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block MANGROVE_LEAF_PILE = of(PromenadeBlockKeys.MANGROVE_LEAF_PILE, PromenadeFactory.leafPile()); + public static final Block AZALEA_LEAF_PILE = of(PromenadeBlockKeys.AZALEA_LEAF_PILE, PromenadeFactory.leafPile(BlockSoundGroup.AZALEA_LEAVES)); + public static final Block FLOWERING_AZALEA_LEAF_PILE = of(PromenadeBlockKeys.FLOWERING_AZALEA_LEAF_PILE, PromenadeFactory.leafPile(BlockSoundGroup.AZALEA_LEAVES)); + + public static final Block DANDELION_PILE = of(PromenadeBlockKeys.DANDELION_PILE, PromenadeFactory.leafPile(MapColor.GOLD)); + public static final Block POPPY_PILE = of(PromenadeBlockKeys.POPPY_PILE, PromenadeFactory.leafPile(MapColor.DULL_RED)); + public static final Block BLUE_ORCHID_PILE = of(PromenadeBlockKeys.BLUE_ORCHID_PILE, PromenadeFactory.leafPile(MapColor.LIGHT_BLUE)); + public static final Block ALLIUM_PILE = of(PromenadeBlockKeys.ALLIUM_PILE, PromenadeFactory.leafPile(MapColor.MAGENTA)); + public static final Block AZURE_BLUET_PILE = of(PromenadeBlockKeys.AZURE_BLUET_PILE, PromenadeFactory.leafPile(MapColor.PALE_YELLOW)); + public static final Block RED_TULIP_PILE = of(PromenadeBlockKeys.RED_TULIP_PILE, PromenadeFactory.leafPile(MapColor.DULL_RED)); + public static final Block ORANGE_TULIP_PILE = of(PromenadeBlockKeys.ORANGE_TULIP_PILE, PromenadeFactory.leafPile(MapColor.ORANGE)); + public static final Block WHITE_TULIP_PILE = of(PromenadeBlockKeys.WHITE_TULIP_PILE, PromenadeFactory.leafPile(MapColor.WHITE)); + public static final Block PINK_TULIP_PILE = of(PromenadeBlockKeys.PINK_TULIP_PILE, PromenadeFactory.leafPile(MapColor.PINK)); + public static final Block OXEYE_DAISY_PILE = of(PromenadeBlockKeys.OXEYE_DAISY_PILE, PromenadeFactory.leafPile(MapColor.GOLD)); + public static final Block CORNFLOWER_PILE = of(PromenadeBlockKeys.CORNFLOWER_PILE, PromenadeFactory.leafPile(MapColor.LAPIS_BLUE)); + public static final Block LILY_OF_THE_VALLEY_PILE = of(PromenadeBlockKeys.LILY_OF_THE_VALLEY_PILE, PromenadeFactory.leafPile(MapColor.WHITE)); + //TODO: put the next block in PromenadeFactory + public static final Block WITHER_ROSE_PILE = of(PromenadeBlockKeys.WITHER_ROSE_PILE, new WitherRosePileBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3f)) + .mapColor(MapColor.BLACK) + .burnable(30, 60) + .strength(0.1f) + .ticksRandomly() + .sounds(BlockSoundGroup.GRASS) + .noCollision() + .nonOpaque())); + + + /* ======================== */ + /* VANILLA SNOWY LEAVES */ + /* ======================== */ + public static final BlockSoundGroup SNOWY_LEAVES_SOUNDS = new BlockSoundGroup(1.0f, 1.0f, PromenadeSoundEvents.BLOCK_SNOWY_LEAVES_BREAK, PromenadeSoundEvents.BLOCK_SNOWY_LEAVES_STEP, PromenadeSoundEvents.BLOCK_SNOWY_LEAVES_PLACE, PromenadeSoundEvents.BLOCK_SNOWY_LEAVES_HIT, PromenadeSoundEvents.BLOCK_SNOWY_LEAVES_FALL); + + public static final SnowyLeavesBlock SNOWY_SPRUCE_LEAVES = of(PromenadeBlockKeys.SNOWY_SPRUCE_LEAVES, PromenadeFactory.snowyLeaves()); + + + /* ========== */ + /* SAKURA */ + /* ========== */ + private static final BlockSoundGroup SAKURA_WOOD_SOUNDS = BlockSoundGroup.CHERRY_WOOD; + private static final MapColor SAKURA_BARK_COLOR = MapColor.TERRACOTTA_BROWN; + private static final MapColor SAKURA_WOOD_COLOR = MapColor.TERRACOTTA_BROWN; + + private static final MapColor BLUSH_BLOSSOMS_COLOR = MapColor.PINK; + private static final MapColor COTTON_BLOSSOMS_COLOR = MapColor.OFF_WHITE; + + + public static final Block STRIPPED_SAKURA_LOG = of(PromenadeBlockKeys.STRIPPED_SAKURA_LOG, new PillarBlock(DawnFactory.logSettings(SAKURA_WOOD_COLOR, SAKURA_WOOD_SOUNDS, true))); + public static final Block SAKURA_LOG = of(PromenadeBlockKeys.SAKURA_LOG, new PillarBlock(DawnFactory.logSettings(SAKURA_WOOD_COLOR, SAKURA_BARK_COLOR, SAKURA_WOOD_SOUNDS, true).stripsInto(STRIPPED_SAKURA_LOG))); + public static final Block STRIPPED_SAKURA_WOOD = of(PromenadeBlockKeys.STRIPPED_SAKURA_WOOD, new PillarBlock(DawnFactory.logSettings(SAKURA_WOOD_COLOR, SAKURA_WOOD_SOUNDS, true))); + public static final Block SAKURA_WOOD = of(PromenadeBlockKeys.SAKURA_WOOD, new PillarBlock(DawnFactory.logSettings(SAKURA_BARK_COLOR, SAKURA_WOOD_SOUNDS, true).stripsInto(STRIPPED_SAKURA_WOOD))); + + public static final Block SAKURA_PLANKS = of(PromenadeBlockKeys.SAKURA_PLANKS, DawnFactory.planks(SAKURA_WOOD_COLOR, SAKURA_WOOD_SOUNDS, true)); + public static final Block SAKURA_STAIRS = of(PromenadeBlockKeys.SAKURA_STAIRS, DawnFactory.stairs(SAKURA_PLANKS)); + public static final Block SAKURA_SLAB = of(PromenadeBlockKeys.SAKURA_SLAB, DawnFactory.slab(SAKURA_PLANKS)); + public static final Block SAKURA_FENCE = of(PromenadeBlockKeys.SAKURA_FENCE, DawnFactory.fence(SAKURA_PLANKS)); + public static final Block SAKURA_FENCE_GATE = of(PromenadeBlockKeys.SAKURA_FENCE_GATE, DawnFactory.fenceGate(SAKURA_PLANKS, PromenadeWoodTypes.SAKURA)); + public static final Block SAKURA_DOOR = of(PromenadeBlockKeys.SAKURA_DOOR, DawnFactory.door(SAKURA_PLANKS, PromenadeBlockSetTypes.SAKURA)); + public static final Block SAKURA_TRAPDOOR = of(PromenadeBlockKeys.SAKURA_TRAPDOOR, DawnFactory.trapdoor(SAKURA_PLANKS, PromenadeBlockSetTypes.SAKURA)); + public static final Block SAKURA_BUTTON = of(PromenadeBlockKeys.SAKURA_BUTTON, DawnFactory.woodenButton(SAKURA_PLANKS, PromenadeBlockSetTypes.SAKURA)); + public static final Block SAKURA_PRESSURE_PLATE = of(PromenadeBlockKeys.SAKURA_PRESSURE_PLATE, DawnFactory.pressurePlate(SAKURA_PLANKS, PromenadeBlockSetTypes.SAKURA)); + public static final Block SAKURA_SIGN = of(PromenadeBlockKeys.SAKURA_SIGN, PromenadeFactory.sign(false, false, Promenade.id("sakura"), SAKURA_PLANKS, SAKURA_WOOD_SOUNDS)); + public static final Block SAKURA_WALL_SIGN = of(PromenadeBlockKeys.SAKURA_WALL_SIGN, PromenadeFactory.sign(false, true, Promenade.id("sakura"), SAKURA_PLANKS, SAKURA_WOOD_SOUNDS)); + public static final Block SAKURA_HANGING_SIGN = of(PromenadeBlockKeys.SAKURA_HANGING_SIGN, PromenadeFactory.sign(true, false, Promenade.id("sakura"), SAKURA_PLANKS, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); + public static final Block SAKURA_WALL_HANGING_SIGN = of(PromenadeBlockKeys.SAKURA_WALL_HANGING_SIGN, PromenadeFactory.sign(true, true, Promenade.id("sakura"), SAKURA_PLANKS, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); + + public static final Block BLUSH_SAKURA_SAPLING = of(PromenadeBlockKeys.BLUSH_SAKURA_SAPLING, DawnFactory.sapling(BLUSH_BLOSSOMS_COLOR, PromenadeSaplingGenerators.BLUSH_SAKURA_SAPLING_GENERATOR)); + public static final Block POTTED_BLUSH_SAKURA_SAPLING = of(PromenadeBlockKeys.POTTED_BLUSH_SAKURA_SAPLING, DawnFactory.potted(BLUSH_SAKURA_SAPLING)); + public static final Block BLUSH_SAKURA_BLOSSOMS = of(PromenadeBlockKeys.BLUSH_SAKURA_BLOSSOMS, PromenadeFactory.decoratedLeaves(BLUSH_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES, PromenadeParticleTypes.BLUSH_SAKURA_BLOSSOM)); + public static final Block BLUSH_SAKURA_BLOSSOM_PILE = of(PromenadeBlockKeys.BLUSH_SAKURA_BLOSSOM_PILE, PromenadeFactory.leafPile(BLUSH_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES)); + + public static final Block COTTON_SAKURA_SAPLING = of(PromenadeBlockKeys.COTTON_SAKURA_SAPLING, DawnFactory.sapling(COTTON_BLOSSOMS_COLOR, PromenadeSaplingGenerators.COTTON_SAKURA_SAPLING_GENERATOR)); + public static final Block POTTED_COTTON_SAKURA_SAPLING = of(PromenadeBlockKeys.POTTED_COTTON_SAKURA_SAPLING, DawnFactory.potted(COTTON_SAKURA_SAPLING)); + public static final Block COTTON_SAKURA_BLOSSOMS = of(PromenadeBlockKeys.COTTON_SAKURA_BLOSSOMS, PromenadeFactory.decoratedLeaves(COTTON_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES, PromenadeParticleTypes.COTTON_SAKURA_BLOSSOM)); + public static final Block COTTON_SAKURA_BLOSSOM_PILE = of(PromenadeBlockKeys.COTTON_SAKURA_BLOSSOM_PILE, PromenadeFactory.leafPile(COTTON_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES)); + + + /* ========= */ + /* MAPLE */ + /* ========= */ + private static final BlockSoundGroup MAPLE_WOOD_SOUNDS = BlockSoundGroup.WOOD; + private static final MapColor MAPLE_BARK_COLOR = MapColor.DEEPSLATE_GRAY; + private static final MapColor MAPLE_WOOD_COLOR = MapColor.TERRACOTTA_WHITE; + + public static final MapColor MAPLE_SAP_LEAVES_COLOR = MapColor.DARK_GREEN; + public static final MapColor MAPLE_VERMILION_LEAVES_COLOR = MapColor.DULL_RED; + public static final MapColor MAPLE_FULVOUS_LEAVES_COLOR = MapColor.ORANGE; + public static final MapColor MAPLE_MIKADO_LEAVES_COLOR = MapColor.GOLD; + + + public static final Block STRIPPED_MAPLE_LOG = of(PromenadeBlockKeys.STRIPPED_MAPLE_LOG, new StrippedMapleLogBlock(DawnFactory.logSettings(MAPLE_WOOD_COLOR, MAPLE_WOOD_SOUNDS, true))); + public static final Block MAPLE_LOG = of(PromenadeBlockKeys.MAPLE_LOG, new MapleLogBlock(DawnFactory.logSettings(MAPLE_WOOD_COLOR, MAPLE_BARK_COLOR, MAPLE_WOOD_SOUNDS, true).stripsInto(STRIPPED_MAPLE_LOG))); + public static final Block STRIPPED_MAPLE_WOOD = of(PromenadeBlockKeys.STRIPPED_MAPLE_WOOD, new PillarBlock(DawnFactory.logSettings(MAPLE_WOOD_COLOR, MAPLE_WOOD_SOUNDS, true))); + public static final Block MAPLE_WOOD = of(PromenadeBlockKeys.MAPLE_WOOD, new PillarBlock(DawnFactory.logSettings(MAPLE_BARK_COLOR, MAPLE_WOOD_SOUNDS, true).stripsInto(STRIPPED_MAPLE_WOOD))); + + public static final Block MAPLE_PLANKS = of(PromenadeBlockKeys.MAPLE_PLANKS, DawnFactory.planks(MAPLE_BARK_COLOR, MAPLE_WOOD_SOUNDS, true)); + public static final Block MAPLE_STAIRS = of(PromenadeBlockKeys.MAPLE_STAIRS, DawnFactory.stairs(MAPLE_PLANKS)); + public static final Block MAPLE_SLAB = of(PromenadeBlockKeys.MAPLE_SLAB, DawnFactory.slab(MAPLE_PLANKS)); + public static final Block MAPLE_FENCE = of(PromenadeBlockKeys.MAPLE_FENCE, DawnFactory.fence(MAPLE_PLANKS)); + public static final Block MAPLE_FENCE_GATE = of(PromenadeBlockKeys.MAPLE_FENCE_GATE, DawnFactory.fenceGate(MAPLE_PLANKS, PromenadeWoodTypes.MAPLE)); + public static final Block MAPLE_DOOR = of(PromenadeBlockKeys.MAPLE_DOOR, DawnFactory.door(MAPLE_PLANKS, PromenadeBlockSetTypes.MAPLE)); + public static final Block MAPLE_TRAPDOOR = of(PromenadeBlockKeys.MAPLE_TRAPDOOR, DawnFactory.trapdoor(MAPLE_PLANKS, PromenadeBlockSetTypes.MAPLE)); + public static final Block MAPLE_BUTTON = of(PromenadeBlockKeys.MAPLE_BUTTON, DawnFactory.woodenButton(MAPLE_PLANKS, PromenadeBlockSetTypes.MAPLE)); + public static final Block MAPLE_PRESSURE_PLATE = of(PromenadeBlockKeys.MAPLE_PRESSURE_PLATE, DawnFactory.pressurePlate(MAPLE_PLANKS, PromenadeBlockSetTypes.MAPLE)); + public static final Block MAPLE_SIGN = of(PromenadeBlockKeys.MAPLE_SIGN, PromenadeFactory.sign(false, false, Promenade.id("maple"), MAPLE_PLANKS, MAPLE_WOOD_SOUNDS)); + public static final Block MAPLE_WALL_SIGN = of(PromenadeBlockKeys.MAPLE_WALL_SIGN, PromenadeFactory.sign(false, true, Promenade.id("maple"), MAPLE_PLANKS, MAPLE_WOOD_SOUNDS)); + public static final Block MAPLE_HANGING_SIGN = of(PromenadeBlockKeys.MAPLE_HANGING_SIGN, PromenadeFactory.sign(true, false, Promenade.id("maple"), MAPLE_PLANKS, BlockSoundGroup.HANGING_SIGN)); + public static final Block MAPLE_WALL_HANGING_SIGN = of(PromenadeBlockKeys.MAPLE_WALL_HANGING_SIGN, PromenadeFactory.sign(true, true, Promenade.id("maple"), MAPLE_PLANKS, BlockSoundGroup.HANGING_SIGN)); + + public static final Block SAP_MAPLE_SAPLING = of(PromenadeBlockKeys.SAP_MAPLE_SAPLING, DawnFactory.sapling(MAPLE_SAP_LEAVES_COLOR, PromenadeSaplingGenerators.SAP_MAPLE_SAPLING_GENERATOR)); + public static final Block POTTED_SAP_MAPLE_SAPLING = of(PromenadeBlockKeys.POTTED_SAP_MAPLE_SAPLING, DawnFactory.potted(SAP_MAPLE_SAPLING)); + public static final Block SAP_MAPLE_LEAVES = of(PromenadeBlockKeys.SAP_MAPLE_LEAVES, DawnFactory.leaves(MAPLE_SAP_LEAVES_COLOR)); + public static final Block SAP_MAPLE_LEAF_PILE = of(PromenadeBlockKeys.SAP_MAPLE_LEAF_PILE, PromenadeFactory.leafPile()); + + public static final Block VERMILION_MAPLE_SAPLING = of(PromenadeBlockKeys.VERMILION_MAPLE_SAPLING, DawnFactory.sapling(MAPLE_VERMILION_LEAVES_COLOR, PromenadeSaplingGenerators.VERMILION_MAPLE_SAPLING_GENERATOR)); + public static final Block POTTED_VERMILION_MAPLE_SAPLING = of(PromenadeBlockKeys.POTTED_VERMILION_MAPLE_SAPLING, DawnFactory.potted(VERMILION_MAPLE_SAPLING)); + public static final Block VERMILION_MAPLE_LEAVES = of(PromenadeBlockKeys.VERMILION_MAPLE_LEAVES, PromenadeFactory.decoratedLeaves(MAPLE_VERMILION_LEAVES_COLOR, PromenadeParticleTypes.VERMILION_MAPLE_LEAF)); + public static final Block VERMILION_MAPLE_LEAF_PILE = of(PromenadeBlockKeys.VERMILION_MAPLE_LEAF_PILE, PromenadeFactory.leafPile(MAPLE_VERMILION_LEAVES_COLOR)); + public static final Block VERMILION_CARPETED_GRASS_BLOCK = of(PromenadeBlockKeys.VERMILION_CARPETED_GRASS_BLOCK, PromenadeFactory.carpetedGrassBlock(MAPLE_VERMILION_LEAVES_COLOR)); + + public static final Block FULVOUS_MAPLE_SAPLING = of(PromenadeBlockKeys.FULVOUS_MAPLE_SAPLING, DawnFactory.sapling(MAPLE_FULVOUS_LEAVES_COLOR, PromenadeSaplingGenerators.FULVOUS_MAPLE_SAPLING_GENERATOR)); + public static final Block POTTED_FULVOUS_MAPLE_SAPLING = of(PromenadeBlockKeys.POTTED_FULVOUS_MAPLE_SAPLING, DawnFactory.potted(FULVOUS_MAPLE_SAPLING)); + public static final Block FULVOUS_MAPLE_LEAVES = of(PromenadeBlockKeys.FULVOUS_MAPLE_LEAVES, PromenadeFactory.decoratedLeaves(MAPLE_FULVOUS_LEAVES_COLOR, PromenadeParticleTypes.FULVOUS_MAPLE_LEAF)); + public static final Block FULVOUS_MAPLE_LEAF_PILE = of(PromenadeBlockKeys.FULVOUS_MAPLE_LEAF_PILE, PromenadeFactory.leafPile(MAPLE_FULVOUS_LEAVES_COLOR)); + public static final Block FULVOUS_CARPETED_GRASS_BLOCK = of(PromenadeBlockKeys.FULVOUS_CARPETED_GRASS_BLOCK, PromenadeFactory.carpetedGrassBlock(MAPLE_FULVOUS_LEAVES_COLOR)); + + public static final Block MIKADO_MAPLE_SAPLING = of(PromenadeBlockKeys.MIKADO_MAPLE_SAPLING, DawnFactory.sapling(MAPLE_MIKADO_LEAVES_COLOR, PromenadeSaplingGenerators.MIKADO_MAPLE_SAPLING_GENERATOR)); + public static final Block POTTED_MIKADO_MAPLE_SAPLING = of(PromenadeBlockKeys.POTTED_MIKADO_MAPLE_SAPLING, DawnFactory.potted(MIKADO_MAPLE_SAPLING)); + public static final Block MIKADO_MAPLE_LEAVES = of(PromenadeBlockKeys.MIKADO_MAPLE_LEAVES, PromenadeFactory.decoratedLeaves(MAPLE_MIKADO_LEAVES_COLOR, PromenadeParticleTypes.MIKADO_MAPLE_LEAF)); + public static final Block MIKADO_MAPLE_LEAF_PILE = of(PromenadeBlockKeys.MIKADO_MAPLE_LEAF_PILE, PromenadeFactory.leafPile(MAPLE_MIKADO_LEAVES_COLOR)); + public static final Block MIKADO_CARPETED_GRASS_BLOCK = of(PromenadeBlockKeys.MIKADO_CARPETED_GRASS_BLOCK, PromenadeFactory.carpetedGrassBlock(MAPLE_MIKADO_LEAVES_COLOR)); + + + /* ======== */ + /* PALM */ + /* ======== */ + private static final BlockSoundGroup PALM_WOOD_SOUNDS = BlockSoundGroup.WOOD; + private static final MapColor PALM_BARK_COLOR = MapColor.SPRUCE_BROWN; + private static final MapColor PALM_WOOD_COLOR = MapColor.ORANGE; + private static final MapColor PALM_LEAVES_COLOR = MapColor.DARK_GREEN; + + + public static final Block STRIPPED_PALM_LOG = of(PromenadeBlockKeys.STRIPPED_PALM_LOG, new PillarBlock(DawnFactory.logSettings(PALM_WOOD_COLOR, PALM_WOOD_SOUNDS, true))); + public static final Block PALM_LOG = of(PromenadeBlockKeys.PALM_LOG, new PillarBlock(DawnFactory.logSettings(PALM_WOOD_COLOR, PALM_BARK_COLOR, PALM_WOOD_SOUNDS, true).stripsInto(STRIPPED_PALM_LOG))); + public static final Block STRIPPED_PALM_WOOD = of(PromenadeBlockKeys.STRIPPED_PALM_WOOD, new PillarBlock(DawnFactory.logSettings(PALM_WOOD_COLOR, PALM_WOOD_SOUNDS, true))); + public static final Block PALM_WOOD = of(PromenadeBlockKeys.PALM_WOOD, new PillarBlock(DawnFactory.logSettings(PALM_BARK_COLOR, PALM_WOOD_SOUNDS, true).stripsInto(STRIPPED_PALM_WOOD))); + + public static final Block PALM_PLANKS = of(PromenadeBlockKeys.PALM_PLANKS, DawnFactory.planks(PALM_WOOD_COLOR, PALM_WOOD_SOUNDS, true)); + public static final Block PALM_STAIRS = of(PromenadeBlockKeys.PALM_STAIRS, DawnFactory.stairs(PALM_PLANKS)); + public static final Block PALM_SLAB = of(PromenadeBlockKeys.PALM_SLAB, DawnFactory.slab(PALM_PLANKS)); + public static final Block PALM_FENCE = of(PromenadeBlockKeys.PALM_FENCE, DawnFactory.fence(PALM_PLANKS)); + public static final Block PALM_FENCE_GATE = of(PromenadeBlockKeys.PALM_FENCE_GATE, DawnFactory.fenceGate(PALM_PLANKS, PromenadeWoodTypes.PALM)); + public static final Block PALM_DOOR = of(PromenadeBlockKeys.PALM_DOOR, DawnFactory.door(PALM_PLANKS, PromenadeBlockSetTypes.PALM)); + public static final Block PALM_TRAPDOOR = of(PromenadeBlockKeys.PALM_TRAPDOOR, DawnFactory.trapdoor(PALM_PLANKS, PromenadeBlockSetTypes.PALM)); + public static final Block PALM_BUTTON = of(PromenadeBlockKeys.PALM_BUTTON, DawnFactory.woodenButton(PALM_PLANKS, PromenadeBlockSetTypes.PALM)); + public static final Block PALM_PRESSURE_PLATE = of(PromenadeBlockKeys.PALM_PRESSURE_PLATE, DawnFactory.pressurePlate(PALM_PLANKS, PromenadeBlockSetTypes.PALM)); + public static final Block PALM_SIGN = of(PromenadeBlockKeys.PALM_SIGN, PromenadeFactory.sign(false, false, Promenade.id("palm"), PALM_PLANKS, PALM_WOOD_SOUNDS)); + public static final Block PALM_WALL_SIGN = of(PromenadeBlockKeys.PALM_WALL_SIGN, PromenadeFactory.sign(false, true, Promenade.id("palm"), PALM_PLANKS, PALM_WOOD_SOUNDS)); + public static final Block PALM_HANGING_SIGN = of(PromenadeBlockKeys.PALM_HANGING_SIGN, PromenadeFactory.sign(true, false, Promenade.id("palm"), PALM_PLANKS, BlockSoundGroup.HANGING_SIGN)); + public static final Block PALM_WALL_HANGING_SIGN = of(PromenadeBlockKeys.PALM_WALL_HANGING_SIGN, PromenadeFactory.sign(true, true, Promenade.id("palm"), PALM_PLANKS, BlockSoundGroup.HANGING_SIGN)); + + public static final Block PALM_SAPLING = of(PromenadeBlockKeys.PALM_SAPLING, DawnFactory.sapling(PALM_LEAVES_COLOR, PromenadeSaplingGenerators.PALM_SAPLING_GENERATOR, state -> state.isIn(BlockTags.SAND))); + public static final Block POTTED_PALM_SAPLING = of(PromenadeBlockKeys.POTTED_PALM_SAPLING, DawnFactory.potted(PALM_SAPLING)); + //TODO: put the next two blocks in PromenadeFactory + public static final Block PALM_LEAVES = of(PromenadeBlockKeys.PALM_LEAVES, new ExtendedLeavesBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3f)) + .mapColor(PALM_LEAVES_COLOR) + .strength(0.2f) + .ticksRandomly() + .sounds(BlockSoundGroup.GRASS) + .nonOpaque() + .allowsSpawning((state, world, pos, type) -> type == EntityType.OCELOT || type == EntityType.PARROT) + .suffocates((state, world, pos) -> false) + .blockVision((state, world, pos) -> false) + .burnable(30, 60) + .pistonBehavior(PistonBehavior.DESTROY) + .solidBlock((state, world, pos) -> false))); + public static final Block PALM_HANGING_LEAVES = of(PromenadeBlockKeys.PALM_HANGING_LEAVES, new HangingLeavesBlock(AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.3F)) + .mapColor(PALM_LEAVES_COLOR) + .sounds(BlockSoundGroup.GRASS) + .replaceable().noCollision().breakInstantly() + .burnable(30, 60) + .pistonBehavior(PistonBehavior.DESTROY) + )); + public static final Block PALM_LEAF_PILE = of(PromenadeBlockKeys.PALM_LEAF_PILE, PromenadeFactory.leafPile()); + + + /* ============ */ + /* AMARANTH */ + /* ============ */ + private static final BlockSoundGroup AMARANTH_WOOD_SOUNDS = BlockSoundGroup.NETHER_WOOD; + private static final MapColor AMARANTH_BARK_COLOR = MapColor.DARK_DULL_PINK; + private static final MapColor AMARANTH_WOOD_COLOR = MapColor.GRAY; + + public static final Block BLACK_DYLIUM = of(PromenadeBlockKeys.BLACK_DYLIUM, new DyliumBlock( + AbstractBlock.Settings.create() + .item() + .mapColor(MapColor.BLACK) + .instrument(Instrument.BASEDRUM) + .requiresTool() + .strength(3.0F, 9.0F) + .sounds(BlockSoundGroup.NYLIUM) + .ticksRandomly())); + public static final Block DARK_AMARANTH_WART_BLOCK = of(PromenadeBlockKeys.DARK_AMARANTH_WART_BLOCK, new Block( + AbstractBlock.Settings.create() + .item() + .mapColor(MapColor.PURPLE) + .strength(1.0F) + .sounds(BlockSoundGroup.WART_BLOCK))); + public static final Block DARK_AMARANTH_ROOTS = of(PromenadeBlockKeys.DARK_AMARANTH_ROOTS, new DawnRootsBlock(state -> state.isIn(PromenadeBlockTags.DARK_AMARANTH_ROOTS_PLACEABLE_ON), + AbstractBlock.Settings.create() + .item(new Item.Settings().compostingChance(0.65F)) + .mapColor(MapColor.PURPLE) + .replaceable() + .breakInstantly() + .noCollision() + .sounds(BlockSoundGroup.ROOTS))); + + public static final Block STRIPPED_DARK_AMARANTH_STEM = of(PromenadeBlockKeys.STRIPPED_DARK_AMARANTH_STEM, new PillarBlock(DawnFactory.logSettings(AMARANTH_WOOD_COLOR, BlockSoundGroup.NETHER_STEM, false))); + public static final Block DARK_AMARANTH_STEM = of(PromenadeBlockKeys.DARK_AMARANTH_STEM, new PillarBlock(DawnFactory.logSettings(AMARANTH_WOOD_COLOR, AMARANTH_BARK_COLOR, BlockSoundGroup.NETHER_STEM, false).stripsInto(STRIPPED_DARK_AMARANTH_STEM))); + public static final Block STRIPPED_DARK_AMARANTH_HYPHAE = of(PromenadeBlockKeys.STRIPPED_DARK_AMARANTH_HYPHAE, new PillarBlock(DawnFactory.logSettings(AMARANTH_WOOD_COLOR, BlockSoundGroup.NETHER_STEM, false))); + public static final Block DARK_AMARANTH_HYPHAE = of(PromenadeBlockKeys.DARK_AMARANTH_HYPHAE, new PillarBlock(DawnFactory.logSettings(AMARANTH_BARK_COLOR, BlockSoundGroup.NETHER_STEM, false).stripsInto(STRIPPED_DARK_AMARANTH_HYPHAE))); + + public static final Block DARK_AMARANTH_PLANKS = of(PromenadeBlockKeys.DARK_AMARANTH_PLANKS, DawnFactory.planks(AMARANTH_WOOD_COLOR, AMARANTH_WOOD_SOUNDS, false)); + public static final Block DARK_AMARANTH_STAIRS = of(PromenadeBlockKeys.DARK_AMARANTH_STAIRS, DawnFactory.stairs(DARK_AMARANTH_PLANKS)); + public static final Block DARK_AMARANTH_SLAB = of(PromenadeBlockKeys.DARK_AMARANTH_SLAB, DawnFactory.slab(DARK_AMARANTH_PLANKS)); + public static final Block DARK_AMARANTH_FENCE = of(PromenadeBlockKeys.DARK_AMARANTH_FENCE, DawnFactory.fence(DARK_AMARANTH_PLANKS)); + public static final Block DARK_AMARANTH_FENCE_GATE = of(PromenadeBlockKeys.DARK_AMARANTH_FENCE_GATE, DawnFactory.fenceGate(DARK_AMARANTH_PLANKS, PromenadeWoodTypes.AMARANTH)); + public static final Block DARK_AMARANTH_DOOR = of(PromenadeBlockKeys.DARK_AMARANTH_DOOR, DawnFactory.door(DARK_AMARANTH_PLANKS, PromenadeBlockSetTypes.AMARANTH)); + public static final Block DARK_AMARANTH_TRAPDOOR = of(PromenadeBlockKeys.DARK_AMARANTH_TRAPDOOR, DawnFactory.trapdoor(DARK_AMARANTH_PLANKS, PromenadeBlockSetTypes.AMARANTH)); + public static final Block DARK_AMARANTH_BUTTON = of(PromenadeBlockKeys.DARK_AMARANTH_BUTTON, DawnFactory.woodenButton(DARK_AMARANTH_PLANKS, PromenadeBlockSetTypes.AMARANTH)); + public static final Block DARK_AMARANTH_PRESSURE_PLATE = of(PromenadeBlockKeys.DARK_AMARANTH_PRESSURE_PLATE, DawnFactory.pressurePlate(DARK_AMARANTH_PLANKS, PromenadeBlockSetTypes.AMARANTH)); + public static final Block DARK_AMARANTH_SIGN = of(PromenadeBlockKeys.DARK_AMARANTH_SIGN, PromenadeFactory.sign(false, false, Promenade.id("dark_amaranth"), DARK_AMARANTH_PLANKS, AMARANTH_WOOD_SOUNDS)); + public static final Block DARK_AMARANTH_WALL_SIGN = of(PromenadeBlockKeys.DARK_AMARANTH_WALL_SIGN, PromenadeFactory.sign(false, true, Promenade.id("dark_amaranth"), DARK_AMARANTH_PLANKS, AMARANTH_WOOD_SOUNDS)); + public static final Block DARK_AMARANTH_HANGING_SIGN = of(PromenadeBlockKeys.DARK_AMARANTH_HANGING_SIGN, PromenadeFactory.sign(true, false, Promenade.id("dark_amaranth"), DARK_AMARANTH_PLANKS, BlockSoundGroup.HANGING_SIGN)); + public static final Block DARK_AMARANTH_WALL_HANGING_SIGN = of(PromenadeBlockKeys.DARK_AMARANTH_WALL_HANGING_SIGN, PromenadeFactory.sign(true, true, Promenade.id("dark_amaranth"), DARK_AMARANTH_PLANKS, BlockSoundGroup.HANGING_SIGN)); + + public static final Block DARK_AMARANTH_FUNGUS = of(PromenadeBlockKeys.DARK_AMARANTH_FUNGUS, DawnFactory.fungus(MapColor.PURPLE, PromenadeConfiguredFeatureKeys.PLANTED_AMARANTH_FUNGUS, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_PLACEABLE_ON, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_GROWABLE_ON)); + public static final Block POTTED_DARK_AMARANTH_FUNGUS = of(PromenadeBlockKeys.POTTED_DARK_AMARANTH_FUNGUS, DawnFactory.potted(DARK_AMARANTH_FUNGUS)); + + + public static final Block MOAI = of(PromenadeBlockKeys.MOAI, new MoaiBlock(AbstractBlock.Settings.copy(Blocks.TUFF).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY).item(new Item.Settings().equipmentSlot(stack -> EquipmentSlot.HEAD)))); + + public static final Block BLUEBERRY_BUSH = of(PromenadeBlockKeys.BLUEBERRY_BUSH, BerryBushBlock.of(PromenadeItemKeys.BLUEBERRIES, false)); + + public static B of(RegistryKey key, B block) { + return Registry.register(Registries.BLOCK, key, block); + } + + public static void appendItemGroups() { + //TODO: optimize item groups + ItemGroupHelper.append(ItemGroups.NATURAL, e -> e.addAfter(Blocks.ANDESITE, BLUNITE, ASPHALT)); + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.POLISHED_ANDESITE_SLAB, + BLUNITE, BLUNITE_SLAB, BLUNITE_STAIRS, BLUNITE_WALL, + POLISHED_BLUNITE, POLISHED_BLUNITE_SLAB, POLISHED_BLUNITE_STAIRS, + ASPHALT, ASPHALT_SLAB, ASPHALT_STAIRS, ASPHALT_WALL, + POLISHED_ASPHALT, POLISHED_ASPHALT_SLAB, POLISHED_ASPHALT_STAIRS + )); + + + // VANILLA PILES + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(Blocks.FLOWERING_AZALEA_LEAVES, + OAK_LEAF_PILE, + SPRUCE_LEAF_PILE, + BIRCH_LEAF_PILE, + JUNGLE_LEAF_PILE, + ACACIA_LEAF_PILE, + DARK_OAK_LEAF_PILE, + MANGROVE_LEAF_PILE, + AZALEA_LEAF_PILE, + FLOWERING_AZALEA_LEAF_PILE); + + e.addAfter(Blocks.LILY_OF_THE_VALLEY, + DANDELION_PILE, + POPPY_PILE, + BLUE_ORCHID_PILE, + ALLIUM_PILE, + AZURE_BLUET_PILE, + RED_TULIP_PILE, + ORANGE_TULIP_PILE, + WHITE_TULIP_PILE, + PINK_TULIP_PILE, + OXEYE_DAISY_PILE, + CORNFLOWER_PILE, + LILY_OF_THE_VALLEY_PILE); + e.addAfter(Blocks.WITHER_ROSE, WITHER_ROSE_PILE); + }); + + // VANILLA SNOWY LEAVES + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(Blocks.SPRUCE_LEAVES, SNOWY_SPRUCE_LEAVES); + }); + + // SAKURA + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.BIRCH_BUTTON, + SAKURA_LOG, + SAKURA_WOOD, + STRIPPED_SAKURA_LOG, + STRIPPED_SAKURA_WOOD, + SAKURA_PLANKS, + SAKURA_STAIRS, + SAKURA_SLAB, + SAKURA_FENCE, + SAKURA_FENCE_GATE, + SAKURA_DOOR, + SAKURA_TRAPDOOR, + SAKURA_PRESSURE_PLATE, + SAKURA_BUTTON)); + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(Blocks.BIRCH_LOG, SAKURA_LOG); + e.addAfter(Blocks.BIRCH_LEAVES, BLUSH_SAKURA_BLOSSOMS, COTTON_SAKURA_BLOSSOMS); + e.addAfter(Blocks.BIRCH_SAPLING, BLUSH_SAKURA_SAPLING, COTTON_SAKURA_SAPLING); + e.addAfter(BIRCH_LEAF_PILE, BLUSH_SAKURA_BLOSSOM_PILE, COTTON_SAKURA_BLOSSOM_PILE); + }); + + // MAPLE + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> + e.addAfter(SAKURA_BUTTON, + MAPLE_LOG, + MAPLE_WOOD, + STRIPPED_MAPLE_LOG, + STRIPPED_MAPLE_WOOD, + MAPLE_PLANKS, + MAPLE_STAIRS, + MAPLE_SLAB, + MAPLE_FENCE, + MAPLE_FENCE_GATE, + MAPLE_DOOR, + MAPLE_TRAPDOOR, + MAPLE_PRESSURE_PLATE, + MAPLE_BUTTON)); + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(SAKURA_LOG, MAPLE_LOG); + e.addAfter(Blocks.GRASS_BLOCK, VERMILION_CARPETED_GRASS_BLOCK, FULVOUS_CARPETED_GRASS_BLOCK, MIKADO_CARPETED_GRASS_BLOCK); + e.addAfter(COTTON_SAKURA_BLOSSOMS, SAP_MAPLE_LEAVES, VERMILION_MAPLE_LEAVES, FULVOUS_MAPLE_LEAVES, MIKADO_MAPLE_LEAVES); + e.addAfter(COTTON_SAKURA_SAPLING, SAP_MAPLE_SAPLING, VERMILION_MAPLE_SAPLING, FULVOUS_MAPLE_SAPLING, MIKADO_MAPLE_SAPLING); + e.addAfter(COTTON_SAKURA_BLOSSOM_PILE, SAP_MAPLE_LEAF_PILE, VERMILION_MAPLE_LEAF_PILE, FULVOUS_MAPLE_LEAF_PILE, MIKADO_MAPLE_LEAF_PILE); + }); + + // PALM + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> { + e.addAfter(Blocks.ACACIA_BUTTON, + PALM_LOG, + PALM_WOOD, + STRIPPED_PALM_LOG, + STRIPPED_PALM_WOOD, + PALM_PLANKS, + PALM_STAIRS, + PALM_SLAB, + PALM_FENCE, + PALM_FENCE_GATE, + PALM_DOOR, + PALM_TRAPDOOR, + PALM_PRESSURE_PLATE, + PALM_BUTTON); + }); + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(Blocks.ACACIA_LOG, PALM_LOG); + e.addAfter(Blocks.ACACIA_LEAVES, PALM_LEAVES, PALM_HANGING_LEAVES); + e.addAfter(Blocks.ACACIA_SAPLING, PALM_SAPLING); + e.addAfter(ACACIA_LEAF_PILE, PALM_LEAF_PILE); + }); + + // AMARANTH + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.WARPED_BUTTON, + DARK_AMARANTH_STEM, + DARK_AMARANTH_HYPHAE, + STRIPPED_DARK_AMARANTH_STEM, + STRIPPED_DARK_AMARANTH_HYPHAE, + DARK_AMARANTH_PLANKS, + DARK_AMARANTH_STAIRS, + DARK_AMARANTH_SLAB, + DARK_AMARANTH_FENCE, + DARK_AMARANTH_FENCE_GATE, + DARK_AMARANTH_DOOR, + DARK_AMARANTH_TRAPDOOR, + DARK_AMARANTH_PRESSURE_PLATE, + DARK_AMARANTH_BUTTON)); + + ItemGroupHelper.append(ItemGroups.NATURAL, e -> { + e.addAfter(Blocks.WARPED_NYLIUM, BLACK_DYLIUM); + e.addAfter(Blocks.WARPED_STEM, DARK_AMARANTH_STEM); + e.addAfter(Blocks.WARPED_WART_BLOCK, DARK_AMARANTH_WART_BLOCK); + e.addAfter(Blocks.WARPED_FUNGUS, DARK_AMARANTH_FUNGUS); + e.addAfter(Blocks.WARPED_ROOTS, DARK_AMARANTH_ROOTS); + }); + + ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.CUT_RED_SANDSTONE_SLAB, MOAI)); + } + + public static void appendVillagerTrades() { + TradeOfferHelper.registerWanderingTraderOffers(1, factories -> { + factories.add(TradeOfferUtils.sapling(VERMILION_MAPLE_SAPLING)); + factories.add(TradeOfferUtils.sapling(FULVOUS_MAPLE_SAPLING)); + factories.add(TradeOfferUtils.sapling(MIKADO_MAPLE_SAPLING)); + factories.add(TradeOfferUtils.sapling(SAP_MAPLE_SAPLING)); + }); + TradeOfferHelper.registerWanderingTraderOffers(1, factories -> { + factories.add(TradeOfferUtils.sapling(BLUSH_SAKURA_SAPLING)); + factories.add(TradeOfferUtils.sapling(COTTON_SAKURA_SAPLING)); + }); + TradeOfferHelper.registerWanderingTraderOffers(1, factories -> factories.add(TradeOfferUtils.sapling(PALM_SAPLING))); + } +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeSaplingGenerators.java b/src/main/java/fr/hugman/promenade/block/PromenadeSaplingGenerators.java new file mode 100644 index 00000000..8ee014b4 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeSaplingGenerators.java @@ -0,0 +1,36 @@ +package fr.hugman.promenade.block; + +import fr.hugman.promenade.world.gen.feature.PromenadeConfiguredFeatureKeys; +import net.minecraft.block.SaplingGenerator; + +import java.util.Optional; + +public class PromenadeSaplingGenerators { + public static final SaplingGenerator PALM_SAPLING_GENERATOR = new SaplingGenerator("palm", Optional.empty(), Optional.of(PromenadeConfiguredFeatureKeys.PALM), Optional.empty()); + + public static final SaplingGenerator BLUSH_SAKURA_SAPLING_GENERATOR = new SaplingGenerator("sakura/blush", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.BLUSH_SAKURA), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_BLUSH_SAKURA), + Optional.of(PromenadeConfiguredFeatureKeys.BLUSH_SAKURA_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_BLUSH_SAKURA_BEES) + ); + public static final SaplingGenerator COTTON_SAKURA_SAPLING_GENERATOR = new SaplingGenerator("sakura/cotton", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.COTTON_SAKURA), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_COTTON_SAKURA), + Optional.of(PromenadeConfiguredFeatureKeys.COTTON_SAKURA_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_COTTON_SAKURA_BEES) + ); + + public static final SaplingGenerator SAP_MAPLE_SAPLING_GENERATOR = new SaplingGenerator("maple/sap", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.SAP_MAPLE), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_SAP_MAPLE), + Optional.of(PromenadeConfiguredFeatureKeys.SAP_MAPLE_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_SAP_MAPLE_BEES) + ); + public static final SaplingGenerator VERMILION_MAPLE_SAPLING_GENERATOR = new SaplingGenerator("maple/vermilion", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.VERMILION_MAPLE), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_VERMILION_MAPLE), + Optional.of(PromenadeConfiguredFeatureKeys.VERMILION_MAPLE_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_VERMILION_MAPLE_BEES) + ); + public static final SaplingGenerator FULVOUS_MAPLE_SAPLING_GENERATOR = new SaplingGenerator("maple/fulvous", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.FULVOUS_MAPLE), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_FULVOUS_MAPLE), + Optional.of(PromenadeConfiguredFeatureKeys.FULVOUS_MAPLE_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_FULVOUS_MAPLE_BEES) + ); + public static final SaplingGenerator MIKADO_MAPLE_SAPLING_GENERATOR = new SaplingGenerator("maple/vermilion", 0.1F, Optional.empty(), Optional.empty(), + Optional.of(PromenadeConfiguredFeatureKeys.MIKADO_MAPLE), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_MIKADO_MAPLE), + Optional.of(PromenadeConfiguredFeatureKeys.MIKADO_MAPLE_BEES), Optional.of(PromenadeConfiguredFeatureKeys.FANCY_MIKADO_MAPLE_BEES) + ); +} diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeWoodTypes.java b/src/main/java/fr/hugman/promenade/block/PromenadeWoodTypes.java new file mode 100644 index 00000000..7b6ceffe --- /dev/null +++ b/src/main/java/fr/hugman/promenade/block/PromenadeWoodTypes.java @@ -0,0 +1,12 @@ +package fr.hugman.promenade.block; + +import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeBuilder; +import net.minecraft.block.WoodType; + +public class PromenadeWoodTypes { + public static final WoodType SAKURA = WoodTypeBuilder.copyOf(WoodType.CHERRY).register(Promenade.id("sakura"), PromenadeBlockSetTypes.SAKURA); + public static final WoodType MAPLE = WoodTypeBuilder.copyOf(WoodType.OAK).register(Promenade.id("maple"), PromenadeBlockSetTypes.MAPLE); + public static final WoodType PALM = WoodTypeBuilder.copyOf(WoodType.OAK).register(Promenade.id("palm"), PromenadeBlockSetTypes.PALM); + public static final WoodType AMARANTH = WoodTypeBuilder.copyOf(WoodType.CRIMSON).register(Promenade.id("amaranth"), PromenadeBlockSetTypes.AMARANTH); +} diff --git a/src/main/java/fr/hugman/promenade/block/SnowyLeavesBlock.java b/src/main/java/fr/hugman/promenade/block/SnowyLeavesBlock.java index 797dc798..8d83c6c5 100644 --- a/src/main/java/fr/hugman/promenade/block/SnowyLeavesBlock.java +++ b/src/main/java/fr/hugman/promenade/block/SnowyLeavesBlock.java @@ -1,5 +1,6 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.MapCodec; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.LeavesBlock; @@ -11,35 +12,42 @@ import net.minecraft.util.math.Direction; import net.minecraft.world.WorldAccess; +//TODO add Codec public class SnowyLeavesBlock extends LeavesBlock { - public static final BooleanProperty BOTTOM = Properties.BOTTOM; - - public SnowyLeavesBlock(Settings settings) { - super(settings); - this.setDefaultState(this.stateManager.getDefaultState().with(BOTTOM, false)); - } - - @Override - protected void appendProperties(StateManager.Builder builder) { - super.appendProperties(builder); - builder.add(BOTTOM); - } - - @Override - public BlockState getPlacementState(ItemPlacementContext context) { - BlockState state = super.getPlacementState(context); - if(state == null) return null; - BlockState stateBelow = context.getWorld().getBlockState(context.getBlockPos().down()); - return state.with(BOTTOM, !isSnow(stateBelow)); - } - - @Override - public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { - BlockState stateBelow = world.getBlockState(pos.down()); - return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos).with(BOTTOM, !isSnow(stateBelow)); - } - - public static boolean isSnow(BlockState state) { - return state.getBlock() instanceof SnowyLeavesBlock; - } + public static final MapCodec CODEC = createCodec(SnowyLeavesBlock::new); + public static final BooleanProperty BOTTOM = Properties.BOTTOM; + + public SnowyLeavesBlock(Settings settings) { + super(settings); + this.setDefaultState(this.stateManager.getDefaultState().with(BOTTOM, false)); + } + + @Override + public MapCodec getCodec() { + return CODEC; + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(BOTTOM); + } + + @Override + public BlockState getPlacementState(ItemPlacementContext context) { + BlockState state = super.getPlacementState(context); + if (state == null) return null; + BlockState stateBelow = context.getWorld().getBlockState(context.getBlockPos().down()); + return state.with(BOTTOM, !isSnow(stateBelow)); + } + + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + BlockState stateBelow = world.getBlockState(pos.down()); + return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos).with(BOTTOM, !isSnow(stateBelow)); + } + + public static boolean isSnow(BlockState state) { + return state.getBlock() instanceof SnowyLeavesBlock; + } } diff --git a/src/main/java/fr/hugman/promenade/block/StrippedMapleLogBlock.java b/src/main/java/fr/hugman/promenade/block/StrippedMapleLogBlock.java index ae963cc3..599cf756 100644 --- a/src/main/java/fr/hugman/promenade/block/StrippedMapleLogBlock.java +++ b/src/main/java/fr/hugman/promenade/block/StrippedMapleLogBlock.java @@ -1,7 +1,7 @@ package fr.hugman.promenade.block; -import fr.hugman.promenade.registry.content.MapleContent; -import fr.hugman.promenade.state.property.PromenadeBlockProperties; +import com.mojang.serialization.MapCodec; +import fr.hugman.promenade.item.PromenadeItems; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.PillarBlock; @@ -13,49 +13,54 @@ import net.minecraft.stat.Stats; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; -import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; +import net.minecraft.util.ItemActionResult; import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.event.GameEvent; +//TODO make generic public class StrippedMapleLogBlock extends PillarBlock { - public static final BooleanProperty DRIP = PromenadeBlockProperties.DRIP; + public static final MapCodec CODEC = createCodec(StrippedMapleLogBlock::new); + public static final BooleanProperty DRIP = PromenadeBlockProperties.DRIP; - //TODO : add dispenser behavior + //TODO : add dispenser behavior - public StrippedMapleLogBlock(Settings settings) { - super(settings); - this.setDefaultState(this.getDefaultState().with(DRIP, false)); - } + public StrippedMapleLogBlock(Settings settings) { + super(settings); + this.setDefaultState(this.getDefaultState().with(DRIP, false)); + } - @Override - protected void appendProperties(StateManager.Builder builder) { - super.appendProperties(builder); - builder.add(DRIP); - } + @Override + public MapCodec getCodec() { + return CODEC; + } - @Override - public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { - // if the player is holding a bottle, they can collect the syrup - if(state.get(DRIP)) { - ItemStack stack = player.getStackInHand(hand); - if(stack.getItem() == Items.GLASS_BOTTLE) { - stack.decrement(1); - world.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.ITEM_BOTTLE_FILL, SoundCategory.NEUTRAL, 1.0F, 1.0F); - if(stack.isEmpty()) { - player.setStackInHand(hand, new ItemStack(MapleContent.MAPLE_SYRUP_BOTTLE)); - } - else if(!player.getInventory().insertStack(new ItemStack(MapleContent.MAPLE_SYRUP_BOTTLE))) { - player.dropItem(new ItemStack(MapleContent.MAPLE_SYRUP_BOTTLE), false); - } - world.emitGameEvent(player, GameEvent.FLUID_PICKUP, pos); - player.incrementStat(Stats.USED.getOrCreateStat(stack.getItem())); - world.setBlockState(pos, state.with(DRIP, false)); - return ActionResult.success(world.isClient); - } - } - return super.onUse(state, world, pos, player, hand, hit); - } + @Override + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(DRIP); + } + + @Override + protected ItemActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { + // if the player is holding a bottle, they can collect the syrup + if (state.get(DRIP)) { + if (stack.getItem() == Items.GLASS_BOTTLE) { + stack.decrement(1); + world.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.ITEM_BOTTLE_FILL, SoundCategory.NEUTRAL, 1.0F, 1.0F); + if (stack.isEmpty()) { + player.setStackInHand(hand, new ItemStack(PromenadeItems.MAPLE_SYRUP_BOTTLE)); + } else if (!player.getInventory().insertStack(new ItemStack(PromenadeItems.MAPLE_SYRUP_BOTTLE))) { + player.dropItem(new ItemStack(PromenadeItems.MAPLE_SYRUP_BOTTLE), false); + } + world.emitGameEvent(player, GameEvent.FLUID_PICKUP, pos); + player.incrementStat(Stats.USED.getOrCreateStat(stack.getItem())); + world.setBlockState(pos, state.with(DRIP, false)); + return ItemActionResult.success(world.isClient); + } + } + return super.onUseWithItem(stack, state, world, pos, player, hand, hit); + } } diff --git a/src/main/java/fr/hugman/promenade/block/WitherRosePileBlock.java b/src/main/java/fr/hugman/promenade/block/WitherRosePileBlock.java index 702986b4..d55c9e27 100644 --- a/src/main/java/fr/hugman/promenade/block/WitherRosePileBlock.java +++ b/src/main/java/fr/hugman/promenade/block/WitherRosePileBlock.java @@ -1,5 +1,6 @@ package fr.hugman.promenade.block; +import com.mojang.serialization.MapCodec; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.block.BlockState; @@ -15,34 +16,42 @@ import net.minecraft.world.Difficulty; import net.minecraft.world.World; +//TODO add Codec public class WitherRosePileBlock extends PileBlock { - public WitherRosePileBlock(Settings builder) { - super(builder); - } + public static final MapCodec CODEC = createCodec(WitherRosePileBlock::new); - @Override - public boolean canPlantOnTop(BlockState state, BlockView world, BlockPos pos) { - return super.canPlantOnTop(state, world, pos) || state.getBlock() == Blocks.SOUL_SAND; - } + public WitherRosePileBlock(Settings builder) { + super(builder); + } - @Override - @Environment(EnvType.CLIENT) - public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random rand) { - for(int i = 0; i < 5; ++i) { - if(rand.nextBoolean()) { - world.addParticle(ParticleTypes.SMOKE, (double) pos.getX() + (double) (rand.nextInt(17) / 16), (double) pos.getY() + (0.5D - (double) rand.nextFloat()), (double) pos.getZ() + (double) (rand.nextInt(17) / 16), 0.0D, 0.0D, 0.0D); - } - } - } + @Override + protected MapCodec getCodec() { + return CODEC; + } - @Override - public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entityIn) { - if(!world.isClient && world.getDifficulty() != Difficulty.PEACEFUL) { - if(entityIn instanceof LivingEntity livingentity) { - if(!livingentity.isInvulnerableTo(world.getDamageSources().wither())) { - livingentity.addStatusEffect(new StatusEffectInstance(StatusEffects.WITHER, 40)); - } - } - } - } + @Override + public boolean canPlantOnTop(BlockState state, BlockView world, BlockPos pos) { + return super.canPlantOnTop(state, world, pos) || state.getBlock() == Blocks.SOUL_SAND; + } + + @Override + @Environment(EnvType.CLIENT) + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random rand) { + for (int i = 0; i < 5; ++i) { + if (rand.nextBoolean()) { + world.addParticle(ParticleTypes.SMOKE, (double) pos.getX() + (double) (rand.nextInt(17) / 16), (double) pos.getY() + (0.5D - (double) rand.nextFloat()), (double) pos.getZ() + (double) (rand.nextInt(17) / 16), 0.0D, 0.0D, 0.0D); + } + } + } + + @Override + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entityIn) { + if (!world.isClient && world.getDifficulty() != Difficulty.PEACEFUL) { + if (entityIn instanceof LivingEntity livingentity) { + if (!livingentity.isInvulnerableTo(world.getDamageSources().wither())) { + livingentity.addStatusEffect(new StatusEffectInstance(StatusEffects.WITHER, 40)); + } + } + } + } } diff --git a/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypeKeys.java b/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypeKeys.java new file mode 100644 index 00000000..5aeb837e --- /dev/null +++ b/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypeKeys.java @@ -0,0 +1,16 @@ +package fr.hugman.promenade.boat; + +import com.terraformersmc.terraform.boat.api.TerraformBoatType; +import com.terraformersmc.terraform.boat.api.TerraformBoatTypeRegistry; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.RegistryKey; + +public class PromenadeBoatTypeKeys { + public static final RegistryKey SAKURA = of("sakura"); + public static final RegistryKey MAPLE = of("maple"); + public static final RegistryKey PALM = of("palm"); + + private static RegistryKey of(String path) { + return TerraformBoatTypeRegistry.createKey(Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypes.java b/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypes.java new file mode 100644 index 00000000..2795492b --- /dev/null +++ b/src/main/java/fr/hugman/promenade/boat/PromenadeBoatTypes.java @@ -0,0 +1,39 @@ +package fr.hugman.promenade.boat; + +import com.terraformersmc.terraform.boat.api.TerraformBoatType; +import com.terraformersmc.terraform.boat.api.TerraformBoatTypeRegistry; +import fr.hugman.promenade.Promenade; +import fr.hugman.promenade.block.PromenadeBlocks; +import fr.hugman.promenade.item.PromenadeItems; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; + +public class PromenadeBoatTypes { + public static final TerraformBoatType SAKURA = register(PromenadeBoatTypeKeys.SAKURA, new TerraformBoatType.Builder() + .item(PromenadeItems.SAKURA_BOAT) + .chestItem(PromenadeItems.SAKURA_CHEST_BOAT) + .planks(PromenadeBlocks.SAKURA_PLANKS.asItem()) + .build()); + public static final TerraformBoatType MAPLE = register(PromenadeBoatTypeKeys.MAPLE, new TerraformBoatType.Builder() + .item(PromenadeItems.MAPLE_BOAT) + .chestItem(PromenadeItems.MAPLE_CHEST_BOAT) + .planks(PromenadeBlocks.MAPLE_PLANKS.asItem()) + .build()); + public static final TerraformBoatType PALM = register(PromenadeBoatTypeKeys.PALM, new TerraformBoatType.Builder() + .item(PromenadeItems.PALM_BOAT) + .chestItem(PromenadeItems.PALM_CHEST_BOAT) + .planks(PromenadeBlocks.PALM_PLANKS.asItem()) + .build()); + + private static O register(RegistryKey key, O boatType) { + return Registry.register(TerraformBoatTypeRegistry.INSTANCE, key, boatType); + } + + /** + * @deprecated Use {@link #register(RegistryKey, TerraformBoatType)} instead + */ + @Deprecated + private static O register(String path, O boatType) { + return Registry.register(TerraformBoatTypeRegistry.INSTANCE, Promenade.id(path), boatType); + } +} diff --git a/src/main/java/fr/hugman/promenade/client/PromenadeEntityModelLayers.java b/src/main/java/fr/hugman/promenade/client/PromenadeEntityModelLayers.java deleted file mode 100644 index 064181e2..00000000 --- a/src/main/java/fr/hugman/promenade/client/PromenadeEntityModelLayers.java +++ /dev/null @@ -1,59 +0,0 @@ -package fr.hugman.promenade.client; - -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.client.render.entity.model.CapybaraModel; -import fr.hugman.promenade.client.render.entity.model.DuckModel; -import fr.hugman.promenade.client.render.entity.model.SunkenSkeletonModel; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; -import net.minecraft.client.model.Dilation; -import net.minecraft.client.model.TexturedModelData; -import net.minecraft.client.render.entity.model.BipedEntityModel; -import net.minecraft.client.render.entity.model.CreeperEntityModel; -import net.minecraft.client.render.entity.model.EntityModelLayer; - -@Environment(EnvType.CLIENT) -public class PromenadeEntityModelLayers { - public static final EntityModelLayer CAPYBARA = createModelLayer("capybara"); - - public static final EntityModelLayer DUCK = createModelLayer("duck"); - - public static final EntityModelLayer LUSH_CREEPER = createModelLayer("lush_creeper"); - public static final EntityModelLayer LUSH_CREEPER_OUTER = createModelLayer("lush_creeper", "outer"); - - public static final EntityModelLayer SUNKEN_SKELETON = createModelLayer("sunken_skeleton"); - public static final EntityModelLayer SUNKEN_SKELETON_INNER_ARMOR = createModelLayerInnerArmor("sunken_skeleton"); - public static final EntityModelLayer SUNKEN_SKELETON_OUTER_ARMOR = createModelLayerOuterArmor("sunken_skeleton"); - - private static final Dilation ARMOR_DILATION = new Dilation(1.0F); - private static final Dilation HAT_DILATION = new Dilation(0.5F); - private static final TexturedModelData INNER_ARMOR_MODEL_DATA = TexturedModelData.of(BipedEntityModel.getModelData(HAT_DILATION, 0.0F), 64, 32); - private static final TexturedModelData OUTER_ARMOR_MODEL_DATA = TexturedModelData.of(BipedEntityModel.getModelData(ARMOR_DILATION, 0.0F), 64, 32); - - public static void init() { - EntityModelLayerRegistry.registerModelLayer(CAPYBARA, CapybaraModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(DUCK, DuckModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(LUSH_CREEPER, () -> CreeperEntityModel.getTexturedModelData(Dilation.NONE)); - EntityModelLayerRegistry.registerModelLayer(LUSH_CREEPER_OUTER, () -> CreeperEntityModel.getTexturedModelData(new Dilation(0.25f))); - EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON, SunkenSkeletonModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON_INNER_ARMOR, () -> INNER_ARMOR_MODEL_DATA); - EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON_OUTER_ARMOR, () -> OUTER_ARMOR_MODEL_DATA); - } - - private static EntityModelLayer createModelLayer(String name) { - return new EntityModelLayer(Promenade.id(name), "main"); - } - - private static EntityModelLayer createModelLayer(String name, String layer) { - return new EntityModelLayer(Promenade.id(name), layer); - } - - private static EntityModelLayer createModelLayerInnerArmor(String name) { - return createModelLayer(name, "inner_armor"); - } - - private static EntityModelLayer createModelLayerOuterArmor(String name) { - return createModelLayer(name, "outer_armor"); - } -} diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraEyesRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraEyesRenderer.java deleted file mode 100644 index 731399ca..00000000 --- a/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraEyesRenderer.java +++ /dev/null @@ -1,39 +0,0 @@ -package fr.hugman.promenade.client.render.entity; - -import fr.hugman.promenade.client.render.entity.model.CapybaraModel; -import fr.hugman.promenade.entity.CapybaraEntity; -import fr.hugman.promenade.entity.CapybaraVariant; -import fr.hugman.promenade.registry.PromenadeRegistries; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.model.Model; -import net.minecraft.client.render.OverlayTexture; -import net.minecraft.client.render.RenderLayer; -import net.minecraft.client.render.VertexConsumer; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.entity.feature.FeatureRenderer; -import net.minecraft.client.render.entity.feature.FeatureRendererContext; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.Identifier; - -@Environment(EnvType.CLIENT) -public class CapybaraEyesRenderer extends FeatureRenderer> { - public CapybaraEyesRenderer(FeatureRendererContext> featureRendererContext) { - super(featureRendererContext); - } - - @Override - public void render(MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, E capybara, float limbAngle, float limbDistance, float tickDelta, float animationProgress, float headYaw, float headPitch) { - VertexConsumer vertexConsumer = vertexConsumers.getBuffer(RenderLayer.getEntityCutoutNoCull(eyeTexture(capybara))); - ((Model) this.getContextModel()).render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1.0f, 1.0f, 1.0f, 1.0f); - } - - public Identifier eyeTexture(CapybaraEntity capybara) { - CapybaraVariant variant = capybara.getVariant(); - Identifier variantId = PromenadeRegistries.CAPYBARA_VARIANT.getId(variant); - if(variantId == null) { - throw new IllegalStateException("Capybara variant is not registered: " + variant); - } - return Identifier.of(variantId.getNamespace(), "textures/entity/capybara/" + variantId.getPath() + "/eyes/" + (capybara.hasLargeEyes() ? "large" : "regular") + "/" + (capybara.hasClosedEyes() ? "closed" : "open") + ".png"); - } -} diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraRenderer.java index eb6f9234..20514fd4 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraRenderer.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/CapybaraRenderer.java @@ -1,9 +1,8 @@ package fr.hugman.promenade.client.render.entity; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; import fr.hugman.promenade.client.render.entity.model.CapybaraModel; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; import fr.hugman.promenade.entity.CapybaraEntity; -import fr.hugman.promenade.registry.PromenadeRegistries; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.render.entity.EntityRendererFactory; @@ -12,17 +11,12 @@ @Environment(EnvType.CLIENT) public class CapybaraRenderer extends MobEntityRenderer> { - public CapybaraRenderer(EntityRendererFactory.Context context) { - super(context, new CapybaraModel<>(context.getPart(PromenadeEntityModelLayers.CAPYBARA)), 0.5f); - this.addFeature(new CapybaraEyesRenderer<>(this)); - } + public CapybaraRenderer(EntityRendererFactory.Context context) { + super(context, new CapybaraModel<>(context.getPart(PromenadeEntityModelLayers.CAPYBARA)), 0.5f); + } - @Override - public Identifier getTexture(CapybaraEntity entity) { - Identifier variantId = PromenadeRegistries.CAPYBARA_VARIANT.getId(entity.getVariant()); - if(variantId == null) { - throw new IllegalStateException("Capybara variant is not registered: " + this); - } - return Identifier.of(variantId.getNamespace(), "textures/entity/capybara/" + variantId.getPath() + ".png"); - } + @Override + public Identifier getTexture(CapybaraEntity entity) { + return entity.getBaseTexture(); + } } diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/DuckRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/DuckRenderer.java index 175447d6..bc4a1813 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/DuckRenderer.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/DuckRenderer.java @@ -1,8 +1,8 @@ package fr.hugman.promenade.client.render.entity; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; import fr.hugman.promenade.client.render.entity.model.DuckModel; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; import fr.hugman.promenade.entity.DuckEntity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -13,21 +13,21 @@ @Environment(EnvType.CLIENT) public class DuckRenderer extends MobEntityRenderer> { - private static final Identifier DUCKLING_TEXTURE = Promenade.id("textures/entity/duck/duckling.png"); + private static final Identifier DUCKLING_TEXTURE = Promenade.id("textures/entity/duck/duckling.png"); - public DuckRenderer(EntityRendererFactory.Context context) { - super(context, new DuckModel<>(context.getPart(PromenadeEntityModelLayers.DUCK)), 0.3F); - } + public DuckRenderer(EntityRendererFactory.Context context) { + super(context, new DuckModel<>(context.getPart(PromenadeEntityModelLayers.DUCK)), 0.3F); + } - @Override - public Identifier getTexture(DuckEntity entity) { - if(entity.isBaby()) return DUCKLING_TEXTURE; - return Promenade.id("textures/entity/duck/" + entity.getVariant().getName() + ".png"); - } + @Override + public Identifier getTexture(DuckEntity entity) { + if (entity.isBaby()) return DUCKLING_TEXTURE; + return Promenade.id("textures/entity/duck/" + entity.getVariant().getName() + ".png"); + } - protected float getAnimationProgress(DuckEntity entity, float tickDelta) { - float f = MathHelper.lerp(tickDelta, entity.oFlap, entity.wingRotation); - float f1 = MathHelper.lerp(tickDelta, entity.oFlapSpeed, entity.destPos); - return (MathHelper.sin(f) + 1.0F) * f1; - } + protected float getAnimationProgress(DuckEntity entity, float tickDelta) { + float f = MathHelper.lerp(tickDelta, entity.oFlap, entity.wingRotation); + float f1 = MathHelper.lerp(tickDelta, entity.oFlapSpeed, entity.destPos); + return (MathHelper.sin(f) + 1.0F) * f1; + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperOverlayRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperOverlayRenderer.java index 6d71e8ba..687842c4 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperOverlayRenderer.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperOverlayRenderer.java @@ -1,7 +1,7 @@ package fr.hugman.promenade.client.render.entity; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.render.VertexConsumerProvider; @@ -15,17 +15,17 @@ @Environment(EnvType.CLIENT) public class LushCreeperOverlayRenderer extends FeatureRenderer> { - private static final Identifier TEXTURE = Promenade.id("textures/entity/lush_creeper/overlay.png"); - private final CreeperEntityModel model; + private static final Identifier TEXTURE = Promenade.id("textures/entity/lush_creeper/overlay.png"); + private final CreeperEntityModel model; - public LushCreeperOverlayRenderer(FeatureRendererContext> context, EntityModelLoader loader) { - super(context); - this.model = new CreeperEntityModel<>(loader.getModelPart(PromenadeEntityModelLayers.LUSH_CREEPER_OUTER)); - } + public LushCreeperOverlayRenderer(FeatureRendererContext> context, EntityModelLoader loader) { + super(context); + this.model = new CreeperEntityModel<>(loader.getModelPart(PromenadeEntityModelLayers.LUSH_CREEPER_OUTER)); + } - @Override - public void render(MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int i, T creeperEntity, float f, float g, float h, float j, float k, float l) { - LushCreeperOverlayRenderer.render(this.getContextModel(), this.model, TEXTURE, matrixStack, vertexConsumerProvider, i, creeperEntity, f, g, j, k, l, h, 1.0f, 1.0f, 1.0f); - } + @Override + public void render(MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int i, T creeperEntity, float f, float g, float h, float j, float k, float l) { + LushCreeperOverlayRenderer.render(this.getContextModel(), this.model, TEXTURE, matrixStack, vertexConsumerProvider, i, creeperEntity, f, g, j, k, l, h, 1.0f, 1.0f, 1.0f); + } } diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperRenderer.java index 9d756c3a..d17c3ab5 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperRenderer.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/LushCreeperRenderer.java @@ -1,7 +1,7 @@ package fr.hugman.promenade.client.render.entity; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; import fr.hugman.promenade.entity.LushCreeperEntity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -14,33 +14,33 @@ @Environment(EnvType.CLIENT) public class LushCreeperRenderer extends MobEntityRenderer> { - private static final Identifier TEXTURE = Promenade.id("textures/entity/lush_creeper/base.png"); + private static final Identifier TEXTURE = Promenade.id("textures/entity/lush_creeper/base.png"); - public LushCreeperRenderer(EntityRendererFactory.Context context) { - super(context, new CreeperEntityModel<>(context.getPart(PromenadeEntityModelLayers.LUSH_CREEPER)), 0.5F); - this.addFeature(new LushCreeperOverlayRenderer<>(this, context.getModelLoader())); - } + public LushCreeperRenderer(EntityRendererFactory.Context context) { + super(context, new CreeperEntityModel<>(context.getPart(PromenadeEntityModelLayers.LUSH_CREEPER)), 0.5F); + this.addFeature(new LushCreeperOverlayRenderer<>(this, context.getModelLoader())); + } - @Override - protected void scale(LushCreeperEntity creeperEntity, MatrixStack matrixStack, float f) { - float g = creeperEntity.getClientFuseTime(f); - float h = 1.0F + MathHelper.sin(g * 100.0F) * g * 0.01F; - g = MathHelper.clamp(g, 0.0F, 1.0F); - g *= g; - g *= g; - float i = (1.0F + g * 0.4F) * h; - float j = (1.0F + g * 0.1F) / h; - matrixStack.scale(i, j, i); - } + @Override + protected void scale(LushCreeperEntity creeperEntity, MatrixStack matrixStack, float f) { + float g = creeperEntity.getClientFuseTime(f); + float h = 1.0F + MathHelper.sin(g * 100.0F) * g * 0.01F; + g = MathHelper.clamp(g, 0.0F, 1.0F); + g *= g; + g *= g; + float i = (1.0F + g * 0.4F) * h; + float j = (1.0F + g * 0.1F) / h; + matrixStack.scale(i, j, i); + } - @Override - protected float getAnimationCounter(LushCreeperEntity creeperEntity, float f) { - float g = creeperEntity.getClientFuseTime(f); - return (int) (g * 10.0F) % 2 == 0 ? 0.0F : MathHelper.clamp(g, 0.5F, 1.0F); - } + @Override + protected float getAnimationCounter(LushCreeperEntity creeperEntity, float f) { + float g = creeperEntity.getClientFuseTime(f); + return (int) (g * 10.0F) % 2 == 0 ? 0.0F : MathHelper.clamp(g, 0.5F, 1.0F); + } - @Override - public Identifier getTexture(LushCreeperEntity entity) { - return TEXTURE; - } + @Override + public Identifier getTexture(LushCreeperEntity entity) { + return TEXTURE; + } } diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/SunkenSkeletonRenderer.java b/src/main/java/fr/hugman/promenade/client/render/entity/SunkenSkeletonRenderer.java index 3c475b49..3dccf109 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/SunkenSkeletonRenderer.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/SunkenSkeletonRenderer.java @@ -1,7 +1,7 @@ package fr.hugman.promenade.client.render.entity; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.client.PromenadeEntityModelLayers; +import fr.hugman.promenade.client.render.entity.model.PromenadeEntityModelLayers; import fr.hugman.promenade.client.render.entity.model.SunkenSkeletonModel; import fr.hugman.promenade.entity.SunkenSkeletonEntity; import net.fabricmc.api.EnvType; @@ -18,54 +18,52 @@ @Environment(EnvType.CLIENT) public class SunkenSkeletonRenderer extends BipedEntityRenderer { - public SunkenSkeletonRenderer(EntityRendererFactory.Context context) { - this(context, PromenadeEntityModelLayers.SUNKEN_SKELETON, PromenadeEntityModelLayers.SUNKEN_SKELETON_INNER_ARMOR, PromenadeEntityModelLayers.SUNKEN_SKELETON_OUTER_ARMOR); - } + public SunkenSkeletonRenderer(EntityRendererFactory.Context context) { + this(context, PromenadeEntityModelLayers.SUNKEN_SKELETON, PromenadeEntityModelLayers.SUNKEN_SKELETON_INNER_ARMOR, PromenadeEntityModelLayers.SUNKEN_SKELETON_OUTER_ARMOR); + } - public SunkenSkeletonRenderer(EntityRendererFactory.Context ctx, EntityModelLayer layer, EntityModelLayer legArmorLayer, EntityModelLayer bodyArmorLayer) { - super(ctx, new SunkenSkeletonModel(ctx.getPart(layer)), 0.5F); - this.addFeature(new ArmorFeatureRenderer<>(this, new SunkenSkeletonModel(ctx.getPart(legArmorLayer)), new SunkenSkeletonModel(ctx.getPart(bodyArmorLayer)), ctx.getModelManager())); - } + public SunkenSkeletonRenderer(EntityRendererFactory.Context ctx, EntityModelLayer layer, EntityModelLayer legArmorLayer, EntityModelLayer bodyArmorLayer) { + super(ctx, new SunkenSkeletonModel(ctx.getPart(layer)), 0.5F); + this.addFeature(new ArmorFeatureRenderer<>(this, new SunkenSkeletonModel(ctx.getPart(legArmorLayer)), new SunkenSkeletonModel(ctx.getPart(bodyArmorLayer)), ctx.getModelManager())); + } - @Override - protected void setupTransforms(SunkenSkeletonEntity sunkenSkeletonEntity, MatrixStack matrixStack, float f, float g, float h) { - float i = sunkenSkeletonEntity.getLeaningPitch(h); - float n; - float k; - if(sunkenSkeletonEntity.isFallFlying()) { - super.setupTransforms(sunkenSkeletonEntity, matrixStack, f, g, h); - n = (float) sunkenSkeletonEntity.getRoll() + h; - k = MathHelper.clamp(n * n / 100.0F, 0.0F, 1.0F); - if(!sunkenSkeletonEntity.isUsingRiptide()) { - matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(k * (-90.0F - sunkenSkeletonEntity.getPitch()))); - } + @Override + protected void setupTransforms(SunkenSkeletonEntity sunkenSkeletonEntity, MatrixStack matrixStack, float animationProgress, float bodyYaw, float tickDelta, float scale) { + float i = sunkenSkeletonEntity.getLeaningPitch(tickDelta); + float n; + float k; + if (sunkenSkeletonEntity.isFallFlying()) { + super.setupTransforms(sunkenSkeletonEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale); + n = (float) sunkenSkeletonEntity.getFallFlyingTicks() + tickDelta; + k = MathHelper.clamp(n * n / 100.0F, 0.0F, 1.0F); + if (!sunkenSkeletonEntity.isUsingRiptide()) { + matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(k * (-90.0F - sunkenSkeletonEntity.getPitch()))); + } - Vec3d vec3d = sunkenSkeletonEntity.getRotationVec(h); - Vec3d vec3d2 = sunkenSkeletonEntity.getVelocity(); - double d = vec3d2.horizontalLengthSquared(); - double e = vec3d.horizontalLengthSquared(); - if(d > 0.0D && e > 0.0D) { - double l = (vec3d2.x * vec3d.x + vec3d2.z * vec3d.z) / Math.sqrt(d * e); - double m = vec3d2.x * vec3d.z - vec3d2.z * vec3d.x; - matrixStack.multiply(RotationAxis.POSITIVE_Y.rotation((float) (Math.signum(m) * Math.acos(l)))); - } - } - else if(i > 0.0F) { - super.setupTransforms(sunkenSkeletonEntity, matrixStack, f, g, h); - n = sunkenSkeletonEntity.isTouchingWater() ? -90.0F - sunkenSkeletonEntity.getPitch() : -90.0F; - k = MathHelper.lerp(i, 0.0F, n); - matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(k)); - if(sunkenSkeletonEntity.isInSwimmingPose()) { - matrixStack.translate(0.0D, -1.0D, 0.30000001192092896D); - } - } - else { - super.setupTransforms(sunkenSkeletonEntity, matrixStack, f, g, h); - } - } + Vec3d vec3d = sunkenSkeletonEntity.getRotationVec(tickDelta); + Vec3d vec3d2 = sunkenSkeletonEntity.getVelocity(); + double d = vec3d2.horizontalLengthSquared(); + double e = vec3d.horizontalLengthSquared(); + if (d > 0.0D && e > 0.0D) { + double l = (vec3d2.x * vec3d.x + vec3d2.z * vec3d.z) / Math.sqrt(d * e); + double m = vec3d2.x * vec3d.z - vec3d2.z * vec3d.x; + matrixStack.multiply(RotationAxis.POSITIVE_Y.rotation((float) (Math.signum(m) * Math.acos(l)))); + } + } else if (i > 0.0F) { + super.setupTransforms(sunkenSkeletonEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale); + n = sunkenSkeletonEntity.isTouchingWater() ? -90.0F - sunkenSkeletonEntity.getPitch() : -90.0F; + k = MathHelper.lerp(i, 0.0F, n); + matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(k)); + if (sunkenSkeletonEntity.isInSwimmingPose()) { + matrixStack.translate(0.0D, -1.0D, 0.30000001192092896D); + } + } else { + super.setupTransforms(sunkenSkeletonEntity, matrixStack, animationProgress, bodyYaw, tickDelta, scale); + } + } - @Override - public Identifier getTexture(SunkenSkeletonEntity entity) { - return Promenade.id("textures/entity/sunken_skeleton/" + entity.getVariant().getName() + ".png"); - } + @Override + public Identifier getTexture(SunkenSkeletonEntity entity) { + return Promenade.id("textures/entity/sunken_skeleton/" + entity.getVariant().getName() + ".png"); + } } diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/animation/CapybaraAnimations.java b/src/main/java/fr/hugman/promenade/client/render/entity/animation/CapybaraAnimations.java index a0c67e85..ba4fba0b 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/animation/CapybaraAnimations.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/animation/CapybaraAnimations.java @@ -10,379 +10,379 @@ @Environment(EnvType.CLIENT) public class CapybaraAnimations { - public static final Animation EAR_WIGGLE = Animation.Builder.create(0.2f) - .addBoneAnimation(EntityModelPartNames.RIGHT_EAR, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.1f, AnimationHelper.createRotationalVector(-13.5f, -15f, 13f), Transformation.Interpolations.CUBIC), - new Keyframe(0.2f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_EAR, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.1f, AnimationHelper.createRotationalVector(-13.5f, 15f, -13f), Transformation.Interpolations.CUBIC), - new Keyframe(0.2f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .build(); + public static final Animation EAR_WIGGLE = Animation.Builder.create(0.2f) + .addBoneAnimation(EntityModelPartNames.RIGHT_EAR, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.1f, AnimationHelper.createRotationalVector(-13.5f, -15f, 13f), Transformation.Interpolations.CUBIC), + new Keyframe(0.2f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_EAR, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.1f, AnimationHelper.createRotationalVector(-13.5f, 15f, -13f), Transformation.Interpolations.CUBIC), + new Keyframe(0.2f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .build(); - public static final Animation WALKING = Animation.Builder.create(1.5f).looping() - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 2.5f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(0f, 0f, -2.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, 2.5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(0f, 0f, 5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.75f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); + public static final Animation WALKING = Animation.Builder.create(1.5f).looping() + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 2.5f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(0f, 0f, -2.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, 2.5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(0f, 0f, 5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.75f, AnimationHelper.createRotationalVector(-27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); - public static final Animation FALL_TO_SLEEP = Animation.Builder.create(1.9167667f) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5834333f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, -10f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5834333f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(1.375f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(1.4583433f, AnimationHelper.createScalingVector(0.8f, 1.1f, 1.1f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5834333f, AnimationHelper.createScalingVector(1.2f, 0.9f, 0.9f), Transformation.Interpolations.CUBIC), - new Keyframe(1.6766667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.3433333f, AnimationHelper.createRotationalVector(0f, 0f, -60f), Transformation.Interpolations.CUBIC), - new Keyframe(1.625f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7916767f, AnimationHelper.createRotationalVector(-7.387326251354352f, -1.2987564674722307f, 7.583846147258555f), Transformation.Interpolations.LINEAR), - new Keyframe(1.9167667f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0.8343334f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(0.9583434f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(1.0834333f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(1.1676667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 40f), Transformation.Interpolations.CUBIC), - new Keyframe(1.1676667f, AnimationHelper.createRotationalVector(-0.8329438344855409f, -2.0100084957616673f, -31.292852606551207f), Transformation.Interpolations.CUBIC), - new Keyframe(1.625f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0.8343334f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(0.9583434f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(1.0834333f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), - new Keyframe(1.1676667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.3433333f, AnimationHelper.createRotationalVector(0f, 0f, -77.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.625f, AnimationHelper.createRotationalVector(22.480717026093316f, 0.9564494572955482f, 20.19008655601783f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7916767f, AnimationHelper.createRotationalVector(22.018164129528486f, 4.751129561951075f, 10.924817551732758f), Transformation.Interpolations.LINEAR), - new Keyframe(1.9167667f, AnimationHelper.createRotationalVector(22.480717026093316f, 0.9564494572955482f, 20.19008655601783f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 42.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.1676667f, AnimationHelper.createRotationalVector(5.989807308760465f, 9.302389729048627f, -28.590097057579058f), Transformation.Interpolations.CUBIC), - new Keyframe(1.625f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7083433f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(4.990462591650612f, 4.99522900802458f, -20.218651201461853f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createRotationalVector(0f, 0f, 27.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7083433f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))).build(); + public static final Animation FALL_TO_SLEEP = Animation.Builder.create(1.9167667f) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5834333f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, -10f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5834333f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(1.375f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(1.4583433f, AnimationHelper.createScalingVector(0.8f, 1.1f, 1.1f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5834333f, AnimationHelper.createScalingVector(1.2f, 0.9f, 0.9f), Transformation.Interpolations.CUBIC), + new Keyframe(1.6766667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.3433333f, AnimationHelper.createRotationalVector(0f, 0f, -60f), Transformation.Interpolations.CUBIC), + new Keyframe(1.625f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7916767f, AnimationHelper.createRotationalVector(-7.387326251354352f, -1.2987564674722307f, 7.583846147258555f), Transformation.Interpolations.LINEAR), + new Keyframe(1.9167667f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0.8343334f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(0.9583434f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(1.0834333f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(1.1676667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 40f), Transformation.Interpolations.CUBIC), + new Keyframe(1.1676667f, AnimationHelper.createRotationalVector(-0.8329438344855409f, -2.0100084957616673f, -31.292852606551207f), Transformation.Interpolations.CUBIC), + new Keyframe(1.625f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0.8343334f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(0.9583434f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(1.0834333f, AnimationHelper.createScalingVector(1f, 0.8f, 1f), Transformation.Interpolations.LINEAR), + new Keyframe(1.1676667f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.LINEAR))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.3433333f, AnimationHelper.createRotationalVector(0f, 0f, -77.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.625f, AnimationHelper.createRotationalVector(22.480717026093316f, 0.9564494572955482f, 20.19008655601783f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7916767f, AnimationHelper.createRotationalVector(22.018164129528486f, 4.751129561951075f, 10.924817551732758f), Transformation.Interpolations.LINEAR), + new Keyframe(1.9167667f, AnimationHelper.createRotationalVector(22.480717026093316f, 0.9564494572955482f, 20.19008655601783f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(0f, 0f, 42.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.1676667f, AnimationHelper.createRotationalVector(5.989807308760465f, 9.302389729048627f, -28.590097057579058f), Transformation.Interpolations.CUBIC), + new Keyframe(1.625f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7083433f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.8343334f, AnimationHelper.createRotationalVector(4.990462591650612f, 4.99522900802458f, -20.218651201461853f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createRotationalVector(0f, 0f, 27.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7083433f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))).build(); - public static final Animation SLEEP = Animation.Builder.create(4.5f).looping() - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.5416767f, AnimationHelper.createRotationalVector(-5f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(2.5416765f, AnimationHelper.createRotationalVector(-5f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(2.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.5f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))).build(); + public static final Animation SLEEP = Animation.Builder.create(4.5f).looping() + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.5416767f, AnimationHelper.createRotationalVector(-5f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(2.5416765f, AnimationHelper.createRotationalVector(-5f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(2.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.5f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))).build(); - public static final Animation FART = Animation.Builder.create(3.8343335f) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.08343333f, AnimationHelper.createTranslationalVector(0f, 5f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(0.08343333f, AnimationHelper.createScalingVector(1f, 1.2f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.0416765f, AnimationHelper.createTranslationalVector(0.63f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.375f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(-7.5f, 0f, -17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.5f, 0f, -17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.1676665f, AnimationHelper.createRotationalVector(0.2727354654598457f, 0.4131058282196136f, -6.089277436131233f), Transformation.Interpolations.CUBIC), - new Keyframe(2.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.375f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.7083435f, AnimationHelper.createTranslationalVector(-0.12f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.0416765f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.375f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.7916765f, AnimationHelper.createRotationalVector(-5.111516362223829f, -0.446597721821945f, 6.992121938251076f), Transformation.Interpolations.CUBIC), - new Keyframe(3.0416765f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.2083435f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.5f, AnimationHelper.createTranslationalVector(0.63f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.8343335f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.625f, AnimationHelper.createRotationalVector(0.2727354654598457f, 0.4131058282196136f, -6.089277436131233f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(2.8343335f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), - new Keyframe(3.1676665f, AnimationHelper.createTranslationalVector(-0.12f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(2.8343335f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), - new Keyframe(3.25f, AnimationHelper.createRotationalVector(-5.111516362223829f, -0.446597721821945f, 6.992121938251076f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(10f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(10f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.1676665f, AnimationHelper.createRotationalVector(2.2307925039942713f, -0.21576122102964312f, -7.927957140726775f), Transformation.Interpolations.CUBIC), - new Keyframe(2.4167665f, AnimationHelper.createRotationalVector(4.294867444937954f, 2.2606154253199566f, -6.0592613319625706f), Transformation.Interpolations.CUBIC), - new Keyframe(2.625f, AnimationHelper.createRotationalVector(1.7645231481382142f, 1.1309400733304573f, 0.14523321293696423f), Transformation.Interpolations.CUBIC), - new Keyframe(2.875f, AnimationHelper.createRotationalVector(6.178001369910271f, -0.19388043339675276f, 5.467675351455965f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(0f, -1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createTranslationalVector(0f, -1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9167665f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(2.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(2.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.0834335f, AnimationHelper.createRotationalVector(49.89121214627585f, -3.3756177280956763f, 3.6906601938271706f), Transformation.Interpolations.CUBIC), - new Keyframe(2.375f, AnimationHelper.createRotationalVector(62.26769532549997f, 10.515127085314361f, 31.44641266227063f), Transformation.Interpolations.CUBIC), - new Keyframe(2.7083435f, AnimationHelper.createRotationalVector(62.54663949450434f, -8.432200276274816f, -49.78158893940414f), Transformation.Interpolations.CUBIC), - new Keyframe(3f, AnimationHelper.createRotationalVector(58.19080366360111f, 20.578159182988493f, 18.790040178069503f), Transformation.Interpolations.CUBIC), - new Keyframe(3.2083435f, AnimationHelper.createRotationalVector(34.363668641116874f, 11.307647518170633f, 12.797722379234328f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5f, AnimationHelper.createRotationalVector(-7.379261962134369f, 2.46597558997084f, 2.922121806087871f), Transformation.Interpolations.CUBIC), - new Keyframe(3.7916765f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); + public static final Animation FART = Animation.Builder.create(3.8343335f) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.08343333f, AnimationHelper.createTranslationalVector(0f, 5f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(0.08343333f, AnimationHelper.createScalingVector(1f, 1.2f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.0416765f, AnimationHelper.createTranslationalVector(0.63f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.375f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(-7.5f, 0f, -17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.5f, 0f, -17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.1676665f, AnimationHelper.createRotationalVector(0.2727354654598457f, 0.4131058282196136f, -6.089277436131233f), Transformation.Interpolations.CUBIC), + new Keyframe(2.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.375f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.7083435f, AnimationHelper.createTranslationalVector(-0.12f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.0416765f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.375f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.7916765f, AnimationHelper.createRotationalVector(-5.111516362223829f, -0.446597721821945f, 6.992121938251076f), Transformation.Interpolations.CUBIC), + new Keyframe(3.0416765f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.2083435f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.5f, AnimationHelper.createTranslationalVector(0.63f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.8343335f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(0f, 0f, -17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.625f, AnimationHelper.createRotationalVector(0.2727354654598457f, 0.4131058282196136f, -6.089277436131233f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(2.8343335f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.LINEAR), + new Keyframe(3.1676665f, AnimationHelper.createTranslationalVector(-0.12f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(2.8343335f, AnimationHelper.createRotationalVector(0f, 0f, 17.5f), Transformation.Interpolations.LINEAR), + new Keyframe(3.25f, AnimationHelper.createRotationalVector(-5.111516362223829f, -0.446597721821945f, 6.992121938251076f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(10f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(10f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.1676665f, AnimationHelper.createRotationalVector(2.2307925039942713f, -0.21576122102964312f, -7.927957140726775f), Transformation.Interpolations.CUBIC), + new Keyframe(2.4167665f, AnimationHelper.createRotationalVector(4.294867444937954f, 2.2606154253199566f, -6.0592613319625706f), Transformation.Interpolations.CUBIC), + new Keyframe(2.625f, AnimationHelper.createRotationalVector(1.7645231481382142f, 1.1309400733304573f, 0.14523321293696423f), Transformation.Interpolations.CUBIC), + new Keyframe(2.875f, AnimationHelper.createRotationalVector(6.178001369910271f, -0.19388043339675276f, 5.467675351455965f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createTranslationalVector(0f, -1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createTranslationalVector(0f, -1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9167665f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.16766666f, AnimationHelper.createRotationalVector(2.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(2.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.0834335f, AnimationHelper.createRotationalVector(49.89121214627585f, -3.3756177280956763f, 3.6906601938271706f), Transformation.Interpolations.CUBIC), + new Keyframe(2.375f, AnimationHelper.createRotationalVector(62.26769532549997f, 10.515127085314361f, 31.44641266227063f), Transformation.Interpolations.CUBIC), + new Keyframe(2.7083435f, AnimationHelper.createRotationalVector(62.54663949450434f, -8.432200276274816f, -49.78158893940414f), Transformation.Interpolations.CUBIC), + new Keyframe(3f, AnimationHelper.createRotationalVector(58.19080366360111f, 20.578159182988493f, 18.790040178069503f), Transformation.Interpolations.CUBIC), + new Keyframe(3.2083435f, AnimationHelper.createRotationalVector(34.363668641116874f, 11.307647518170633f, 12.797722379234328f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5f, AnimationHelper.createRotationalVector(-7.379261962134369f, 2.46597558997084f, 2.922121806087871f), Transformation.Interpolations.CUBIC), + new Keyframe(3.7916765f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); - public static final Animation WAKE_UP = Animation.Builder.create(5.791677f) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.125f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.7083435f, AnimationHelper.createTranslationalVector(-14f, -5f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.375f, AnimationHelper.createTranslationalVector(-9f, -3f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.75f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC), - new Keyframe(3.125f, AnimationHelper.createRotationalVector(0f, 0f, -92.5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(0f, 0f, -117.5f), Transformation.Interpolations.CUBIC), - new Keyframe(4.375f, AnimationHelper.createRotationalVector(0f, 0f, -70f), Transformation.Interpolations.CUBIC), - new Keyframe(4.75f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5f, AnimationHelper.createRotationalVector(0f, 0f, 7.5f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5f, AnimationHelper.createTranslationalVector(1f, 0.25f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.125f, AnimationHelper.createTranslationalVector(0.75f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createRotationalVector(-7.366127295935403f, -1.4184144280073452f, 6.660634475402492f), Transformation.Interpolations.CUBIC), - new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-7.408694655995223f, 1.1699920891777946f, 26.424248239231403f), Transformation.Interpolations.CUBIC), - new Keyframe(2.0416765f, AnimationHelper.createRotationalVector(-7.49745918025943f, 0.19576730469809256f, 18.98717307987583f), Transformation.Interpolations.CUBIC), - new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), - new Keyframe(3.125f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), - new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(-6.041112393472904f, 4.452922991257692f, 53.76491217464347f), Transformation.Interpolations.CUBIC), - new Keyframe(4.375f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5f, AnimationHelper.createRotationalVector(0.24117231125816033f, -0.09448572501914895f, -16.85553579291023f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(3.125f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5416765f, AnimationHelper.createTranslationalVector(-1f, -0.75f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.125f, AnimationHelper.createTranslationalVector(-0.78f, 0.42000000000000004f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.125f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5416765f, AnimationHelper.createRotationalVector(-12.279770389181849f, 12.007062843212225f, 47.98109178875055f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, - new Keyframe(3.5416765f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(3.9583435f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.583433f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.75f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.834333f, AnimationHelper.createTranslationalVector(1f, 0.25f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.958343f, AnimationHelper.createTranslationalVector(0.75f, 1f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.125f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(20.091305344004923f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createRotationalVector(-4.866127295935403f, -1.4184144280073452f, 6.660634475402492f), Transformation.Interpolations.CUBIC), - new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-7.408694655995223f, 1.1699920891777946f, 26.424248239231403f), Transformation.Interpolations.CUBIC), - new Keyframe(2.0416765f, AnimationHelper.createRotationalVector(-7.49745918025943f, 0.19576730469809256f, 18.98717307987583f), Transformation.Interpolations.CUBIC), - new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5416765f, AnimationHelper.createRotationalVector(-6.041112393472904f, 4.452922991257692f, 53.76491217464347f), Transformation.Interpolations.CUBIC), - new Keyframe(4.208343f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.834333f, AnimationHelper.createRotationalVector(0.24117231125816033f, -0.09448572501914895f, -16.85553579291023f), Transformation.Interpolations.CUBIC), - new Keyframe(5.125f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.2083435f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.625f, AnimationHelper.createTranslationalVector(-1f, -0.75f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(4.208343f, AnimationHelper.createTranslationalVector(-0.78f, 0.42000000000000004f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5.375f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createRotationalVector(7.14232996078681f, 4.599015978825719f, -8.889268973502567f), Transformation.Interpolations.CUBIC), - new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), - new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), - new Keyframe(3.2083435f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), - new Keyframe(3.625f, AnimationHelper.createRotationalVector(-12.279770389181849f, 12.007062843212225f, 47.98109178875055f), Transformation.Interpolations.CUBIC), - new Keyframe(5.375f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.SCALE, - new Keyframe(3.625f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.041677f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.583433f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(4.75f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.125f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.5416765f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.SCALE, - new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(1.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, - new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(0.9583434f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7083433f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createTranslationalVector(1.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.2916765f, AnimationHelper.createTranslationalVector(1.25f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(3.625f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC))) - .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, - new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(0.5f, AnimationHelper.createRotationalVector(0f, 0f, 20f), Transformation.Interpolations.CUBIC), - new Keyframe(0.9583434f, AnimationHelper.createRotationalVector(0f, 0f, 20f), Transformation.Interpolations.CUBIC), - new Keyframe(1.7083433f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), - new Keyframe(1.875f, AnimationHelper.createRotationalVector(0f, 0f, 57.5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.0834335f, AnimationHelper.createRotationalVector(0f, 0f, 57.5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.2916765f, AnimationHelper.createRotationalVector(17.5f, 0f, 57.5f), Transformation.Interpolations.CUBIC), - new Keyframe(3.625f, AnimationHelper.createRotationalVector(16.14973182841186f, 6.279671924441573f, 33.25231220461228f), Transformation.Interpolations.CUBIC), - new Keyframe(4f, AnimationHelper.createRotationalVector(11.23738518791506f, 12.240295486395354f, 3.4386635769687928f), Transformation.Interpolations.CUBIC), - new Keyframe(4.25f, AnimationHelper.createRotationalVector(7.106591348469683f, 14.290604655089956f, -14.422213143878762f), Transformation.Interpolations.CUBIC), - new Keyframe(4.676667f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), - new Keyframe(5f, AnimationHelper.createRotationalVector(0f, 0f, 15f), Transformation.Interpolations.CUBIC), - new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); + public static final Animation WAKE_UP = Animation.Builder.create(5.791677f) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.125f, AnimationHelper.createTranslationalVector(-12f, -5f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.7083435f, AnimationHelper.createTranslationalVector(-14f, -5f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.375f, AnimationHelper.createTranslationalVector(-9f, -3f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.75f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.ROOT, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(0f, 0f, -90f), Transformation.Interpolations.CUBIC), + new Keyframe(3.125f, AnimationHelper.createRotationalVector(0f, 0f, -92.5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(0f, 0f, -117.5f), Transformation.Interpolations.CUBIC), + new Keyframe(4.375f, AnimationHelper.createRotationalVector(0f, 0f, -70f), Transformation.Interpolations.CUBIC), + new Keyframe(4.75f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5f, AnimationHelper.createRotationalVector(0f, 0f, 7.5f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createTranslationalVector(0.75f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5f, AnimationHelper.createTranslationalVector(1f, 0.25f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.125f, AnimationHelper.createTranslationalVector(0.75f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-7.5f, 0f, 17.5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createRotationalVector(-7.366127295935403f, -1.4184144280073452f, 6.660634475402492f), Transformation.Interpolations.CUBIC), + new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-7.408694655995223f, 1.1699920891777946f, 26.424248239231403f), Transformation.Interpolations.CUBIC), + new Keyframe(2.0416765f, AnimationHelper.createRotationalVector(-7.49745918025943f, 0.19576730469809256f, 18.98717307987583f), Transformation.Interpolations.CUBIC), + new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), + new Keyframe(3.125f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), + new Keyframe(3.7083435f, AnimationHelper.createRotationalVector(-6.041112393472904f, 4.452922991257692f, 53.76491217464347f), Transformation.Interpolations.CUBIC), + new Keyframe(4.375f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5f, AnimationHelper.createRotationalVector(0.24117231125816033f, -0.09448572501914895f, -16.85553579291023f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(3.125f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5416765f, AnimationHelper.createTranslationalVector(-1f, -0.75f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.125f, AnimationHelper.createTranslationalVector(-0.78f, 0.42000000000000004f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.125f, AnimationHelper.createRotationalVector(-20f, 0f, 5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5416765f, AnimationHelper.createRotationalVector(-12.279770389181849f, 12.007062843212225f, 47.98109178875055f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_FRONT_LEG, new Transformation(Transformation.Targets.SCALE, + new Keyframe(3.5416765f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(3.9583435f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.583433f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.75f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createTranslationalVector(1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.834333f, AnimationHelper.createTranslationalVector(1f, 0.25f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.958343f, AnimationHelper.createTranslationalVector(0.75f, 1f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.125f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.RIGHT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(22.48071702609377f, 0.9564494572955482f, 20.190086556017377f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createRotationalVector(22.30257854223737f, -3.0529741491914137f, 29.898054778260757f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(20.091305344004923f, 1.1699920891774127f, 26.424248239231474f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createRotationalVector(-4.866127295935403f, -1.4184144280073452f, 6.660634475402492f), Transformation.Interpolations.CUBIC), + new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-7.408694655995223f, 1.1699920891777946f, 26.424248239231403f), Transformation.Interpolations.CUBIC), + new Keyframe(2.0416765f, AnimationHelper.createRotationalVector(-7.49745918025943f, 0.19576730469809256f, 18.98717307987583f), Transformation.Interpolations.CUBIC), + new Keyframe(2.2083435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-7.4086946559950775f, 1.1699920891780493f, 26.42424823923169f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5416765f, AnimationHelper.createRotationalVector(-6.041112393472904f, 4.452922991257692f, 53.76491217464347f), Transformation.Interpolations.CUBIC), + new Keyframe(4.208343f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.834333f, AnimationHelper.createRotationalVector(0.24117231125816033f, -0.09448572501914895f, -16.85553579291023f), Transformation.Interpolations.CUBIC), + new Keyframe(5.125f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.2083435f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.625f, AnimationHelper.createTranslationalVector(-1f, -0.75f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(4.208343f, AnimationHelper.createTranslationalVector(-0.78f, 0.42000000000000004f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5.375f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.75f, AnimationHelper.createRotationalVector(27.5f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createRotationalVector(7.14232996078681f, 4.599015978825719f, -8.889268973502567f), Transformation.Interpolations.CUBIC), + new Keyframe(1.9583433f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), + new Keyframe(2.9583435f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), + new Keyframe(3.2083435f, AnimationHelper.createRotationalVector(-2.475429931501239f, 4.3960867006031545f, -3.8970580610586154f), Transformation.Interpolations.CUBIC), + new Keyframe(3.625f, AnimationHelper.createRotationalVector(-12.279770389181849f, 12.007062843212225f, 47.98109178875055f), Transformation.Interpolations.CUBIC), + new Keyframe(5.375f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.LEFT_HIND_LEG, new Transformation(Transformation.Targets.SCALE, + new Keyframe(3.625f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.041677f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.583433f, AnimationHelper.createScalingVector(1f, 0.6f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(4.75f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.125f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.5416765f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.BODY, new Transformation(Transformation.Targets.SCALE, + new Keyframe(0f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(1.25f, AnimationHelper.createScalingVector(1.1f, 1f, 1f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createScalingVector(1f, 1f, 1f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.TRANSLATE, + new Keyframe(0f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.5f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(0.9583434f, AnimationHelper.createTranslationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7083433f, AnimationHelper.createTranslationalVector(-1f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createTranslationalVector(1.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.2916765f, AnimationHelper.createTranslationalVector(1.25f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(3.625f, AnimationHelper.createTranslationalVector(0.25f, 0f, 0f), Transformation.Interpolations.CUBIC))) + .addBoneAnimation(EntityModelPartNames.HEAD, new Transformation(Transformation.Targets.ROTATE, + new Keyframe(0f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(0.5f, AnimationHelper.createRotationalVector(0f, 0f, 20f), Transformation.Interpolations.CUBIC), + new Keyframe(0.9583434f, AnimationHelper.createRotationalVector(0f, 0f, 20f), Transformation.Interpolations.CUBIC), + new Keyframe(1.7083433f, AnimationHelper.createRotationalVector(0f, 0f, -5f), Transformation.Interpolations.CUBIC), + new Keyframe(1.875f, AnimationHelper.createRotationalVector(0f, 0f, 57.5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.0834335f, AnimationHelper.createRotationalVector(0f, 0f, 57.5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.2916765f, AnimationHelper.createRotationalVector(17.5f, 0f, 57.5f), Transformation.Interpolations.CUBIC), + new Keyframe(3.625f, AnimationHelper.createRotationalVector(16.14973182841186f, 6.279671924441573f, 33.25231220461228f), Transformation.Interpolations.CUBIC), + new Keyframe(4f, AnimationHelper.createRotationalVector(11.23738518791506f, 12.240295486395354f, 3.4386635769687928f), Transformation.Interpolations.CUBIC), + new Keyframe(4.25f, AnimationHelper.createRotationalVector(7.106591348469683f, 14.290604655089956f, -14.422213143878762f), Transformation.Interpolations.CUBIC), + new Keyframe(4.676667f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC), + new Keyframe(5f, AnimationHelper.createRotationalVector(0f, 0f, 15f), Transformation.Interpolations.CUBIC), + new Keyframe(5.291677f, AnimationHelper.createRotationalVector(0f, 0f, 0f), Transformation.Interpolations.CUBIC))).build(); } diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/model/CapybaraModel.java b/src/main/java/fr/hugman/promenade/client/render/entity/model/CapybaraModel.java index 77815e35..2809577c 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/model/CapybaraModel.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/model/CapybaraModel.java @@ -4,12 +4,7 @@ import fr.hugman.promenade.entity.CapybaraEntity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.model.ModelData; -import net.minecraft.client.model.ModelPart; -import net.minecraft.client.model.ModelPartBuilder; -import net.minecraft.client.model.ModelPartData; -import net.minecraft.client.model.ModelTransform; -import net.minecraft.client.model.TexturedModelData; +import net.minecraft.client.model.*; import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.entity.model.EntityModelPartNames; import net.minecraft.client.render.entity.model.SinglePartEntityModel; @@ -18,89 +13,88 @@ @Environment(EnvType.CLIENT) public class CapybaraModel extends SinglePartEntityModel { - private static final String LOWER_TEETH = "lower_teeth"; - private static final String UPPER_TEETH = "upper_teeth"; - - private static final float BABY_SCALE = 0.6f; - private static final float BABY_Y_OFFSET = 1.0f; - - private final ModelPart root; - private final ModelPart head; - - public CapybaraModel(ModelPart part) { - this.root = part.getChild(EntityModelPartNames.ROOT); - this.head = this.root.getChild(EntityModelPartNames.HEAD); - } - - public static TexturedModelData getTexturedModelData() { - ModelData modelData = new ModelData(); - ModelPartData modelPartData = modelData.getRoot(); - ModelPartData root = modelPartData.addChild(EntityModelPartNames.ROOT, ModelPartBuilder.create(), ModelTransform.pivot(0.5F, 14.5F, 0.5F)); - - root.addChild(EntityModelPartNames.RIGHT_HIND_LEG, ModelPartBuilder.create().uv(31, 0).cuboid(-1.5F, 0.0F, -0.5F, 3.0F, 7.0F, 3.0F), ModelTransform.pivot(1.5F, 2.5F, 5.5F)); - root.addChild(EntityModelPartNames.LEFT_HIND_LEG, ModelPartBuilder.create().uv(0, 0).cuboid(-1.5F, 0.0F, -0.5F, 3.0F, 7.0F, 3.0F), ModelTransform.pivot(-2.5F, 2.5F, 5.5F)); - root.addChild(EntityModelPartNames.RIGHT_FRONT_LEG, ModelPartBuilder.create().uv(0, 36).cuboid(-1.5F, -1.0F, -2.0F, 3.0F, 6.0F, 3.0F), ModelTransform.pivot(1.5F, 4.5F, -4.5F)); - root.addChild(EntityModelPartNames.LEFT_FRONT_LEG, ModelPartBuilder.create().uv(12, 36).cuboid(-1.5F, -1.0F, -2.0F, 3.0F, 6.0F, 3.0F), ModelTransform.pivot(-2.5F, 4.5F, -4.5F)); - - root.addChild(EntityModelPartNames.BODY, ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -4.0F, -7.5F, 8.0F, 8.0F, 15.0F), ModelTransform.pivot(-0.5F, 0.5F, 0.0F)); - ModelPartData head = root.addChild(EntityModelPartNames.HEAD, ModelPartBuilder.create() - .uv(20, 23).cuboid(-3.0F, 1.0F, -5.0F, 6.0F, 1.0F, 5.0F) - .uv(0, 23).cuboid(-3.0F, -4.0F, -8.0F, 6.0F, 5.0F, 8.0F), - ModelTransform.of(-0.5F, -2.5F, -6.5F, -0.0436F, 0.0F, 0.0F)); - ModelPartData jaw = head.addChild(EntityModelPartNames.JAW, ModelPartBuilder.create().uv(28, 29).cuboid(-3.0F, 0.0F, -3.0F, 6.0F, 1.0F, 3.0F), ModelTransform.pivot(0.0F, 1.0F, -5.0F)); - - head.addChild(EntityModelPartNames.LEFT_EAR, ModelPartBuilder.create().uv(0, 10).cuboid(0.0F, -2.0F, 0.0F, 1.0F, 2.0F, 2.0F), ModelTransform.of(2.0F, -3.0F, -1.0F, -0.2F, 0.2F, 0.0F)); - head.addChild(EntityModelPartNames.RIGHT_EAR, ModelPartBuilder.create().uv(6, 10).cuboid(-1.0F, -2.0F, 0.0F, 1.0F, 2.0F, 2.0F), ModelTransform.of(-2.0F, -3.0F, -1.0F, -0.2F, -0.2F, 0.0F)); - head.addChild(UPPER_TEETH, ModelPartBuilder.create().uv(9, 0).cuboid(-1.0F, -0.25F, 0.0F, 2.0F, 1.0F, 0.0F), ModelTransform.pivot(0.0F, 1.0F, -7.0F)); - jaw.addChild(LOWER_TEETH, ModelPartBuilder.create().uv(9, 1).cuboid(-1.0F, -0.75F, 0.0F, 2.0F, 1.0F, 0.0F), ModelTransform.pivot(0.0F, 0.0F, -2.0F)); - - return TexturedModelData.of(modelData, 64, 64); - } - - public void setAngles(CapybaraEntity capybara, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) { - this.getPart().traverse().forEach(ModelPart::resetTransform); - if(capybara.canAngleHead()) { - this.setHeadAngles(headYaw, headPitch); - } - this.updateAnimations(capybara, animationProgress); - } - - public void setHeadAngles(float headYaw, float headPitch) { - headYaw = MathHelper.clamp(headYaw, -30.0F, 30.0F); - headPitch = MathHelper.clamp(headPitch, -25.0F, 45.0F); - - this.head.yaw = headYaw * 0.017453292F; - this.head.pitch = headPitch * 0.017453292F; - } - - @Override - public ModelPart getPart() { - return this.root; - } - - private void updateAnimations(CapybaraEntity capybara, float progress) { - float v = (float) capybara.getVelocity().horizontalLengthSquared(); - float speed = MathHelper.clamp(v * 400.0F, 0.3F, 2.0F); - - this.updateAnimation(capybara.walkingAnimationState, CapybaraAnimations.WALKING, progress, speed * 2); - this.updateAnimation(capybara.earWiggleAnimState, CapybaraAnimations.EAR_WIGGLE, progress, capybara.getEarWiggleSpeed()); - this.updateAnimation(capybara.fallToSleepAnimState, CapybaraAnimations.FALL_TO_SLEEP, progress, 1.0F); - this.updateAnimation(capybara.sleepingAnimState, CapybaraAnimations.SLEEP, progress, 1.0F); - this.updateAnimation(capybara.wakeUpAnimState, CapybaraAnimations.WAKE_UP, progress, 1.0F); - this.updateAnimation(capybara.fartAnimState, CapybaraAnimations.FART, progress, 1.0F); - } - - @Override - public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { - if(this.child) { - matrices.push(); - matrices.scale(BABY_SCALE, BABY_SCALE, BABY_SCALE); - matrices.translate(0.0F, BABY_Y_OFFSET, 0.0F); - this.getPart().render(matrices, vertices, light, overlay, red, green, blue, alpha); - matrices.pop(); - } - else { - this.getPart().render(matrices, vertices, light, overlay, red, green, blue, alpha); - } - } + private static final String LOWER_TEETH = "lower_teeth"; + private static final String UPPER_TEETH = "upper_teeth"; + + private static final float BABY_SCALE = 0.6f; + private static final float BABY_Y_OFFSET = 1.0f; + + private final ModelPart root; + private final ModelPart head; + + public CapybaraModel(ModelPart part) { + this.root = part.getChild(EntityModelPartNames.ROOT); + this.head = this.root.getChild(EntityModelPartNames.HEAD); + } + + public static TexturedModelData getTexturedModelData() { + ModelData modelData = new ModelData(); + ModelPartData modelPartData = modelData.getRoot(); + ModelPartData root = modelPartData.addChild(EntityModelPartNames.ROOT, ModelPartBuilder.create(), ModelTransform.pivot(0.5F, 14.5F, 0.5F)); + + root.addChild(EntityModelPartNames.RIGHT_HIND_LEG, ModelPartBuilder.create().uv(31, 0).cuboid(-1.5F, 0.0F, -0.5F, 3.0F, 7.0F, 3.0F), ModelTransform.pivot(1.5F, 2.5F, 5.5F)); + root.addChild(EntityModelPartNames.LEFT_HIND_LEG, ModelPartBuilder.create().uv(0, 0).cuboid(-1.5F, 0.0F, -0.5F, 3.0F, 7.0F, 3.0F), ModelTransform.pivot(-2.5F, 2.5F, 5.5F)); + root.addChild(EntityModelPartNames.RIGHT_FRONT_LEG, ModelPartBuilder.create().uv(0, 36).cuboid(-1.5F, -1.0F, -2.0F, 3.0F, 6.0F, 3.0F), ModelTransform.pivot(1.5F, 4.5F, -4.5F)); + root.addChild(EntityModelPartNames.LEFT_FRONT_LEG, ModelPartBuilder.create().uv(12, 36).cuboid(-1.5F, -1.0F, -2.0F, 3.0F, 6.0F, 3.0F), ModelTransform.pivot(-2.5F, 4.5F, -4.5F)); + + root.addChild(EntityModelPartNames.BODY, ModelPartBuilder.create().uv(0, 0).cuboid(-4.0F, -4.0F, -7.5F, 8.0F, 8.0F, 15.0F), ModelTransform.pivot(-0.5F, 0.5F, 0.0F)); + ModelPartData head = root.addChild(EntityModelPartNames.HEAD, ModelPartBuilder.create() + .uv(20, 23).cuboid(-3.0F, 1.0F, -5.0F, 6.0F, 1.0F, 5.0F) + .uv(0, 23).cuboid(-3.0F, -4.0F, -8.0F, 6.0F, 5.0F, 8.0F), + ModelTransform.of(-0.5F, -2.5F, -6.5F, -0.0436F, 0.0F, 0.0F)); + ModelPartData jaw = head.addChild(EntityModelPartNames.JAW, ModelPartBuilder.create().uv(28, 29).cuboid(-3.0F, 0.0F, -3.0F, 6.0F, 1.0F, 3.0F), ModelTransform.pivot(0.0F, 1.0F, -5.0F)); + + head.addChild(EntityModelPartNames.LEFT_EAR, ModelPartBuilder.create().uv(0, 10).cuboid(0.0F, -2.0F, 0.0F, 1.0F, 2.0F, 2.0F), ModelTransform.of(2.0F, -3.0F, -1.0F, -0.2F, 0.2F, 0.0F)); + head.addChild(EntityModelPartNames.RIGHT_EAR, ModelPartBuilder.create().uv(6, 10).cuboid(-1.0F, -2.0F, 0.0F, 1.0F, 2.0F, 2.0F), ModelTransform.of(-2.0F, -3.0F, -1.0F, -0.2F, -0.2F, 0.0F)); + head.addChild(UPPER_TEETH, ModelPartBuilder.create().uv(9, 0).cuboid(-1.0F, -0.25F, 0.0F, 2.0F, 1.0F, 0.0F), ModelTransform.pivot(0.0F, 1.0F, -7.0F)); + jaw.addChild(LOWER_TEETH, ModelPartBuilder.create().uv(9, 1).cuboid(-1.0F, -0.75F, 0.0F, 2.0F, 1.0F, 0.0F), ModelTransform.pivot(0.0F, 0.0F, -2.0F)); + + return TexturedModelData.of(modelData, 64, 64); + } + + public void setAngles(CapybaraEntity capybara, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) { + this.getPart().traverse().forEach(ModelPart::resetTransform); + if (capybara.canAngleHead()) { + this.setHeadAngles(headYaw, headPitch); + } + this.updateAnimations(capybara, animationProgress); + } + + public void setHeadAngles(float headYaw, float headPitch) { + headYaw = MathHelper.clamp(headYaw, -30.0F, 30.0F); + headPitch = MathHelper.clamp(headPitch, -25.0F, 45.0F); + + this.head.yaw = headYaw * 0.017453292F; + this.head.pitch = headPitch * 0.017453292F; + } + + @Override + public ModelPart getPart() { + return this.root; + } + + private void updateAnimations(CapybaraEntity capybara, float progress) { + float v = (float) capybara.getVelocity().horizontalLengthSquared(); + float speed = MathHelper.clamp(v * 400.0F, 0.3F, 2.0F); + + this.updateAnimation(capybara.walkingAnimationState, CapybaraAnimations.WALKING, progress, speed * 2); + this.updateAnimation(capybara.earWiggleAnimState, CapybaraAnimations.EAR_WIGGLE, progress, capybara.getEarWiggleSpeed()); + this.updateAnimation(capybara.fallToSleepAnimState, CapybaraAnimations.FALL_TO_SLEEP, progress, 1.0F); + this.updateAnimation(capybara.sleepingAnimState, CapybaraAnimations.SLEEP, progress, 1.0F); + this.updateAnimation(capybara.wakeUpAnimState, CapybaraAnimations.WAKE_UP, progress, 1.0F); + this.updateAnimation(capybara.fartAnimState, CapybaraAnimations.FART, progress, 1.0F); + } + + @Override + public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { + if (this.child) { + matrices.push(); + matrices.scale(BABY_SCALE, BABY_SCALE, BABY_SCALE); + matrices.translate(0.0F, BABY_Y_OFFSET, 0.0F); + this.getPart().render(matrices, vertices, light, overlay, red, green, blue, alpha); + matrices.pop(); + } else { + this.getPart().render(matrices, vertices, light, overlay, red, green, blue, alpha); + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/model/DuckModel.java b/src/main/java/fr/hugman/promenade/client/render/entity/model/DuckModel.java index c38adf2e..d13492af 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/model/DuckModel.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/model/DuckModel.java @@ -3,12 +3,7 @@ import com.google.common.collect.ImmutableList; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.model.ModelData; -import net.minecraft.client.model.ModelPart; -import net.minecraft.client.model.ModelPartBuilder; -import net.minecraft.client.model.ModelPartData; -import net.minecraft.client.model.ModelTransform; -import net.minecraft.client.model.TexturedModelData; +import net.minecraft.client.model.*; import net.minecraft.client.render.entity.model.AnimalModel; import net.minecraft.client.render.entity.model.EntityModelPartNames; import net.minecraft.entity.LivingEntity; @@ -16,54 +11,54 @@ @Environment(EnvType.CLIENT) public class DuckModel extends AnimalModel { - private final ModelPart head; - private final ModelPart body; - private final ModelPart beak; - private final ModelPart rightLeg; - private final ModelPart leftLeg; - private final ModelPart rightWing; - private final ModelPart leftWing; + private final ModelPart head; + private final ModelPart body; + private final ModelPart beak; + private final ModelPart rightLeg; + private final ModelPart leftLeg; + private final ModelPart rightWing; + private final ModelPart leftWing; - public DuckModel(ModelPart root) { - this.head = root.getChild(EntityModelPartNames.HEAD); - this.beak = root.getChild(EntityModelPartNames.BEAK); - this.body = root.getChild(EntityModelPartNames.BODY); - this.rightLeg = root.getChild(EntityModelPartNames.RIGHT_LEG); - this.leftLeg = root.getChild(EntityModelPartNames.LEFT_LEG); - this.rightWing = root.getChild(EntityModelPartNames.RIGHT_WING); - this.leftWing = root.getChild(EntityModelPartNames.LEFT_WING); - } + public DuckModel(ModelPart root) { + this.head = root.getChild(EntityModelPartNames.HEAD); + this.beak = root.getChild(EntityModelPartNames.BEAK); + this.body = root.getChild(EntityModelPartNames.BODY); + this.rightLeg = root.getChild(EntityModelPartNames.RIGHT_LEG); + this.leftLeg = root.getChild(EntityModelPartNames.LEFT_LEG); + this.rightWing = root.getChild(EntityModelPartNames.RIGHT_WING); + this.leftWing = root.getChild(EntityModelPartNames.LEFT_WING); + } - public static TexturedModelData getTexturedModelData() { - ModelData modelData = new ModelData(); - ModelPartData modelPartData = modelData.getRoot(); - modelPartData.addChild(EntityModelPartNames.HEAD, ModelPartBuilder.create().uv(0, 0).cuboid(-2.0F, -10.0F, -2.0F, 4.0F, 10.0F, 3.0F), ModelTransform.pivot(0.0F, 15.0F, -4.0F)); - modelPartData.addChild(EntityModelPartNames.BEAK, ModelPartBuilder.create().uv(14, 0).cuboid(-2.0F, -8.0F, -5.0F, 4.0F, 2.0F, 3.0F), ModelTransform.pivot(0.0F, 15.0F, -4.0F)); - modelPartData.addChild(EntityModelPartNames.BODY, ModelPartBuilder.create().uv(0, 13).cuboid(-3.0F, -4.0F, -3.0F, 6.0F, 8.0F, 6.0F), ModelTransform.pivot(0.0F, 16.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.RIGHT_LEG, ModelPartBuilder.create().uv(28, 0).cuboid(-1.0F, 0.0F, -3.0F, 3.0F, 5.0F, 3.0F), ModelTransform.pivot(-2.0F, 19.0F, 1.0F)); - modelPartData.addChild(EntityModelPartNames.LEFT_LEG, ModelPartBuilder.create().uv(28, 0).cuboid(-1.0F, 0.0F, -3.0F, 3.0F, 5.0F, 3.0F), ModelTransform.pivot(1.0F, 19.0F, 1.0F)); - modelPartData.addChild(EntityModelPartNames.RIGHT_WING, ModelPartBuilder.create().uv(24, 17).cuboid(0.0F, 0.0F, -3.0F, 1.0F, 4.0F, 6.0F), ModelTransform.pivot(-4.0F, 13.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.LEFT_WING, ModelPartBuilder.create().uv(24, 17).cuboid(-1.0F, 0.0F, -3.0F, 1.0F, 4.0F, 6.0F), ModelTransform.pivot(4.0F, 13.0F, 0.0F)); - return TexturedModelData.of(modelData, 64, 32); - } + public static TexturedModelData getTexturedModelData() { + ModelData modelData = new ModelData(); + ModelPartData modelPartData = modelData.getRoot(); + modelPartData.addChild(EntityModelPartNames.HEAD, ModelPartBuilder.create().uv(0, 0).cuboid(-2.0F, -10.0F, -2.0F, 4.0F, 10.0F, 3.0F), ModelTransform.pivot(0.0F, 15.0F, -4.0F)); + modelPartData.addChild(EntityModelPartNames.BEAK, ModelPartBuilder.create().uv(14, 0).cuboid(-2.0F, -8.0F, -5.0F, 4.0F, 2.0F, 3.0F), ModelTransform.pivot(0.0F, 15.0F, -4.0F)); + modelPartData.addChild(EntityModelPartNames.BODY, ModelPartBuilder.create().uv(0, 13).cuboid(-3.0F, -4.0F, -3.0F, 6.0F, 8.0F, 6.0F), ModelTransform.pivot(0.0F, 16.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.RIGHT_LEG, ModelPartBuilder.create().uv(28, 0).cuboid(-1.0F, 0.0F, -3.0F, 3.0F, 5.0F, 3.0F), ModelTransform.pivot(-2.0F, 19.0F, 1.0F)); + modelPartData.addChild(EntityModelPartNames.LEFT_LEG, ModelPartBuilder.create().uv(28, 0).cuboid(-1.0F, 0.0F, -3.0F, 3.0F, 5.0F, 3.0F), ModelTransform.pivot(1.0F, 19.0F, 1.0F)); + modelPartData.addChild(EntityModelPartNames.RIGHT_WING, ModelPartBuilder.create().uv(24, 17).cuboid(0.0F, 0.0F, -3.0F, 1.0F, 4.0F, 6.0F), ModelTransform.pivot(-4.0F, 13.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.LEFT_WING, ModelPartBuilder.create().uv(24, 17).cuboid(-1.0F, 0.0F, -3.0F, 1.0F, 4.0F, 6.0F), ModelTransform.pivot(4.0F, 13.0F, 0.0F)); + return TexturedModelData.of(modelData, 64, 32); + } - protected Iterable getHeadParts() { - return ImmutableList.of(this.head, this.beak); - } + protected Iterable getHeadParts() { + return ImmutableList.of(this.head, this.beak); + } - protected Iterable getBodyParts() { - return ImmutableList.of(this.body, this.rightLeg, this.leftLeg, this.rightWing, this.leftWing); - } + protected Iterable getBodyParts() { + return ImmutableList.of(this.body, this.rightLeg, this.leftLeg, this.rightWing, this.leftWing); + } - public void setAngles(T entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) { - this.head.pitch = headPitch * ((float) Math.PI / 180F); - this.head.yaw = headYaw * ((float) Math.PI / 180F); - this.beak.pitch = this.head.pitch; - this.beak.yaw = this.head.yaw; - this.body.pitch = ((float) Math.PI / 2F); - this.rightLeg.pitch = MathHelper.cos(limbAngle * 0.6662F) * 1.4F * limbDistance; - this.leftLeg.pitch = MathHelper.cos(limbAngle * 0.6662F + (float) Math.PI) * 1.4F * limbDistance; - this.rightWing.roll = animationProgress; - this.leftWing.roll = -animationProgress; - } + public void setAngles(T entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) { + this.head.pitch = headPitch * ((float) Math.PI / 180F); + this.head.yaw = headYaw * ((float) Math.PI / 180F); + this.beak.pitch = this.head.pitch; + this.beak.yaw = this.head.yaw; + this.body.pitch = ((float) Math.PI / 2F); + this.rightLeg.pitch = MathHelper.cos(limbAngle * 0.6662F) * 1.4F * limbDistance; + this.leftLeg.pitch = MathHelper.cos(limbAngle * 0.6662F + (float) Math.PI) * 1.4F * limbDistance; + this.rightWing.roll = animationProgress; + this.leftWing.roll = -animationProgress; + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/model/PromenadeEntityModelLayers.java b/src/main/java/fr/hugman/promenade/client/render/entity/model/PromenadeEntityModelLayers.java new file mode 100644 index 00000000..5f7b29a5 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/client/render/entity/model/PromenadeEntityModelLayers.java @@ -0,0 +1,56 @@ +package fr.hugman.promenade.client.render.entity.model; + +import fr.hugman.promenade.Promenade; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; +import net.minecraft.client.model.Dilation; +import net.minecraft.client.model.TexturedModelData; +import net.minecraft.client.render.entity.model.BipedEntityModel; +import net.minecraft.client.render.entity.model.CreeperEntityModel; +import net.minecraft.client.render.entity.model.EntityModelLayer; + +@Environment(EnvType.CLIENT) +public class PromenadeEntityModelLayers { + public static final EntityModelLayer CAPYBARA = createModelLayer("capybara"); + + public static final EntityModelLayer DUCK = createModelLayer("duck"); + + public static final EntityModelLayer LUSH_CREEPER = createModelLayer("lush_creeper"); + public static final EntityModelLayer LUSH_CREEPER_OUTER = createModelLayer("lush_creeper", "outer"); + + public static final EntityModelLayer SUNKEN_SKELETON = createModelLayer("sunken_skeleton"); + public static final EntityModelLayer SUNKEN_SKELETON_INNER_ARMOR = createModelLayerInnerArmor("sunken_skeleton"); + public static final EntityModelLayer SUNKEN_SKELETON_OUTER_ARMOR = createModelLayerOuterArmor("sunken_skeleton"); + + private static final Dilation ARMOR_DILATION = new Dilation(1.0F); + private static final Dilation HAT_DILATION = new Dilation(0.5F); + private static final TexturedModelData INNER_ARMOR_MODEL_DATA = TexturedModelData.of(BipedEntityModel.getModelData(HAT_DILATION, 0.0F), 64, 32); + private static final TexturedModelData OUTER_ARMOR_MODEL_DATA = TexturedModelData.of(BipedEntityModel.getModelData(ARMOR_DILATION, 0.0F), 64, 32); + + public static void init() { + EntityModelLayerRegistry.registerModelLayer(CAPYBARA, CapybaraModel::getTexturedModelData); + EntityModelLayerRegistry.registerModelLayer(DUCK, DuckModel::getTexturedModelData); + EntityModelLayerRegistry.registerModelLayer(LUSH_CREEPER, () -> CreeperEntityModel.getTexturedModelData(Dilation.NONE)); + EntityModelLayerRegistry.registerModelLayer(LUSH_CREEPER_OUTER, () -> CreeperEntityModel.getTexturedModelData(new Dilation(0.25f))); + EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON, SunkenSkeletonModel::getTexturedModelData); + EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON_INNER_ARMOR, () -> INNER_ARMOR_MODEL_DATA); + EntityModelLayerRegistry.registerModelLayer(SUNKEN_SKELETON_OUTER_ARMOR, () -> OUTER_ARMOR_MODEL_DATA); + } + + private static EntityModelLayer createModelLayer(String name) { + return new EntityModelLayer(Promenade.id(name), "main"); + } + + private static EntityModelLayer createModelLayer(String name, String layer) { + return new EntityModelLayer(Promenade.id(name), layer); + } + + private static EntityModelLayer createModelLayerInnerArmor(String name) { + return createModelLayer(name, "inner_armor"); + } + + private static EntityModelLayer createModelLayerOuterArmor(String name) { + return createModelLayer(name, "outer_armor"); + } +} diff --git a/src/main/java/fr/hugman/promenade/client/render/entity/model/SunkenSkeletonModel.java b/src/main/java/fr/hugman/promenade/client/render/entity/model/SunkenSkeletonModel.java index ab90a2f7..37368fde 100644 --- a/src/main/java/fr/hugman/promenade/client/render/entity/model/SunkenSkeletonModel.java +++ b/src/main/java/fr/hugman/promenade/client/render/entity/model/SunkenSkeletonModel.java @@ -12,40 +12,39 @@ @Environment(EnvType.CLIENT) public class SunkenSkeletonModel extends SkeletonEntityModel { - public SunkenSkeletonModel(ModelPart root) { - super(root); - } + public SunkenSkeletonModel(ModelPart root) { + super(root); + } - public static TexturedModelData getTexturedModelData() { - ModelData modelData = BipedEntityModel.getModelData(Dilation.NONE, 0.0F); - ModelPartData modelPartData = modelData.getRoot(); - modelPartData.addChild(EntityModelPartNames.HAT, ModelPartBuilder.create().uv(32, 0).cuboid(-4.0F, -16.0F, -4.0F, 16.0F, 16.0F, 0.0F), ModelTransform.pivot(0.0F, 0.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.RIGHT_ARM, ModelPartBuilder.create().uv(40, 16).cuboid(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(-5.0F, 2.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.LEFT_ARM, ModelPartBuilder.create().uv(40, 16).mirrored().cuboid(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(5.0F, 2.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.RIGHT_LEG, ModelPartBuilder.create().uv(0, 16).cuboid(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(-2.0F, 12.0F, 0.0F)); - modelPartData.addChild(EntityModelPartNames.LEFT_LEG, ModelPartBuilder.create().uv(0, 16).mirrored().cuboid(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(2.0F, 12.0F, 0.0F)); - return TexturedModelData.of(modelData, 64, 32); - } + public static TexturedModelData getTexturedModelData() { + ModelData modelData = BipedEntityModel.getModelData(Dilation.NONE, 0.0F); + ModelPartData modelPartData = modelData.getRoot(); + modelPartData.addChild(EntityModelPartNames.HAT, ModelPartBuilder.create().uv(32, 0).cuboid(-4.0F, -16.0F, -4.0F, 16.0F, 16.0F, 0.0F), ModelTransform.pivot(0.0F, 0.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.RIGHT_ARM, ModelPartBuilder.create().uv(40, 16).cuboid(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(-5.0F, 2.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.LEFT_ARM, ModelPartBuilder.create().uv(40, 16).mirrored().cuboid(-1.0F, -2.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(5.0F, 2.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.RIGHT_LEG, ModelPartBuilder.create().uv(0, 16).cuboid(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(-2.0F, 12.0F, 0.0F)); + modelPartData.addChild(EntityModelPartNames.LEFT_LEG, ModelPartBuilder.create().uv(0, 16).mirrored().cuboid(-1.0F, 0.0F, -1.0F, 2.0F, 12.0F, 2.0F), ModelTransform.pivot(2.0F, 12.0F, 0.0F)); + return TexturedModelData.of(modelData, 64, 32); + } - @Override - public void animateModel(SunkenSkeletonEntity mobEntity, float f, float g, float h) { - super.animateModel(mobEntity, f, g, h); + @Override + public void animateModel(SunkenSkeletonEntity mobEntity, float f, float g, float h) { + super.animateModel(mobEntity, f, g, h); - this.hat.visible = mobEntity.getEquippedStack(EquipmentSlot.HEAD).isEmpty(); + this.hat.visible = mobEntity.getEquippedStack(EquipmentSlot.HEAD).isEmpty(); - this.rightArmPose = BipedEntityModel.ArmPose.EMPTY; - this.leftArmPose = BipedEntityModel.ArmPose.EMPTY; - ArmPose armPose = switch(mobEntity.getState()) { - default -> ArmPose.EMPTY; - case BOW_HOLD -> ArmPose.BOW_AND_ARROW; - case CROSSBOW_CHARGE -> ArmPose.CROSSBOW_CHARGE; - case CROSSBOW_HOLD -> ArmPose.CROSSBOW_HOLD; - }; - if(mobEntity.getMainArm() == Arm.RIGHT) { - this.rightArmPose = armPose; - } - else { - this.leftArmPose = armPose; - } - } + this.rightArmPose = BipedEntityModel.ArmPose.EMPTY; + this.leftArmPose = BipedEntityModel.ArmPose.EMPTY; + ArmPose armPose = switch (mobEntity.getState()) { + default -> ArmPose.EMPTY; + case BOW_HOLD -> ArmPose.BOW_AND_ARROW; + case CROSSBOW_CHARGE -> ArmPose.CROSSBOW_CHARGE; + case CROSSBOW_HOLD -> ArmPose.CROSSBOW_HOLD; + }; + if (mobEntity.getMainArm() == Arm.RIGHT) { + this.rightArmPose = armPose; + } else { + this.leftArmPose = armPose; + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/compat/ColumnsContent.java b/src/main/java/fr/hugman/promenade/compat/ColumnsContent.java deleted file mode 100644 index 7478a499..00000000 --- a/src/main/java/fr/hugman/promenade/compat/ColumnsContent.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.hugman.promenade.compat; - -// import io.github.haykam821.columns.block.ColumnBlock; - - -public class ColumnsContent { - /* - TODO haykam - public static final Block ASPHALT_COLUMN = new ColumnBlock(DawnBlockSettings.copyOf(IgneousContent.ASPHALT)); - public static final Block BLUNITE_COLUMN = new ColumnBlock(DawnBlockSettings.copyOf(IgneousContent.BLUNITE)); - - public static void init() { - Registrar.add(Promenade.id("asphalt_column"), ASPHALT_COLUMN); - Registrar.add(Promenade.id("blunite_column"), BLUNITE_COLUMN); - } - - */ -} diff --git a/src/main/java/fr/hugman/promenade/compat/PromenadeMMIntegration.java b/src/main/java/fr/hugman/promenade/compat/PromenadeMMIntegration.java index 831df573..4c7bd38f 100644 --- a/src/main/java/fr/hugman/promenade/compat/PromenadeMMIntegration.java +++ b/src/main/java/fr/hugman/promenade/compat/PromenadeMMIntegration.java @@ -10,8 +10,8 @@ @Environment(EnvType.CLIENT) public class PromenadeMMIntegration implements ModMenuApi { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> (Screen) AutoConfig.getConfigScreen(PromenadeConfig.class, parent).get(); - } + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return parent -> (Screen) AutoConfig.getConfigScreen(PromenadeConfig.class, parent).get(); + } } diff --git a/src/main/java/fr/hugman/promenade/config/PromenadeConfig.java b/src/main/java/fr/hugman/promenade/config/PromenadeConfig.java index a3ae3b6a..c752842f 100644 --- a/src/main/java/fr/hugman/promenade/config/PromenadeConfig.java +++ b/src/main/java/fr/hugman/promenade/config/PromenadeConfig.java @@ -8,63 +8,63 @@ @Config(name = "promenade") @Config.Gui.Background("minecraft:textures/block/lime_concrete.png") public class PromenadeConfig extends PartitioningSerializer.GlobalData { - @ConfigEntry.Category("biomes") - @ConfigEntry.Gui.TransitiveObject - public BiomesCategory biomes = new BiomesCategory(); - @ConfigEntry.Category("world_features") - @ConfigEntry.Gui.TransitiveObject - public WorldFeaturesCategory world_features = new WorldFeaturesCategory(); - @ConfigEntry.Category("animals") - @ConfigEntry.Gui.TransitiveObject - public AnimalsCategory animals = new AnimalsCategory(); - @ConfigEntry.Category("monsters") - @ConfigEntry.Gui.TransitiveObject - public MonstersCategory monsters = new MonstersCategory(); + @ConfigEntry.Category("biomes") + @ConfigEntry.Gui.TransitiveObject + public BiomesCategory biomes = new BiomesCategory(); + @ConfigEntry.Category("world_features") + @ConfigEntry.Gui.TransitiveObject + public WorldFeaturesCategory world_features = new WorldFeaturesCategory(); + @ConfigEntry.Category("animals") + @ConfigEntry.Gui.TransitiveObject + public AnimalsCategory animals = new AnimalsCategory(); + @ConfigEntry.Category("monsters") + @ConfigEntry.Gui.TransitiveObject + public MonstersCategory monsters = new MonstersCategory(); - @Config(name = "biomes") - public static class BiomesCategory implements ConfigData { - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int carnelian_treeway_weight = 20; - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int sakura_groves_weight = 20; - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int glacarian_taiga_weight = 10; - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int dark_amaranth_forests_weight = 20; - } + @Config(name = "biomes") + public static class BiomesCategory implements ConfigData { + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int carnelian_treeway_weight = 20; + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int sakura_groves_weight = 20; + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int glacarian_taiga_weight = 10; + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int dark_amaranth_forests_weight = 20; + } - @Config(name = "world_features") - public static class WorldFeaturesCategory implements ConfigData { - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.Gui.Tooltip - public boolean igneous_rock_patches = true; - @ConfigEntry.Gui.RequiresRestart - public boolean blueberry_bushes = true; - @ConfigEntry.Gui.RequiresRestart - public boolean palms = true; - } + @Config(name = "world_features") + public static class WorldFeaturesCategory implements ConfigData { + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.Gui.Tooltip + public boolean igneous_rock_patches = true; + @ConfigEntry.Gui.RequiresRestart + public boolean blueberry_bushes = true; + @ConfigEntry.Gui.RequiresRestart + public boolean palms = true; + } - @Config(name = "animals") - public static class AnimalsCategory implements ConfigData { - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int capybaras_weight = 10; - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int ducks_weight = 10; - } + @Config(name = "animals") + public static class AnimalsCategory implements ConfigData { + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int capybaras_weight = 10; + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int ducks_weight = 10; + } - @Config(name = "monsters") - public static class MonstersCategory implements ConfigData { - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int lush_creepers_weight = 15; - @ConfigEntry.Gui.RequiresRestart - @ConfigEntry.BoundedDiscrete(min = 0, max = 100) - public int sunken_skeletons_weight = 20; - } + @Config(name = "monsters") + public static class MonstersCategory implements ConfigData { + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int lush_creepers_weight = 15; + @ConfigEntry.Gui.RequiresRestart + @ConfigEntry.BoundedDiscrete(min = 0, max = 100) + public int sunken_skeletons_weight = 20; + } } diff --git a/src/main/java/fr/hugman/promenade/entity/CapybaraBrain.java b/src/main/java/fr/hugman/promenade/entity/CapybaraBrain.java index ea5bae47..aa366aae 100644 --- a/src/main/java/fr/hugman/promenade/entity/CapybaraBrain.java +++ b/src/main/java/fr/hugman/promenade/entity/CapybaraBrain.java @@ -5,7 +5,7 @@ import com.google.common.collect.ImmutableSet; import com.mojang.datafixers.util.Pair; import fr.hugman.promenade.entity.ai.brain.sensor.PromenadeSensorTypes; -import fr.hugman.promenade.registry.content.AnimalContent; +import fr.hugman.promenade.item.PromenadeItemTags; import net.minecraft.entity.EntityType; import net.minecraft.entity.ai.brain.Activity; import net.minecraft.entity.ai.brain.Brain; @@ -14,138 +14,135 @@ import net.minecraft.entity.ai.brain.sensor.Sensor; import net.minecraft.entity.ai.brain.sensor.SensorType; import net.minecraft.entity.ai.brain.task.*; -import net.minecraft.entity.mob.PathAwareEntity; +import net.minecraft.item.ItemStack; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.intprovider.UniformIntProvider; -import net.minecraft.util.math.random.Random; import java.util.function.Predicate; public class CapybaraBrain { - private static final UniformIntProvider WALK_TOWARD_ADULT_RANGE = UniformIntProvider.create(5, 16); - - private static final ImmutableList>> SENSORS = ImmutableList.of( - SensorType.NEAREST_LIVING_ENTITIES, - SensorType.HURT_BY, - PromenadeSensorTypes.CAPYBARA_TEMPTATIONS, - SensorType.NEAREST_ADULT); - - private static final ImmutableList> MEMORY_MODULES = ImmutableList.of( - MemoryModuleType.IS_PANICKING, - MemoryModuleType.HURT_BY, - MemoryModuleType.HURT_BY_ENTITY, - MemoryModuleType.WALK_TARGET, - MemoryModuleType.LOOK_TARGET, - MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, - MemoryModuleType.PATH, - MemoryModuleType.VISIBLE_MOBS, - MemoryModuleType.TEMPTING_PLAYER, - MemoryModuleType.TEMPTATION_COOLDOWN_TICKS, - MemoryModuleType.GAZE_COOLDOWN_TICKS, - MemoryModuleType.IS_TEMPTED, - MemoryModuleType.BREED_TARGET, - MemoryModuleType.NEAREST_VISIBLE_ADULT); - - protected static void method_45367(CapybaraEntity capybara, Random random) { - } - - public static Brain.Profile createProfile() { - return Brain.createProfile(MEMORY_MODULES, SENSORS); - } - - protected static Brain create(Brain brain) { - CapybaraBrain.addCoreActivities(brain); - CapybaraBrain.addIdleActivities(brain); - brain.setCoreActivities(ImmutableSet.of(Activity.CORE)); - brain.setDefaultActivity(Activity.IDLE); - brain.resetPossibleActivities(); - return brain; - } - - private static void addCoreActivities(Brain brain) { - brain.setTaskList(Activity.CORE, 0, ImmutableList.of( - new StayAboveWaterTask(0.8f), - new WalkTask(1.0f), - new LookAroundTask(45, 90), - new WanderAroundTask(), - new TemptationCooldownTask(MemoryModuleType.TEMPTATION_COOLDOWN_TICKS), - new TemptationCooldownTask(MemoryModuleType.GAZE_COOLDOWN_TICKS))); - } - - private static void addIdleActivities(Brain brain) { - brain.setTaskList(Activity.IDLE, ImmutableList.of( - Pair.of(0, LookAtMobWithIntervalTask.follow(EntityType.PLAYER, 6.0f, UniformIntProvider.create(30, 60))), - Pair.of(1, new BreedTask(AnimalContent.CAPYBARA, 1.0f)), - Pair.of(2, new TemptTask(entity -> 1.5f)), - Pair.of(3, TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), WalkTowardClosestAdultTask.create(WALK_TOWARD_ADULT_RANGE, 1.5f))), - Pair.of(4, new RandomLookAroundTask(UniformIntProvider.create(150, 250), 30.0f, -50.0f, 10.0f)), - Pair.of(5, new RandomTask<>(ImmutableMap.of(MemoryModuleType.WALK_TARGET, MemoryModuleState.VALUE_ABSENT), ImmutableList.of( - Pair.of(TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), StrollTask.create(1.0f)), 1), - Pair.of(TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), GoTowardsLookTargetTask.create(1.0f, 3)), 1), - Pair.of(new SleepTask(20), 1), - Pair.of(new FartTask(10), 1), - Pair.of(new WaitTask(30, 60), 1) - ))))); - } - - public static void updateActivities(CapybaraEntity capybara) { - capybara.getBrain().resetPossibleActivities(ImmutableList.of(Activity.IDLE)); - } - - public static class WalkTask extends FleeTask { - public WalkTask(float speed) { - super(speed); - } - - @Override - protected void run(ServerWorld world, PathAwareEntity entity, long l) { - if(entity instanceof CapybaraEntity capybara) { - capybara.standUp(); - } - super.run(world, entity, l); - } - } - - public static class SleepTask extends MultiTickTask { - private final int lastPoseTickDelta; - - public SleepTask(int lastPoseSecondsDelta) { - super(ImmutableMap.of()); - this.lastPoseTickDelta = lastPoseSecondsDelta * 20; - } - - @Override - protected boolean shouldRun(ServerWorld world, CapybaraEntity capybara) { - return !capybara.isTouchingWater() && capybara.getLastStateTickDelta() >= (long) this.lastPoseTickDelta && !capybara.isLeashed() && capybara.isOnGround() && !capybara.hasControllingPassenger(); - } - - @Override - protected void run(ServerWorld world, CapybaraEntity capybara, long l) { - if(capybara.canStopSleeping()) { - capybara.stopSleeping(); - } - else if(capybara.canFallToSleep()) { - capybara.fallToSleep(); - } - } - } - - public static class FartTask extends MultiTickTask { - private final int lastPoseTickDelta; - - public FartTask(int lastPoseSecondsDelta) { - super(ImmutableMap.of()); - this.lastPoseTickDelta = lastPoseSecondsDelta * 20; - } - - @Override - protected boolean shouldRun(ServerWorld world, CapybaraEntity capybara) { - return capybara.canFart() && !capybara.isTouchingWater() && capybara.getLastStateTickDelta() >= (long) this.lastPoseTickDelta && !capybara.isLeashed() && capybara.isOnGround() && !capybara.hasControllingPassenger(); - } - - @Override - protected void run(ServerWorld world, CapybaraEntity capybara, long l) { - capybara.fart(); - } - } + private static final UniformIntProvider WALK_TOWARD_ADULT_RANGE = UniformIntProvider.create(5, 16); + + private static final ImmutableList>> SENSORS = ImmutableList.of( + SensorType.NEAREST_LIVING_ENTITIES, + SensorType.HURT_BY, + PromenadeSensorTypes.CAPYBARA_TEMPTATIONS, + SensorType.NEAREST_ADULT); + + private static final ImmutableList> MEMORY_MODULES = ImmutableList.of( + MemoryModuleType.IS_PANICKING, + MemoryModuleType.HURT_BY, + MemoryModuleType.HURT_BY_ENTITY, + MemoryModuleType.WALK_TARGET, + MemoryModuleType.LOOK_TARGET, + MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, + MemoryModuleType.PATH, + MemoryModuleType.VISIBLE_MOBS, + MemoryModuleType.TEMPTING_PLAYER, + MemoryModuleType.TEMPTATION_COOLDOWN_TICKS, + MemoryModuleType.GAZE_COOLDOWN_TICKS, + MemoryModuleType.IS_TEMPTED, + MemoryModuleType.BREED_TARGET, + MemoryModuleType.NEAREST_VISIBLE_ADULT); + + public static Brain.Profile createProfile() { + return Brain.createProfile(MEMORY_MODULES, SENSORS); + } + + protected static Brain create(Brain brain) { + CapybaraBrain.addCoreActivities(brain); + CapybaraBrain.addIdleActivities(brain); + brain.setCoreActivities(ImmutableSet.of(Activity.CORE)); + brain.setDefaultActivity(Activity.IDLE); + brain.resetPossibleActivities(); + return brain; + } + + private static void addCoreActivities(Brain brain) { + brain.setTaskList(Activity.CORE, 0, ImmutableList.of( + new StayAboveWaterTask(0.8f), + new WalkTask(1.0f), + new LookAroundTask(45, 90), + new WanderAroundTask(), + new TemptationCooldownTask(MemoryModuleType.TEMPTATION_COOLDOWN_TICKS), + new TemptationCooldownTask(MemoryModuleType.GAZE_COOLDOWN_TICKS))); + } + + private static void addIdleActivities(Brain brain) { + brain.setTaskList(Activity.IDLE, ImmutableList.of( + Pair.of(0, LookAtMobWithIntervalTask.follow(EntityType.PLAYER, 6.0f, UniformIntProvider.create(30, 60))), + Pair.of(1, new BreedTask(PromenadeEntityTypes.CAPYBARA)), + Pair.of(2, new TemptTask(entity -> 1.5f)), + Pair.of(3, TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), WalkTowardClosestAdultTask.create(WALK_TOWARD_ADULT_RANGE, 1.5f))), + Pair.of(4, new RandomLookAroundTask(UniformIntProvider.create(150, 250), 30.0f, -50.0f, 10.0f)), + Pair.of(5, new RandomTask<>(ImmutableMap.of(MemoryModuleType.WALK_TARGET, MemoryModuleState.VALUE_ABSENT), ImmutableList.of( + Pair.of(TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), StrollTask.create(1.0f)), 1), + Pair.of(TaskTriggerer.runIf(Predicate.not(CapybaraEntity::isStationary), GoTowardsLookTargetTask.create(1.0f, 3)), 1), + Pair.of(new SleepTask(20), 1), + Pair.of(new FartTask(10), 1), + Pair.of(new WaitTask(30, 60), 1) + ))))); + } + + public static void updateActivities(CapybaraEntity capybara) { + capybara.getBrain().resetPossibleActivities(ImmutableList.of(Activity.IDLE)); + } + + public static Predicate getTemptItemPredicate() { + return (stack) -> stack.isIn(PromenadeItemTags.CAPYBARA_FOOD); + } + + public static class WalkTask extends FleeTask { + public WalkTask(float speed) { + super(speed); + } + + @Override + protected void run(ServerWorld world, CapybaraEntity capybara, long l) { + capybara.standUp(); + super.run(world, capybara, l); + } + } + + public static class SleepTask extends MultiTickTask { + private final int lastPoseTickDelta; + + public SleepTask(int lastPoseSecondsDelta) { + super(ImmutableMap.of()); + this.lastPoseTickDelta = lastPoseSecondsDelta * 20; + } + + @Override + protected boolean shouldRun(ServerWorld world, CapybaraEntity capybara) { + return !capybara.isTouchingWater() && capybara.getLastStateTickDelta() >= (long) this.lastPoseTickDelta && !capybara.isLeashed() && capybara.isOnGround() && !capybara.hasControllingPassenger(); + } + + @Override + protected void run(ServerWorld world, CapybaraEntity capybara, long l) { + if (capybara.canStopSleeping()) { + capybara.stopSleeping(); + } else if (capybara.canFallToSleep()) { + capybara.fallToSleep(); + } + } + } + + public static class FartTask extends MultiTickTask { + private final int lastPoseTickDelta; + + public FartTask(int lastPoseSecondsDelta) { + super(ImmutableMap.of()); + this.lastPoseTickDelta = lastPoseSecondsDelta * 20; + } + + @Override + protected boolean shouldRun(ServerWorld world, CapybaraEntity capybara) { + return capybara.canFart() && !capybara.isTouchingWater() && capybara.getLastStateTickDelta() >= (long) this.lastPoseTickDelta && !capybara.isLeashed() && capybara.isOnGround() && !capybara.hasControllingPassenger(); + } + + @Override + protected void run(ServerWorld world, CapybaraEntity capybara, long l) { + capybara.fart(); + } + } } diff --git a/src/main/java/fr/hugman/promenade/entity/CapybaraEntity.java b/src/main/java/fr/hugman/promenade/entity/CapybaraEntity.java index ab0281a6..6f45364c 100644 --- a/src/main/java/fr/hugman/promenade/entity/CapybaraEntity.java +++ b/src/main/java/fr/hugman/promenade/entity/CapybaraEntity.java @@ -2,9 +2,10 @@ import com.mojang.serialization.Dynamic; import fr.hugman.promenade.entity.data.PromenadeTrackedData; -import fr.hugman.promenade.registry.PromenadeRegistries; -import fr.hugman.promenade.registry.content.AnimalContent; -import fr.hugman.promenade.registry.tag.PromenadeItemTags; +import fr.hugman.promenade.item.PromenadeItemTags; +import fr.hugman.promenade.registry.PromenadeRegistryKeys; +import fr.hugman.promenade.sound.PromenadeSoundEvents; +import io.netty.buffer.ByteBuf; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.SharedConstants; @@ -23,9 +24,15 @@ import net.minecraft.entity.passive.PassiveEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundEvent; import net.minecraft.util.Identifier; +import net.minecraft.util.StringIdentifiable; +import net.minecraft.util.function.ValueLists; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.floatprovider.FloatProvider; @@ -37,8 +44,12 @@ import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; -public class CapybaraEntity extends AnimalEntity implements VariantHolder { +import java.util.Optional; +import java.util.function.IntFunction; + +public class CapybaraEntity extends AnimalEntity implements VariantHolder> { private static final FloatProvider FART_CHANCE_PROVIDER = TrapezoidFloatProvider.create(0.1F, 0.55F, 0.2F); + private static final EntityDimensions BABY_BASE_DIMENSIONS = EntityDimensions.changing(0.7f, 0.875f).scaled(0.5F).withEyeHeight(0.5F); public CapybaraEntity(EntityType entityType, World world) { super(entityType, world); @@ -66,16 +77,22 @@ protected void mobTick() { super.mobTick(); } - public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt) { - CapybaraBrain.method_45367(this, world.getRandom()); - this.setVariant(CapybaraVariants.getRandom(this.random)); + @Override + public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData) { + RegistryEntry variant; + if (entityData instanceof Data capybaraData) { + variant = capybaraData.variant; + } else { + variant = CapybaraVariants.getRandom(this.getRegistryManager(), this.random); + entityData = new Data(variant); + } + + this.setVariant(variant); this.dataTracker.set(LAST_STATE_TICK, world.toServerWorld().getTime() - WAKE_UP_LENGTH); this.dataTracker.set(FART_CHANCE, FART_CHANCE_PROVIDER.get(this.random)); - return super.initialize(world, difficulty, spawnReason, entityData, entityNbt); + return super.initialize(world, difficulty, spawnReason, entityData); } - - /*========*/ /* AI */ /*========*/ @@ -97,7 +114,7 @@ public static DefaultAttributeContainer.Builder createCapybaraAttributes() { @Override public boolean isBreedingItem(ItemStack stack) { - return stack.isIn(PromenadeItemTags.BREEDING_CAPYBARA); + return stack.isIn(PromenadeItemTags.CAPYBARA_FOOD); } @Override @@ -121,8 +138,8 @@ public boolean isPanicking() { } @Override - protected float getActiveEyeHeight(EntityPose pose, EntityDimensions size) { - return size.height * 13 / 14; + protected EntityDimensions getBaseDimensions(EntityPose pose) { + return this.isBaby() ? BABY_BASE_DIMENSIONS : super.getBaseDimensions(pose); } @Override @@ -178,7 +195,7 @@ private void updateState() { // FALL TO SLEEP public boolean isFallingToSleep() { - return this.getState() == CapybaraState.FALL_TO_SLEEP; + return this.getState() == State.FALL_TO_SLEEP; } public boolean canFallToSleep() { @@ -186,14 +203,14 @@ public boolean canFallToSleep() { } public void fallToSleep() { - this.setState(CapybaraState.FALL_TO_SLEEP); + this.setState(State.FALL_TO_SLEEP); this.setLastStateTick(this.getWorld().getTime()); } // SLEEP public boolean isAsleep() { - return this.getState() == CapybaraState.SLEEPING; + return this.getState() == State.SLEEPING; } public boolean canSleep() { @@ -201,14 +218,14 @@ public boolean canSleep() { } public void sleep() { - this.setState(CapybaraState.SLEEPING); + this.setState(State.SLEEPING); this.setLastStateTick(this.getWorld().getTime()); } // WAKE UP private boolean isWakingUp() { - return this.getState() == CapybaraState.WAKE_UP; + return this.getState() == State.WAKE_UP; } public boolean canStopSleeping() { @@ -216,25 +233,25 @@ public boolean canStopSleeping() { } public void stopSleeping() { - this.setState(CapybaraState.WAKE_UP); + this.setState(State.WAKE_UP); this.setLastStateTick(this.getWorld().getTime()); } // STAND public boolean isStanding() { - return this.getState() == CapybaraState.STANDING; + return this.getState() == State.STANDING; } public void standUp() { - this.setState(CapybaraState.STANDING); + this.setState(State.STANDING); this.setLastStateTick(this.getWorld().getTime() - WAKE_UP_LENGTH); } // FART public boolean isFarting() { - return this.getState() == CapybaraState.FARTING; + return this.getState() == State.FARTING; } public boolean canFart() { @@ -242,8 +259,8 @@ public boolean canFart() { } public void fart() { - this.playSound(AnimalContent.CAPYBARA_FART_SOUND, getSoundVolume(), getSoundPitch()); - this.setState(CapybaraState.FARTING); + this.playSound(PromenadeSoundEvents.CAPYBARA_FART, getSoundVolume(), getSoundPitch()); + this.setState(State.FARTING); this.setLastStateTick(this.getWorld().getTime()); } @@ -270,7 +287,7 @@ private void updateAnimations() { this.earWiggleAnimState.start(this.age); } else { --this.earWiggleCooldown; - + } switch (this.getState()) { @@ -346,8 +363,8 @@ public float getEarWiggleSpeed() { @Override protected SoundEvent getAmbientSound() { if (this.isAsleep()) return null; //TODO: Sleeping sound - if (this.isBaby()) return AnimalContent.CAPYBARA_AMBIENT_BABY_SOUND; - return AnimalContent.CAPYBARA_AMBIENT_SOUND; + if (this.isBaby()) return PromenadeSoundEvents.CAPYBARA_AMBIENT_BABY; + return PromenadeSoundEvents.CAPYBARA_AMBIENT; } @Override @@ -370,22 +387,30 @@ public void playAmbientSound() { /* VARIANTS */ /*==============*/ - private static final TrackedData VARIANT = DataTracker.registerData(CapybaraEntity.class, PromenadeTrackedData.CAPYBARA_VARIANT); + private static final TrackedData> VARIANT = DataTracker.registerData(CapybaraEntity.class, PromenadeTrackedData.CAPYBARA_VARIANT); private static final TrackedData FART_CHANCE = DataTracker.registerData(CapybaraEntity.class, TrackedDataHandlerRegistry.FLOAT); @Nullable @Override public PassiveEntity createChild(ServerWorld world, PassiveEntity entity) { - return AnimalContent.CAPYBARA.create(this.getWorld()); + var capy = PromenadeEntityTypes.CAPYBARA.create(this.getWorld()); + if (capy != null && entity instanceof CapybaraEntity capyParent) { + if (this.random.nextBoolean()) { + capy.setVariant(this.getVariant()); + } else { + capy.setVariant(capyParent.getVariant()); + } + } + return capy; } @Override - public CapybaraVariant getVariant() { + public RegistryEntry getVariant() { return this.dataTracker.get(VARIANT); } @Override - public void setVariant(CapybaraVariant variant) { + public void setVariant(RegistryEntry variant) { this.dataTracker.set(VARIANT, variant); } @@ -404,26 +429,26 @@ public void setFartChance(float frequency) { /*==========*/ public static final TrackedData LAST_STATE_TICK = DataTracker.registerData(CapybaraEntity.class, TrackedDataHandlerRegistry.LONG); - protected static final TrackedData STATE = DataTracker.registerData(CapybaraEntity.class, PromenadeTrackedData.CAPYBARA_STATE); + protected static final TrackedData STATE = DataTracker.registerData(CapybaraEntity.class, PromenadeTrackedData.CAPYBARA_STATE); - public static final String VARIANT_KEY = "Variant"; - public static final String FART_CHANCE_KEY = "FartChance"; - public static final String LAST_STATE_TICK_KEY = "LastStateTick"; - public static final String FARTING_KEY = "IsFarting"; - public static final String SLEEPING_KEY = "IsSleeping"; + public static final String VARIANT_KEY = "variant"; + public static final String FART_CHANCE_KEY = "fart_chance"; + public static final String LAST_STATE_TICK_KEY = "last_state_tick"; + public static final String FARTING_KEY = "is_farting"; + public static final String SLEEPING_KEY = "is_sleeping"; @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(VARIANT, CapybaraVariants.getDefault()); - this.dataTracker.startTracking(FART_CHANCE, 0.0f); - this.dataTracker.startTracking(STATE, CapybaraState.STANDING); - this.dataTracker.startTracking(LAST_STATE_TICK, -WAKE_UP_LENGTH); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(VARIANT, this.getRegistryManager().get(PromenadeRegistryKeys.CAPYBARA_VARIANT).entryOf(CapybaraVariants.BROWN)); + builder.add(FART_CHANCE, 0.0f); + builder.add(STATE, State.STANDING); + builder.add(LAST_STATE_TICK, -WAKE_UP_LENGTH); } public void writeCustomDataToNbt(NbtCompound nbt) { super.writeCustomDataToNbt(nbt); - nbt.putString(VARIANT_KEY, PromenadeRegistries.CAPYBARA_VARIANT.getId(this.getVariant()).toString()); + nbt.putString(VARIANT_KEY, (this.getVariant().getKey().orElse(CapybaraVariants.BROWN)).getValue().toString()); nbt.putFloat(FART_CHANCE_KEY, this.getFartChance()); nbt.putLong(LAST_STATE_TICK_KEY, this.dataTracker.get(LAST_STATE_TICK)); nbt.putBoolean(FARTING_KEY, this.isFarting()); @@ -432,15 +457,17 @@ public void writeCustomDataToNbt(NbtCompound nbt) { public void readCustomDataFromNbt(NbtCompound nbt) { super.readCustomDataFromNbt(nbt); - CapybaraVariant variant = PromenadeRegistries.CAPYBARA_VARIANT.get(Identifier.tryParse(nbt.getString(VARIANT_KEY))); - if (variant != null) { - this.setVariant(variant); - } + + Optional.ofNullable(Identifier.tryParse(nbt.getString(VARIANT_KEY))) + .map(variantId -> RegistryKey.of(PromenadeRegistryKeys.CAPYBARA_VARIANT, variantId)) + .flatMap(variantKey -> this.getRegistryManager().get(PromenadeRegistryKeys.CAPYBARA_VARIANT).getEntry(variantKey)) + .ifPresent(this::setVariant); + if (nbt.getBoolean(FARTING_KEY)) { - this.setState(CapybaraState.FARTING); + this.setState(State.FARTING); } if (nbt.getBoolean(SLEEPING_KEY)) { - this.setState(CapybaraState.SLEEPING); + this.setState(State.SLEEPING); } this.setFartChance(nbt.getFloat(FART_CHANCE_KEY)); } @@ -453,11 +480,65 @@ public long getLastStateTickDelta() { return this.getWorld().getTime() - this.dataTracker.get(LAST_STATE_TICK); } - public CapybaraState getState() { + public State getState() { return this.dataTracker.get(STATE); } - public void setState(CapybaraState state) { + public void setState(State state) { this.dataTracker.set(STATE, state); } + + public enum State implements StringIdentifiable { + STANDING("standing", 0), + FARTING("farting", 1), + SLEEPING("sleeping", 2), + FALL_TO_SLEEP("fall_to_sleep", 3), + WAKE_UP("wake_up", 4); + + private final String name; + private final int index; + + private static final StringIdentifiable.EnumCodec CODEC = StringIdentifiable.createCodec(State::values); + private static final IntFunction INDEX_TO_VALUE = ValueLists.createIdToValueFunction(State::getIndex, values(), ValueLists.OutOfBoundsHandling.ZERO); + public static final PacketCodec PACKET_CODEC = PacketCodecs.indexed(INDEX_TO_VALUE, State::getIndex); + + State(String name, int index) { + this.name = name; + this.index = index; + } + + public static State fromName(String name) { + return CODEC.byId(name, STANDING); + } + + public String asString() { + return this.name; + } + + private int getIndex() { + return this.index; + } + } + + public static class Data extends PassiveEntity.PassiveData { + public final RegistryEntry variant; + + public Data(RegistryEntry variant) { + super(false); + this.variant = variant; + } + } + + + /*==============*/ + /* TEXTURES */ + /*==============*/ + + public Identifier getBaseTexture() { + var variant = this.getVariant().value(); + if (this.hasClosedEyes()) { + return variant.closedEyesTexture(); + } + return this.hasLargeEyes() ? variant.largeEyesTexture() : variant.smallEyesTexture(); + } } diff --git a/src/main/java/fr/hugman/promenade/entity/CapybaraState.java b/src/main/java/fr/hugman/promenade/entity/CapybaraState.java deleted file mode 100644 index 35c25032..00000000 --- a/src/main/java/fr/hugman/promenade/entity/CapybaraState.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.hugman.promenade.entity; - -public enum CapybaraState { - STANDING, - FARTING, - SLEEPING, - FALL_TO_SLEEP, - WAKE_UP -} diff --git a/src/main/java/fr/hugman/promenade/entity/CapybaraVariant.java b/src/main/java/fr/hugman/promenade/entity/CapybaraVariant.java index 6a352a32..c51d3f85 100644 --- a/src/main/java/fr/hugman/promenade/entity/CapybaraVariant.java +++ b/src/main/java/fr/hugman/promenade/entity/CapybaraVariant.java @@ -1,3 +1,24 @@ package fr.hugman.promenade.entity; -public record CapybaraVariant(int spawnWeight) {} +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import fr.hugman.promenade.registry.PromenadeRegistryKeys; +import net.minecraft.registry.entry.RegistryElementCodec; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.util.Identifier; + +//TODO : .withPath(oldPath -> "textures/" + oldPath + ".png") +public record CapybaraVariant( + int spawnWeight, + Identifier smallEyesTexture, + Identifier largeEyesTexture, + Identifier closedEyesTexture +) { + public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( + Codec.INT.fieldOf("spawn_weight").forGetter(CapybaraVariant::spawnWeight), + Identifier.CODEC.fieldOf("small_eyes_texture").forGetter(CapybaraVariant::smallEyesTexture), + Identifier.CODEC.fieldOf("large_eyes_texture").forGetter(CapybaraVariant::largeEyesTexture), + Identifier.CODEC.fieldOf("closed_eyes_texture").forGetter(CapybaraVariant::closedEyesTexture) + ).apply(instance, CapybaraVariant::new)); + public static final Codec> ENTRY_CODEC = RegistryElementCodec.of(PromenadeRegistryKeys.CAPYBARA_VARIANT, CODEC); +} diff --git a/src/main/java/fr/hugman/promenade/entity/CapybaraVariants.java b/src/main/java/fr/hugman/promenade/entity/CapybaraVariants.java index abebb73b..cb64deb0 100644 --- a/src/main/java/fr/hugman/promenade/entity/CapybaraVariants.java +++ b/src/main/java/fr/hugman/promenade/entity/CapybaraVariants.java @@ -1,39 +1,43 @@ package fr.hugman.promenade.entity; -import fr.hugman.dawn.Registrar; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.PromenadeRegistrar; -import fr.hugman.promenade.registry.PromenadeRegistries; +import fr.hugman.promenade.registry.PromenadeRegistryKeys; +import net.minecraft.registry.DynamicRegistryManager; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.util.Identifier; import net.minecraft.util.math.random.Random; +import java.util.List; +import java.util.stream.Collectors; + public class CapybaraVariants { - public static final CapybaraVariant BROWN = new CapybaraVariant(49); - public static final CapybaraVariant ALBINO = new CapybaraVariant(1); - - public static void register(Registrar r) { - PromenadeRegistrar.add(r.id("brown"), BROWN); - PromenadeRegistrar.add(r.id("albino"), ALBINO); - } - - public static CapybaraVariant getRandom(Random random) { - // get the total weight of all variants - int totalWeight = 0; - for(CapybaraVariant variant : PromenadeRegistries.CAPYBARA_VARIANT) { - totalWeight += variant.spawnWeight(); - } - // choose a random variant - int randomWeight = random.nextInt(totalWeight); - for(CapybaraVariant variant : PromenadeRegistries.CAPYBARA_VARIANT) { - randomWeight -= variant.spawnWeight(); - if(randomWeight <= 0) { - return variant; - } - } - // should never happen - return PromenadeRegistries.CAPYBARA_VARIANT.get(0); - } - - public static CapybaraVariant getDefault() { - return BROWN; - } + public static final RegistryKey BROWN = of("brown"); + + private static RegistryKey of(String path) { + return of(Promenade.id(path)); + } + + public static RegistryKey of(Identifier id) { + return RegistryKey.of(PromenadeRegistryKeys.CAPYBARA_VARIANT, id); + } + + public static RegistryEntry getRandom(DynamicRegistryManager dynamicRegistryManager, Random random) { + Registry registry = dynamicRegistryManager.get(PromenadeRegistryKeys.CAPYBARA_VARIANT); + List> entries = registry.streamEntries().collect(Collectors.toList()); + + int totalWeight = entries.stream().mapToInt(entry -> entry.value().spawnWeight()).sum(); + int randomWeight = random.nextInt(totalWeight); + + for (RegistryEntry entry : entries) { + randomWeight -= entry.value().spawnWeight(); + if (randomWeight <= 0) { + return entry; + } + } + + // TODO: if no entries are present, throw an exception + return entries.get(0); + } } diff --git a/src/main/java/fr/hugman/promenade/entity/DuckEntity.java b/src/main/java/fr/hugman/promenade/entity/DuckEntity.java index 197219f5..3808697e 100644 --- a/src/main/java/fr/hugman/promenade/entity/DuckEntity.java +++ b/src/main/java/fr/hugman/promenade/entity/DuckEntity.java @@ -1,8 +1,8 @@ package fr.hugman.promenade.entity; -import fr.hugman.promenade.registry.content.AnimalContent; -import fr.hugman.promenade.registry.tag.PromenadeBiomeTags; -import fr.hugman.promenade.registry.tag.PromenadeItemTags; +import fr.hugman.promenade.item.PromenadeItemTags; +import fr.hugman.promenade.sound.PromenadeSoundEvents; +import fr.hugman.promenade.world.biome.PromenadeBiomeTags; import net.minecraft.block.BlockState; import net.minecraft.entity.*; import net.minecraft.entity.ai.goal.*; @@ -20,9 +20,7 @@ import net.minecraft.fluid.FluidState; import net.minecraft.fluid.Fluids; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; import net.minecraft.nbt.NbtCompound; -import net.minecraft.recipe.Ingredient; import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.registry.tag.TagKey; import net.minecraft.server.world.ServerWorld; @@ -40,231 +38,225 @@ import java.util.stream.Collectors; public class DuckEntity extends AnimalEntity { - private static final TrackedData DUCK_TYPE = DataTracker.registerData(DuckEntity.class, TrackedDataHandlerRegistry.INTEGER); - private static final Ingredient TEMPTATION_ITEMS = Ingredient.ofItems(Items.WHEAT_SEEDS, Items.MELON_SEEDS, Items.PUMPKIN_SEEDS, Items.BEETROOT_SEEDS); - public static final String TYPE_KEY = "Type"; - public float wingRotation; - public float destPos; - public float oFlapSpeed; - public float oFlap; - public float wingRotDelta = 1.0F; - - public DuckEntity(EntityType type, World worldIn) { - super(type, worldIn); - this.setPathfindingPenalty(PathNodeType.WATER, 0.0F); - } - - public static Builder createDuckAttributes() { - return MobEntity.createMobAttributes().add(EntityAttributes.GENERIC_MAX_HEALTH, 4.0D).add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.25D); - } - - @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(DUCK_TYPE, 0); - } - - @Override - public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt) { - RegistryEntry biomeEntry = world.getBiome(this.getBlockPos()); - - DuckEntity.Type type = DuckEntity.Type.fromBiome(biomeEntry); - if(entityData instanceof DuckEntity.DuckData) { - type = ((DuckEntity.DuckData) entityData).type; - } - else { - entityData = new DuckEntity.DuckData(type); - } - this.setVariant(type); - return super.initialize(world, difficulty, spawnReason, entityData, entityNbt); - } - - @Override - protected void initGoals() { - this.goalSelector.add(0, new SwimGoal(this)); - this.goalSelector.add(1, new EscapeDangerGoal(this, 1.4D)); - this.goalSelector.add(2, new AnimalMateGoal(this, 1.0D)); - this.goalSelector.add(3, new TemptGoal(this, 1.0D, TEMPTATION_ITEMS, false)); - this.goalSelector.add(4, new FollowParentGoal(this, 1.1D)); - this.goalSelector.add(5, new WanderAroundFarGoal(this, 1.0D)); - this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 6.0F)); - this.goalSelector.add(7, new LookAroundGoal(this)); - } - - @Override - public void writeCustomDataToNbt(NbtCompound compound) { - super.writeCustomDataToNbt(compound); - compound.putString(TYPE_KEY, this.getVariant().getName()); - } - - @Override - public void readCustomDataFromNbt(NbtCompound compound) { - super.readCustomDataFromNbt(compound); - this.setVariant(DuckEntity.Type.byName(compound.getString(TYPE_KEY))); - } - - @Override - protected float getActiveEyeHeight(EntityPose pose, EntityDimensions size) { - return this.isBaby() ? size.height * 0.85F : size.height * 0.92F; - } - - @Override - public void tickMovement() { - super.tickMovement(); - boolean isAirBorne = !this.isOnGround() && !this.isTouchingWater(); - this.oFlap = this.wingRotation; - this.oFlapSpeed = this.destPos; - this.destPos = (float) ((double) this.destPos + (double) (!isAirBorne ? -1 : 4) * 0.3D); - this.destPos = MathHelper.clamp(this.destPos, 0.0F, 1.0F); - if(isAirBorne && this.wingRotDelta < 0.55F) { - this.wingRotDelta = 0.55F; - } - this.wingRotDelta = (float) ((double) this.wingRotDelta * 0.9D); - Vec3d vec3d = this.getVelocity(); - if(isAirBorne && vec3d.y < 0.0D) { - this.setVelocity(vec3d.multiply(1.0D, 0.75D, 1.0D)); - } - this.wingRotation += this.wingRotDelta * 2.0F; - } - - @Override - public boolean canWalkOnFluid(FluidState fluidState) { - return fluidState.isOf(Fluids.WATER); - } - - @Override - public void travel(Vec3d movementInput) { - if(this.canMoveVoluntarily() && this.isTouchingWater()) { - this.updateVelocity(this.getMovementSpeed(), movementInput); - this.move(MovementType.SELF, this.getVelocity()); - this.setVelocity(this.getVelocity().multiply(0.9D)); - if(this.getTarget() == null) { - this.setVelocity(this.getVelocity().add(0.0D, -0.005D, 0.0D)); - } - } - else { - super.travel(movementInput); - } - } - - @Override - public boolean handleFallDamage(float distance, float multiplier, DamageSource damageSource) { - return false; - } - - @Override - protected SoundEvent getAmbientSound() { - return AnimalContent.DUCK_AMBIENT_SOUND; - } - - @Override - protected SoundEvent getHurtSound(DamageSource source) { - return AnimalContent.DUCK_HURT_SOUND; - } - - @Override - protected SoundEvent getDeathSound() { - return AnimalContent.DUCK_DEATH_SOUND; - } - - @Override - protected void playStepSound(BlockPos pos, BlockState state) { - this.playSound(AnimalContent.DUCK_STEP_SOUND, 0.15F, 1.0F); - } - - @Nullable - @Override - public DuckEntity createChild(ServerWorld serverWorld, PassiveEntity mate) { - DuckEntity child = AnimalContent.DUCK.create(this.getWorld()); - if(child != null) { - child.setVariant(this.random.nextFloat() < 0.5f ? ((DuckEntity) (mate)).getVariant() : this.getVariant()); - } - return child; - } - - @Override - public boolean isBreedingItem(ItemStack stack) { - return stack.isIn(PromenadeItemTags.BREEDING_DUCK); - } - - @Override - protected void updatePassengerPosition(Entity passenger, PositionUpdater positionUpdater) { - super.updatePassengerPosition(passenger, positionUpdater); - float f = MathHelper.sin(this.bodyYaw * 0.017453292F); - float g = MathHelper.cos(this.bodyYaw * 0.017453292F); - float h = 0.1F; - float i = 0.0F; - positionUpdater.accept(passenger, this.getX() + (double) (0.1F * f), this.getBodyY(0.5) + passenger.getHeightOffset() + 0.0, this.getZ() - (double) (0.1F * g)); - if (passenger instanceof LivingEntity) { - ((LivingEntity) passenger).bodyYaw = this.bodyYaw; - } - } - - public DuckEntity.Type getVariant() { - return DuckEntity.Type.fromId(this.dataTracker.get(DUCK_TYPE)); - } - - private void setVariant(DuckEntity.Type type) { - this.dataTracker.set(DUCK_TYPE, type.getIndex()); - } - - public enum Type { - PEKIN(0, "pekin", PromenadeBiomeTags.PEKIN_DUCK_SPAWN), - MALLARD(1, "mallard", PromenadeBiomeTags.MALLARD_DUCK_SPAWN); - - private static final DuckEntity.Type[] typeList = Arrays.stream(values()).sorted(Comparator.comparingInt(DuckEntity.Type::getIndex)).toArray(Type[]::new); - private static final Map TYPES_BY_NAME = Arrays.stream(values()).collect(Collectors.toMap(DuckEntity.Type::getName, (type) -> type)); - private final int index; - private final String name; - private final TagKey spawnBiomes; - - Type(int indexIn, String nameIn, TagKey spawnBiomes) { - this.index = indexIn; - this.name = nameIn; - this.spawnBiomes = spawnBiomes; - } - - public static DuckEntity.Type byName(String name) { - return TYPES_BY_NAME.getOrDefault(name, PEKIN); - } - - public static DuckEntity.Type fromId(int index) { - if(index < 0 || index > typeList.length) { - index = 0; - } - return typeList[index]; - } - - public static DuckEntity.Type fromBiome(RegistryEntry biome) { - List shuffledList = Arrays.asList(typeList.clone()); - Collections.shuffle(shuffledList); - for(DuckEntity.Type type : shuffledList) { - if(biome.isIn(type.getSpawnBiomes())) { - return type; - } - } - return PEKIN; - } - - public String getName() { - return this.name; - } - - public TagKey getSpawnBiomes() { - return this.spawnBiomes; - } - - public int getIndex() { - return this.index; - } - } - - public static class DuckData extends PassiveEntity.PassiveData { - public final DuckEntity.Type type; - - public DuckData(DuckEntity.Type typeIn) { - super(false); - this.type = typeIn; - } - } + private static final TrackedData DUCK_TYPE = DataTracker.registerData(DuckEntity.class, TrackedDataHandlerRegistry.INTEGER); + private static final EntityDimensions BABY_BASE_DIMENSIONS = EntityDimensions.changing(0.4F, 0.8F).scaled(0.5F).withEyeHeight(0.78125F); + public static final String TYPE_KEY = "type"; + + public float wingRotation; + public float destPos; + public float oFlapSpeed; + public float oFlap; + public float wingRotDelta = 1.0F; + + public DuckEntity(EntityType type, World worldIn) { + super(type, worldIn); + this.setPathfindingPenalty(PathNodeType.WATER, 0.0F); + } + + public static Builder createDuckAttributes() { + return MobEntity.createMobAttributes().add(EntityAttributes.GENERIC_MAX_HEALTH, 4.0D).add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.25D); + } + + @Override + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(DUCK_TYPE, 0); + } + + @Override + public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @org.jetbrains.annotations.Nullable EntityData entityData) { + RegistryEntry biomeEntry = world.getBiome(this.getBlockPos()); + + DuckEntity.Type type = DuckEntity.Type.fromBiome(biomeEntry); + if (entityData instanceof DuckEntity.DuckData) { + type = ((DuckEntity.DuckData) entityData).type; + } else { + entityData = new DuckEntity.DuckData(type); + } + this.setVariant(type); + return super.initialize(world, difficulty, spawnReason, entityData); + } + + @Override + protected EntityDimensions getBaseDimensions(EntityPose pose) { + return this.isBaby() ? BABY_BASE_DIMENSIONS : super.getBaseDimensions(pose); + } + + @Override + protected void initGoals() { + this.goalSelector.add(0, new SwimGoal(this)); + this.goalSelector.add(1, new EscapeDangerGoal(this, 1.4D)); + this.goalSelector.add(2, new AnimalMateGoal(this, 1.0D)); + this.goalSelector.add(3, new TemptGoal(this, 1.0, (stack) -> stack.isIn(PromenadeItemTags.DUCK_FOOD), false)); + this.goalSelector.add(4, new FollowParentGoal(this, 1.1D)); + this.goalSelector.add(5, new WanderAroundFarGoal(this, 1.0D)); + this.goalSelector.add(6, new LookAtEntityGoal(this, PlayerEntity.class, 6.0F)); + this.goalSelector.add(7, new LookAroundGoal(this)); + } + + @Override + public void writeCustomDataToNbt(NbtCompound compound) { + super.writeCustomDataToNbt(compound); + compound.putString(TYPE_KEY, this.getVariant().getName()); + } + + @Override + public void readCustomDataFromNbt(NbtCompound compound) { + super.readCustomDataFromNbt(compound); + this.setVariant(DuckEntity.Type.byName(compound.getString(TYPE_KEY))); + } + + @Override + public void tickMovement() { + super.tickMovement(); + boolean isAirBorne = !this.isOnGround() && !this.isTouchingWater(); + this.oFlap = this.wingRotation; + this.oFlapSpeed = this.destPos; + this.destPos = (float) ((double) this.destPos + (double) (!isAirBorne ? -1 : 4) * 0.3D); + this.destPos = MathHelper.clamp(this.destPos, 0.0F, 1.0F); + if (isAirBorne && this.wingRotDelta < 0.55F) { + this.wingRotDelta = 0.55F; + } + this.wingRotDelta = (float) ((double) this.wingRotDelta * 0.9D); + Vec3d vec3d = this.getVelocity(); + if (isAirBorne && vec3d.y < 0.0D) { + this.setVelocity(vec3d.multiply(1.0D, 0.75D, 1.0D)); + } + this.wingRotation += this.wingRotDelta * 2.0F; + } + + @Override + public boolean canWalkOnFluid(FluidState fluidState) { + return fluidState.isOf(Fluids.WATER); + } + + @Override + public void travel(Vec3d movementInput) { + if (this.canMoveVoluntarily() && this.isTouchingWater()) { + this.updateVelocity(this.getMovementSpeed(), movementInput); + this.move(MovementType.SELF, this.getVelocity()); + this.setVelocity(this.getVelocity().multiply(0.9D)); + if (this.getTarget() == null) { + this.setVelocity(this.getVelocity().add(0.0D, -0.005D, 0.0D)); + } + } else { + super.travel(movementInput); + } + } + + @Override + public boolean handleFallDamage(float distance, float multiplier, DamageSource damageSource) { + return false; + } + + @Override + protected SoundEvent getAmbientSound() { + return PromenadeSoundEvents.DUCK_AMBIENT; + } + + @Override + protected SoundEvent getHurtSound(DamageSource source) { + return PromenadeSoundEvents.DUCK_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return PromenadeSoundEvents.DUCK_DEATH; + } + + @Override + protected void playStepSound(BlockPos pos, BlockState state) { + this.playSound(PromenadeSoundEvents.DUCK_STEP, 0.15F, 1.0F); + } + + @Nullable + @Override + public DuckEntity createChild(ServerWorld serverWorld, PassiveEntity mate) { + DuckEntity child = PromenadeEntityTypes.DUCK.create(this.getWorld()); + if (child != null) { + child.setVariant(this.random.nextFloat() < 0.5f ? ((DuckEntity) (mate)).getVariant() : this.getVariant()); + } + return child; + } + + @Override + public boolean isBreedingItem(ItemStack stack) { + return stack.isIn(PromenadeItemTags.DUCK_FOOD); + } + + @Override + protected void updatePassengerPosition(Entity passenger, Entity.PositionUpdater positionUpdater) { + super.updatePassengerPosition(passenger, positionUpdater); + if (passenger instanceof LivingEntity) { + ((LivingEntity) passenger).bodyYaw = this.bodyYaw; + } + } + + public DuckEntity.Type getVariant() { + return DuckEntity.Type.fromId(this.dataTracker.get(DUCK_TYPE)); + } + + private void setVariant(DuckEntity.Type type) { + this.dataTracker.set(DUCK_TYPE, type.getIndex()); + } + + public enum Type { + PEKIN(0, "pekin", PromenadeBiomeTags.PEKIN_DUCK_SPAWN), + MALLARD(1, "mallard", PromenadeBiomeTags.MALLARD_DUCK_SPAWN); + + private static final DuckEntity.Type[] typeList = Arrays.stream(values()).sorted(Comparator.comparingInt(DuckEntity.Type::getIndex)).toArray(Type[]::new); + private static final Map TYPES_BY_NAME = Arrays.stream(values()).collect(Collectors.toMap(DuckEntity.Type::getName, (type) -> type)); + private final int index; + private final String name; + private final TagKey spawnBiomes; + + Type(int indexIn, String nameIn, TagKey spawnBiomes) { + this.index = indexIn; + this.name = nameIn; + this.spawnBiomes = spawnBiomes; + } + + public static DuckEntity.Type byName(String name) { + return TYPES_BY_NAME.getOrDefault(name, PEKIN); + } + + public static DuckEntity.Type fromId(int index) { + if (index < 0 || index > typeList.length) { + index = 0; + } + return typeList[index]; + } + + public static DuckEntity.Type fromBiome(RegistryEntry biome) { + List shuffledList = Arrays.asList(typeList.clone()); + Collections.shuffle(shuffledList); + for (DuckEntity.Type type : shuffledList) { + if (biome.isIn(type.getSpawnBiomes())) { + return type; + } + } + return PEKIN; + } + + public String getName() { + return this.name; + } + + public TagKey getSpawnBiomes() { + return this.spawnBiomes; + } + + public int getIndex() { + return this.index; + } + } + + public static class DuckData extends PassiveEntity.PassiveData { + public final DuckEntity.Type type; + + public DuckData(DuckEntity.Type typeIn) { + super(false); + this.type = typeIn; + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/entity/LushCreeperEntity.java b/src/main/java/fr/hugman/promenade/entity/LushCreeperEntity.java index 81ed0fb6..5566cf1f 100644 --- a/src/main/java/fr/hugman/promenade/entity/LushCreeperEntity.java +++ b/src/main/java/fr/hugman/promenade/entity/LushCreeperEntity.java @@ -20,73 +20,72 @@ import java.util.Collection; public class LushCreeperEntity extends CreeperEntity { - private static final int EXPLOSION_Y_LENGTH = 10; + private static final int EXPLOSION_Y_LENGTH = 10; - public LushCreeperEntity(EntityType entityType, World world) { - super(entityType, world); - } + public LushCreeperEntity(EntityType entityType, World world) { + super(entityType, world); + } - @Override - public boolean shouldRenderOverlay() { - return false; - } + @Override + public boolean shouldRenderOverlay() { + return false; + } - public static boolean canSpawn(EntityType type, ServerWorldAccess world, SpawnReason spawnReason, BlockPos pos, Random random) { - return pos.getY() < 0 && HostileEntity.canSpawnInDark(type, world, spawnReason, pos, random); - } + public static boolean canSpawn(EntityType type, ServerWorldAccess world, SpawnReason spawnReason, BlockPos pos, Random random) { + return pos.getY() < 0 && HostileEntity.canSpawnInDark(type, world, spawnReason, pos, random); + } - @Override - protected void explode() { - if (this.getWorld() instanceof ServerWorld serverWorld) { - boolean hasGeneratedMoss = false; - if (this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) { - Registry> registry = serverWorld.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE); - for (int i = 0; i < EXPLOSION_Y_LENGTH; i++) { - BlockPos pos = getBlockPos().down(i); - if (this.getWorld().getBlockState(pos).isSolidBlock(this.getWorld(), pos)) { - if (registry.get(this.getWorld().getRandom().nextBoolean() ? UndergroundConfiguredFeatures.MOSS_PATCH : UndergroundConfiguredFeatures.CLAY_POOL_WITH_DRIPLEAVES).generate(serverWorld, serverWorld.getChunkManager().getChunkGenerator(), random, pos.up())) { - hasGeneratedMoss = true; - } - break; - } - } - for(int i = 0; i < EXPLOSION_Y_LENGTH; i++) { - BlockPos pos = getBlockPos().up(i); - if (this.getWorld().getBlockState(pos).isSolidBlock(this.getWorld(), pos)) { - if (registry.get(UndergroundConfiguredFeatures.MOSS_PATCH_CEILING).generate(serverWorld, serverWorld.getChunkManager().getChunkGenerator(), random, pos.down())) { - hasGeneratedMoss = true; - } - break; - } - } - } - if(hasGeneratedMoss) { - this.dead = true; - float f = this.shouldRenderOverlay() ? 2.0F : 1.0F; - this.getWorld().createExplosion(this, this.getX(), this.getY(), this.getZ(), f, World.ExplosionSourceType.MOB); - this.discard(); - this.spawnEffectsCloud(); - } - else { - super.explode(); - } - } - } + @Override + protected void explode() { + if (this.getWorld() instanceof ServerWorld serverWorld) { + boolean hasGeneratedMoss = false; + if (this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) { + Registry> registry = serverWorld.getRegistryManager().get(RegistryKeys.CONFIGURED_FEATURE); + for (int i = 0; i < EXPLOSION_Y_LENGTH; i++) { + BlockPos pos = getBlockPos().down(i); + if (this.getWorld().getBlockState(pos).isSolidBlock(this.getWorld(), pos)) { + if (registry.get(this.getWorld().getRandom().nextBoolean() ? UndergroundConfiguredFeatures.MOSS_PATCH : UndergroundConfiguredFeatures.CLAY_POOL_WITH_DRIPLEAVES).generate(serverWorld, serverWorld.getChunkManager().getChunkGenerator(), random, pos.up())) { + hasGeneratedMoss = true; + } + break; + } + } + for (int i = 0; i < EXPLOSION_Y_LENGTH; i++) { + BlockPos pos = getBlockPos().up(i); + if (this.getWorld().getBlockState(pos).isSolidBlock(this.getWorld(), pos)) { + if (registry.get(UndergroundConfiguredFeatures.MOSS_PATCH_CEILING).generate(serverWorld, serverWorld.getChunkManager().getChunkGenerator(), random, pos.down())) { + hasGeneratedMoss = true; + } + break; + } + } + } + if (hasGeneratedMoss) { + this.dead = true; + float f = this.shouldRenderOverlay() ? 2.0F : 1.0F; + this.getWorld().createExplosion(this, this.getX(), this.getY(), this.getZ(), f, World.ExplosionSourceType.MOB); + this.discard(); + this.spawnEffectsCloud(); + } else { + super.explode(); + } + } + } - private void spawnEffectsCloud() { - Collection statusEffects = this.getStatusEffects(); - if(!statusEffects.isEmpty()) { - AreaEffectCloudEntity aec = new AreaEffectCloudEntity(this.getWorld(), this.getX(), this.getY(), this.getZ()); - aec.setRadius(2.5F); - aec.setRadiusOnUse(-0.5F); - aec.setWaitTime(10); - aec.setDuration(aec.getDuration() / 2); - aec.setRadiusGrowth(-aec.getRadius() / (float) aec.getDuration()); + private void spawnEffectsCloud() { + Collection statusEffects = this.getStatusEffects(); + if (!statusEffects.isEmpty()) { + AreaEffectCloudEntity aec = new AreaEffectCloudEntity(this.getWorld(), this.getX(), this.getY(), this.getZ()); + aec.setRadius(2.5F); + aec.setRadiusOnUse(-0.5F); + aec.setWaitTime(10); + aec.setDuration(aec.getDuration() / 2); + aec.setRadiusGrowth(-aec.getRadius() / (float) aec.getDuration()); - for(StatusEffectInstance statusEffectInstance : statusEffects) { - aec.addEffect(new StatusEffectInstance(statusEffectInstance)); - } - this.getWorld().spawnEntity(aec); - } - } + for (StatusEffectInstance statusEffectInstance : statusEffects) { + aec.addEffect(new StatusEffectInstance(statusEffectInstance)); + } + this.getWorld().spawnEntity(aec); + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/entity/PromenadeEntityTypes.java b/src/main/java/fr/hugman/promenade/entity/PromenadeEntityTypes.java new file mode 100644 index 00000000..d6720553 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/entity/PromenadeEntityTypes.java @@ -0,0 +1,68 @@ +package fr.hugman.promenade.entity; + +import fr.hugman.promenade.Promenade; +import fr.hugman.promenade.world.biome.PromenadeBiomeTags; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; +import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; +import net.minecraft.entity.*; +import net.minecraft.entity.passive.AnimalEntity; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.world.Heightmap; +import net.minecraft.world.biome.BiomeKeys; + +import java.util.function.Predicate; + +public class PromenadeEntityTypes { + public static final EntityType CAPYBARA = of("capybara", FabricEntityTypeBuilder.createMob() + .entityFactory(CapybaraEntity::new) + .spawnGroup(SpawnGroup.CREATURE) + .dimensions(EntityDimensions.changing(0.7f, 0.875f).withEyeHeight(0.875f)) + .defaultAttributes(CapybaraEntity::createCapybaraAttributes) + .spawnRestriction(SpawnLocationTypes.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, AnimalEntity::isValidNaturalSpawn)); + public static final EntityType DUCK = of("duck", FabricEntityTypeBuilder.createMob() + .entityFactory(DuckEntity::new) + .spawnGroup(SpawnGroup.CREATURE) + .dimensions(EntityDimensions.changing(0.4F, 0.8F).withEyeHeight(1.09375f)) + .trackRangeChunks(10) + .trackedUpdateRate(3) + .defaultAttributes(DuckEntity::createDuckAttributes) + .spawnRestriction(SpawnLocationTypes.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, AnimalEntity::isValidNaturalSpawn)); + public static final EntityType LUSH_CREEPER = of("lush_creeper", FabricEntityTypeBuilder.createMob() + .entityFactory(LushCreeperEntity::new) + .spawnGroup(SpawnGroup.MONSTER) + .dimensions(EntityDimensions.changing(0.6f, 1.7f)) + .trackRangeChunks(8) + .defaultAttributes(LushCreeperEntity::createCreeperAttributes) + .spawnRestriction(SpawnLocationTypes.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, LushCreeperEntity::canSpawn)); + public static final EntityType SUNKEN_SKELETON = of("sunken_skeleton", FabricEntityTypeBuilder.createMob() + .entityFactory(SunkenSkeletonEntity::new) + .spawnGroup(SpawnGroup.MONSTER) + .dimensions(EntityDimensions.changing(0.6F, 1.99F).withEyeHeight(1.74F)) + .trackRangeChunks(8) + .defaultAttributes(SunkenSkeletonEntity::createSunkenSkeletonAttributes) + .spawnRestriction(SpawnLocationTypes.IN_WATER, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, SunkenSkeletonEntity::canSpawn)); + + private static EntityType of(String path, FabricEntityTypeBuilder builder) { + return Registry.register(Registries.ENTITY_TYPE, Promenade.id(path), builder.build()); + } + + public static void appendWorldGen() { + if (Promenade.CONFIG.animals.ducks_weight != 0) { + Predicate hasFarmAnimals = BiomeSelectors.spawnsOneOf(EntityType.COW).and(BiomeSelectors.spawnsOneOf(EntityType.SHEEP)).and(BiomeSelectors.spawnsOneOf(EntityType.CHICKEN)).and(BiomeSelectors.spawnsOneOf(EntityType.PIG)); + BiomeModifications.addSpawn(hasFarmAnimals, SpawnGroup.CREATURE, PromenadeEntityTypes.DUCK, Promenade.CONFIG.animals.ducks_weight, 4, 4); + } + if (Promenade.CONFIG.animals.capybaras_weight != 0) { + BiomeModifications.addSpawn(BiomeSelectors.tag(PromenadeBiomeTags.CAPYBARA_SPAWN), SpawnGroup.CREATURE, PromenadeEntityTypes.CAPYBARA, Promenade.CONFIG.animals.capybaras_weight, 3, 5); + } + if (Promenade.CONFIG.monsters.lush_creepers_weight != 0) { + BiomeModifications.addSpawn(BiomeSelectors.spawnsOneOf(EntityType.CREEPER).and(BiomeSelectors.excludeByKey(BiomeKeys.LUSH_CAVES)), SpawnGroup.MONSTER, LUSH_CREEPER, Promenade.CONFIG.monsters.lush_creepers_weight, 2, 3); + BiomeModifications.addSpawn(BiomeSelectors.includeByKey(BiomeKeys.LUSH_CAVES), SpawnGroup.MONSTER, LUSH_CREEPER, Promenade.CONFIG.monsters.lush_creepers_weight * 4, 2, 4); + } + if (Promenade.CONFIG.monsters.sunken_skeletons_weight != 0) { + BiomeModifications.addSpawn(biomeSelectionContext -> biomeSelectionContext.hasTag(PromenadeBiomeTags.SUNKEN_SKELETON_SPAWN), SpawnGroup.MONSTER, SUNKEN_SKELETON, Promenade.CONFIG.monsters.sunken_skeletons_weight, 1, 3); + } + } +} diff --git a/src/main/java/fr/hugman/promenade/entity/SunkenSkeletonEntity.java b/src/main/java/fr/hugman/promenade/entity/SunkenSkeletonEntity.java index 00b60497..f9260a78 100644 --- a/src/main/java/fr/hugman/promenade/entity/SunkenSkeletonEntity.java +++ b/src/main/java/fr/hugman/promenade/entity/SunkenSkeletonEntity.java @@ -1,6 +1,6 @@ package fr.hugman.promenade.entity; -import fr.hugman.promenade.registry.content.MonsterContent; +import fr.hugman.promenade.sound.PromenadeSoundEvents; import net.minecraft.entity.*; import net.minecraft.entity.ai.NoPenaltyTargeting; import net.minecraft.entity.ai.control.MoveControl; @@ -23,7 +23,6 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.projectile.ArrowEntity; import net.minecraft.entity.projectile.PersistentProjectileEntity; -import net.minecraft.entity.projectile.ProjectileEntity; import net.minecraft.entity.projectile.ProjectileUtil; import net.minecraft.item.*; import net.minecraft.nbt.NbtCompound; @@ -36,7 +35,6 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.random.Random; import net.minecraft.world.*; -import org.joml.Vector3f; import javax.annotation.Nullable; import java.util.Arrays; @@ -45,6 +43,7 @@ import java.util.stream.Collectors; public class SunkenSkeletonEntity extends AbstractSkeletonEntity implements CrossbowUser { + //TODO: make a registry for types private static final TrackedData SUNKEN_SKELETON_TYPE = DataTracker.registerData(SunkenSkeletonEntity.class, TrackedDataHandlerRegistry.INTEGER); private static final TrackedData CHARGING = DataTracker.registerData(SunkenSkeletonEntity.class, TrackedDataHandlerRegistry.BOOLEAN); private static final TrackedData SWIMMING = DataTracker.registerData(SunkenSkeletonEntity.class, TrackedDataHandlerRegistry.BOOLEAN); @@ -93,30 +92,30 @@ public static DefaultAttributeContainer.Builder createSunkenSkeletonAttributes() @Override protected SoundEvent getAmbientSound() { - return this.isSubmergedIn(FluidTags.WATER) ? MonsterContent.SUNKEN_SKELETON_AMBIENT_SOUND : SoundEvents.ENTITY_SKELETON_AMBIENT; + return this.isSubmergedIn(FluidTags.WATER) ? PromenadeSoundEvents.SUNKEN_SKELETON_AMBIENT : SoundEvents.ENTITY_SKELETON_AMBIENT; } @Override protected SoundEvent getHurtSound(DamageSource source) { - return this.isSubmergedIn(FluidTags.WATER) ? MonsterContent.SUNKEN_SKELETON_HURT_SOUND : SoundEvents.ENTITY_SKELETON_HURT; + return this.isSubmergedIn(FluidTags.WATER) ? PromenadeSoundEvents.SUNKEN_SKELETON_HURT : SoundEvents.ENTITY_SKELETON_HURT; } @Override protected SoundEvent getDeathSound() { - return this.isSubmergedIn(FluidTags.WATER) ? MonsterContent.SUNKEN_SKELETON_DEATH_SOUND : SoundEvents.ENTITY_SKELETON_DEATH; + return this.isSubmergedIn(FluidTags.WATER) ? PromenadeSoundEvents.SUNKEN_SKELETON_DEATH : SoundEvents.ENTITY_SKELETON_DEATH; } @Override protected SoundEvent getStepSound() { - return this.isSubmergedIn(FluidTags.WATER) ? MonsterContent.SUNKEN_SKELETON_STEP_SOUND : SoundEvents.ENTITY_SKELETON_STEP; + return this.isSubmergedIn(FluidTags.WATER) ? PromenadeSoundEvents.SUNKEN_SKELETON_STEP : SoundEvents.ENTITY_SKELETON_STEP; } protected SoundEvent getShootSound() { - return this.isSubmergedIn(FluidTags.WATER) ? MonsterContent.SUNKEN_SKELETON_SHOOT_SOUND : (this.isHolding(stack -> stack.getItem() instanceof CrossbowItem) ? SoundEvents.ITEM_CROSSBOW_SHOOT : SoundEvents.ENTITY_SKELETON_SHOOT); + return this.isSubmergedIn(FluidTags.WATER) ? PromenadeSoundEvents.SUNKEN_SKELETON_SHOOT : (this.isHolding(stack -> stack.getItem() instanceof CrossbowItem) ? SoundEvents.ITEM_CROSSBOW_SHOOT : SoundEvents.ENTITY_SKELETON_SHOOT); } @Override - public void attack(LivingEntity target, float pullProgress) { + public void shootAt(LivingEntity target, float pullProgress) { if (this.isHolding(stack -> stack.getItem() instanceof CrossbowItem)) { this.shoot(this, 1.6F); } else { @@ -133,19 +132,8 @@ public void attack(LivingEntity target, float pullProgress) { } @Override - public void shoot(LivingEntity target, ItemStack crossbow, ProjectileEntity projectile, float multiShotSpray) { - this.shoot(this, target, projectile, multiShotSpray, 1.6F); - } - - @Override - public void shoot(LivingEntity entity, LivingEntity target, ProjectileEntity projectile, float multishotSpray, float speed) { - double d = target.getX() - entity.getX(); - double e = target.getZ() - entity.getZ(); - double f = Math.sqrt(d * d + e * e); - double g = target.getBodyY(0.3333333333333333D) - projectile.getY() + f * 0.20000000298023224D; - Vector3f vec3f = this.getProjectileLaunchVelocity(entity, new Vec3d(d, g, e), multishotSpray); - projectile.setVelocity(vec3f.x(), vec3f.y(), vec3f.z(), speed, (float) (14 - entity.getWorld().getDifficulty().getId() * 4)); - entity.playSound(getShootSound(), 1.0F, 1.0F / (entity.getRandom().nextFloat() * 0.4F + 0.8F)); + public void shoot(LivingEntity entity, float speed) { + CrossbowUser.super.shoot(entity, speed); } protected PersistentProjectileEntity createArrowProjectile(ItemStack arrow, float damageModifier) { @@ -157,18 +145,19 @@ protected PersistentProjectileEntity createArrowProjectile(ItemStack arrow, floa return persistentProjectileEntity; } + @Nullable @Override - public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData, @Nullable NbtCompound entityNbt) { + public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, @Nullable EntityData entityData) { this.setVariant(Type.fromId(world.getRandom().nextInt(Type.values().length))); - return super.initialize(world, difficulty, spawnReason, entityData, entityNbt); + return super.initialize(world, difficulty, spawnReason, entityData); } @Override - protected void initDataTracker() { - super.initDataTracker(); - this.dataTracker.startTracking(SUNKEN_SKELETON_TYPE, 0); - this.dataTracker.startTracking(CHARGING, false); - this.dataTracker.startTracking(SWIMMING, false); + protected void initDataTracker(DataTracker.Builder builder) { + super.initDataTracker(builder); + builder.add(SUNKEN_SKELETON_TYPE, 0); + builder.add(CHARGING, false); + builder.add(SWIMMING, false); } @Override diff --git a/src/main/java/fr/hugman/promenade/entity/ai/brain/sensor/PromenadeSensorTypes.java b/src/main/java/fr/hugman/promenade/entity/ai/brain/sensor/PromenadeSensorTypes.java index 35a9c0c7..fbdb91e8 100644 --- a/src/main/java/fr/hugman/promenade/entity/ai/brain/sensor/PromenadeSensorTypes.java +++ b/src/main/java/fr/hugman/promenade/entity/ai/brain/sensor/PromenadeSensorTypes.java @@ -1,24 +1,20 @@ package fr.hugman.promenade.entity.ai.brain.sensor; -import fr.hugman.dawn.Registrar; import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.registry.tag.PromenadeItemTags; +import fr.hugman.promenade.entity.CapybaraBrain; import net.minecraft.entity.ai.brain.sensor.Sensor; import net.minecraft.entity.ai.brain.sensor.SensorType; import net.minecraft.entity.ai.brain.sensor.TemptationsSensor; -import net.minecraft.recipe.Ingredient; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; -import net.minecraft.util.Identifier; import java.util.function.Supplier; public class PromenadeSensorTypes { - public static final SensorType CAPYBARA_TEMPTATIONS = new SensorType<>(() -> new TemptationsSensor(Ingredient.fromTag(PromenadeItemTags.BREEDING_CAPYBARA))); + public static final SensorType CAPYBARA_TEMPTATIONS = register("capybara_temptations", () -> new TemptationsSensor(CapybaraBrain.getTemptItemPredicate())); - public static void register(Registrar r) { - // TODO: add sensor types to registrar in Dawn API - Registry.register(Registries.SENSOR_TYPE, r.id("capybara_temptations"), CAPYBARA_TEMPTATIONS); - } + private static > SensorType register(String path, Supplier factory) { + return Registry.register(Registries.SENSOR_TYPE, Promenade.id(path), new SensorType<>(factory)); + } } diff --git a/src/main/java/fr/hugman/promenade/entity/data/PromenadeTrackedData.java b/src/main/java/fr/hugman/promenade/entity/data/PromenadeTrackedData.java index 18a9a1a4..b9115f09 100644 --- a/src/main/java/fr/hugman/promenade/entity/data/PromenadeTrackedData.java +++ b/src/main/java/fr/hugman/promenade/entity/data/PromenadeTrackedData.java @@ -1,17 +1,22 @@ package fr.hugman.promenade.entity.data; -import fr.hugman.promenade.entity.CapybaraState; +import fr.hugman.promenade.entity.CapybaraEntity; import fr.hugman.promenade.entity.CapybaraVariant; -import fr.hugman.promenade.registry.PromenadeRegistries; +import fr.hugman.promenade.registry.PromenadeRegistryKeys; import net.minecraft.entity.data.TrackedDataHandler; import net.minecraft.entity.data.TrackedDataHandlerRegistry; +import net.minecraft.network.RegistryByteBuf; +import net.minecraft.network.codec.PacketCodec; +import net.minecraft.network.codec.PacketCodecs; +import net.minecraft.registry.entry.RegistryEntry; public class PromenadeTrackedData { - public static final TrackedDataHandler CAPYBARA_VARIANT = TrackedDataHandler.of(PromenadeRegistries.CAPYBARA_VARIANT); - public static final TrackedDataHandler CAPYBARA_STATE = TrackedDataHandler.ofEnum(CapybaraState.class); + public static final TrackedDataHandler> CAPYBARA_VARIANT = of(PacketCodecs.registryEntry(PromenadeRegistryKeys.CAPYBARA_VARIANT)); + public static final TrackedDataHandler CAPYBARA_STATE = of(CapybaraEntity.State.PACKET_CODEC); - public static void init() { - TrackedDataHandlerRegistry.register(CAPYBARA_VARIANT); - TrackedDataHandlerRegistry.register(CAPYBARA_STATE); - } + public static TrackedDataHandler of(PacketCodec codec) { + var handler = TrackedDataHandler.create(codec); + TrackedDataHandlerRegistry.register(handler); + return handler; + } } diff --git a/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeature.java b/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeature.java deleted file mode 100644 index 9707ada2..00000000 --- a/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeature.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.hugman.promenade.gen.feature; - -import com.mojang.serialization.Codec; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.util.FeatureContext; - -public class BoulderFeature extends Feature { - public BoulderFeature(Codec codec) { - super(codec); - } - - @Override - public boolean generate(FeatureContext context) { - Random random = context.getRandom(); - BoulderFeatureConfig config = context.getConfig(); - StructureWorldAccess world = context.getWorld(); - int radius = config.radius().get(random); - BlockPos pos = context.getOrigin(); - for(; pos.getY() > world.getBottomY() + radius; pos = pos.down()) { - if(!world.isAir(pos)) { - if(world.getBlockState(pos).isIn(config.replaceableBlocks())) { - break; - } - } - } - if(pos.getY() <= world.getBottomY() + radius) { - return false; - } - else { - for(int i = 0; i < 3; ++i) { - int j = random.nextInt(radius); - int k = random.nextInt(radius); - int l = random.nextInt(radius); - float f = (float) (j + k + l) * 0.333F + 0.5F; - for(BlockPos pos2 : BlockPos.iterate(pos.add(-j, -k, -l), pos.add(j, k, l))) { - if(pos2.getSquaredDistance(pos) <= (double) (f * f)) { - this.setBlockState(world, pos2, config.stateProvider().get(random, pos)); - } - } - pos = pos.add(-1 + random.nextInt(2), -random.nextInt(2), -1 + random.nextInt(2)); - } - return true; - } - } -} diff --git a/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeatureConfig.java b/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeatureConfig.java deleted file mode 100644 index e7672313..00000000 --- a/src/main/java/fr/hugman/promenade/gen/feature/BoulderFeatureConfig.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.hugman.promenade.gen.feature; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.block.Block; -import net.minecraft.registry.RegistryCodecs; -import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.entry.RegistryEntryList; -import net.minecraft.util.math.intprovider.IntProvider; -import net.minecraft.world.gen.feature.FeatureConfig; -import net.minecraft.world.gen.stateprovider.BlockStateProvider; - -public record BoulderFeatureConfig(BlockStateProvider stateProvider, RegistryEntryList replaceableBlocks, IntProvider radius) implements FeatureConfig { - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( - BlockStateProvider.TYPE_CODEC.fieldOf("state").forGetter((config) -> config.stateProvider), - RegistryCodecs.entryList(RegistryKeys.BLOCK).fieldOf("replaceable").forGetter((config) -> config.replaceableBlocks), - IntProvider.createValidatingCodec(1, 64).fieldOf("count").forGetter((config) -> config.radius) - ).apply(instance, BoulderFeatureConfig::new)); -} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/gen/feature/FreezeTopLayerFeature.java b/src/main/java/fr/hugman/promenade/gen/feature/FreezeTopLayerFeature.java deleted file mode 100644 index cd6c83d9..00000000 --- a/src/main/java/fr/hugman/promenade/gen/feature/FreezeTopLayerFeature.java +++ /dev/null @@ -1,106 +0,0 @@ -package fr.hugman.promenade.gen.feature; - -import com.mojang.serialization.Codec; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.block.SnowBlock; -import net.minecraft.block.SnowyBlock; -import net.minecraft.block.SpreadableBlock; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.intprovider.ConstantIntProvider; -import net.minecraft.util.math.intprovider.UniformIntProvider; -import net.minecraft.world.Heightmap; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.feature.DefaultFeatureConfig; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.util.FeatureContext; - -public class FreezeTopLayerFeature extends Feature { - public FreezeTopLayerFeature(Codec codec) { - super(codec); - } - - @Override - public boolean generate(FeatureContext context) { - var world = context.getWorld(); - var random = context.getRandom(); - var blockPos = context.getOrigin(); - var topMutable = new BlockPos.Mutable(); - var groundMutable = new BlockPos.Mutable(); - var undergroundMutable = new BlockPos.Mutable(); - - var snowDepth = ConstantIntProvider.create(3); - var topSnowLayers = UniformIntProvider.create(2, 3); - var packedIceDepth = UniformIntProvider.create(2, 3); - var normalIceDepth = UniformIntProvider.create(2, 3); - - for(int i = 0; i < 16; ++i) { - for(int j = 0; j < 16; ++j) { - int x = blockPos.getX() + i; - int z = blockPos.getZ() + j; - - /* ==================== */ - /* SURFACE GROUND LEVEL */ - /* ==================== */ - topMutable.set(x, world.getTopY(Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, x, z), z); - Biome biome = world.getBiome(topMutable).value(); - groundMutable.set(topMutable).move(Direction.DOWN, 1); - - // Layers of Snow - if(biome.canSetSnow(world, topMutable)) { - for(int n = 1; n <= snowDepth.get(random); n++) { - if(!biome.canSetSnow(world, topMutable)) { - break; - } - world.setBlockState(topMutable, Blocks.SNOW_BLOCK.getDefaultState(), Block.NOTIFY_LISTENERS); - topMutable.move(Direction.UP, 1); - } - - BlockState blockState = world.getBlockState(groundMutable); - if(blockState.contains(SnowyBlock.SNOWY)) { - world.setBlockState(groundMutable, blockState.with(SnowyBlock.SNOWY, true), Block.NOTIFY_LISTENERS); - } - } - - // Water -> Ice - if(biome.canSetIce(world, groundMutable, false)) { - undergroundMutable.set(groundMutable); - for(int n = 1; n <= packedIceDepth.get(random); n++) { - if(!biome.canSetIce(world, undergroundMutable, false)) { - break; - } - world.setBlockState(undergroundMutable, Blocks.PACKED_ICE.getDefaultState(), Block.NOTIFY_LISTENERS); - undergroundMutable.move(Direction.DOWN, 1); - } - for(int n = 1; n <= normalIceDepth.get(random); n++) { - if(!biome.canSetIce(world, undergroundMutable, false)) { - break; - } - world.setBlockState(undergroundMutable, Blocks.ICE.getDefaultState(), Block.NOTIFY_LISTENERS); - undergroundMutable.move(Direction.DOWN, 1); - } - } - - /* ======================= */ - /* SURFACE MOTION BLOCKING */ - /* ======================= */ - topMutable.set(x, world.getTopY(Heightmap.Type.MOTION_BLOCKING, x, z), z); - groundMutable.set(topMutable).move(Direction.DOWN, 1); - biome = world.getBiome(topMutable).value(); // just in case I guess? - - // Thin Snow - if(biome.canSetSnow(world, topMutable)) { - world.setBlockState(topMutable, Blocks.SNOW.getDefaultState().with(SnowBlock.LAYERS, topSnowLayers.get(random)), Block.NOTIFY_LISTENERS); - - BlockState blockState = world.getBlockState(groundMutable); - if(blockState.contains(SnowyBlock.SNOWY)) { - world.setBlockState(groundMutable, blockState.with(SnowyBlock.SNOWY, true), Block.NOTIFY_LISTENERS); - } - } - } - } - return true; - } -} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/gen/feature/TallHugeFungusFeature.java b/src/main/java/fr/hugman/promenade/gen/feature/TallHugeFungusFeature.java deleted file mode 100644 index 5fba8d9d..00000000 --- a/src/main/java/fr/hugman/promenade/gen/feature/TallHugeFungusFeature.java +++ /dev/null @@ -1,192 +0,0 @@ -package fr.hugman.promenade.gen.feature; - -import com.mojang.serialization.Codec; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.WorldAccess; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.HugeFungusFeatureConfig; -import net.minecraft.world.gen.feature.WeepingVinesFeature; -import net.minecraft.world.gen.feature.util.FeatureContext; - -public class TallHugeFungusFeature extends Feature { - public TallHugeFungusFeature(Codec codec) { - super(codec); - } - - private static boolean isReplaceable(StructureWorldAccess world, BlockPos pos, HugeFungusFeatureConfig config, boolean checkConfig) { - if (world.testBlockState(pos, AbstractBlock.AbstractBlockState::isReplaceable)) { - return true; - } else { - return checkConfig && config.replaceableBlocks.test(world, pos); - } - } - - private static BlockPos.Mutable getStartPos(WorldAccess world, BlockPos origin, Block block) { - BlockPos.Mutable mutable = origin.mutableCopy(); - for (int i = origin.getY(); i >= 1; --i) { - mutable.setY(i); - Block block2 = world.getBlockState(mutable.down()).getBlock(); - if (block2 == block) { - return mutable; - } - } - return null; - } - - private static void generateVines(BlockPos blockPos, WorldAccess worldAccess, Random random) { - BlockPos.Mutable mutable = blockPos.mutableCopy().move(Direction.DOWN); - if(worldAccess.isAir(mutable)) { - int i = MathHelper.nextInt(random, 1, 5); - if(random.nextInt(7) == 0) { - i *= 2; - } - WeepingVinesFeature.generateVineColumn(worldAccess, random, mutable, i, 23, 25); - } - } - - @Override - public boolean generate(FeatureContext context) { - Random random = context.getRandom(); - HugeFungusFeatureConfig config = context.getConfig(); - StructureWorldAccess world = context.getWorld(); - BlockPos pos = context.getOrigin(); - Block block = config.validBaseBlock.getBlock(); - BlockPos pos2 = null; - if(config.planted) { - Block block2 = world.getBlockState(pos.down()).getBlock(); - if(block2 == block) { - pos2 = pos; - } - } - else { - pos2 = getStartPos(world, pos, block); - } - if(pos2 == null) { - return false; - } - else { - int i = MathHelper.nextInt(random, 8, 16) * 2; - if(!config.planted) { - int j = world.getHeight(); - if(pos2.getY() + i + 1 >= j) { - return false; - } - } - boolean bl = !config.planted && random.nextFloat() < 0.16F; - world.setBlockState(pos, Blocks.AIR.getDefaultState(), 4); - this.generateStem(world, random, config, pos2, i, bl); - this.generateHat(world, random, config, pos2, i, bl); - return true; - } - } - - private void generateStem(StructureWorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos blockPos, int stemHeight, boolean thickStem) { - BlockPos.Mutable mutable = new BlockPos.Mutable(); - BlockState blockState = config.stemState; - int i = thickStem ? 1 : 0; - for (int j = -i; j <= i; ++j) { - for (int k = -i; k <= i; ++k) { - boolean bl = thickStem && MathHelper.abs(j) == i && MathHelper.abs(k) == i; - for (int l = 0; l < stemHeight; ++l) { - mutable.set(blockPos, j, l, k); - if (isReplaceable(world, mutable, config, true)) { - if (config.planted) { - if (!world.getBlockState(mutable.down()).isAir()) { - world.breakBlock(mutable, true); - } - world.setBlockState(mutable, blockState, 3); - } else if (bl) { - if (random.nextFloat() < 0.1F) { - this.setBlockState(world, mutable, blockState); - } - } - else { - this.setBlockState(world, mutable, blockState); - } - } - } - } - } - - } - - private void generateHat(StructureWorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos blockPos, int hatHeight, boolean thickStem) { - BlockPos.Mutable mutable = new BlockPos.Mutable(); - boolean bl = config.hatState.isOf(Blocks.NETHER_WART_BLOCK); - int i = Math.min(random.nextInt(1 + hatHeight / 3) + 5, hatHeight); - int j = hatHeight - i; - for (int k = j; k <= hatHeight; ++k) { - int l = k < hatHeight - random.nextInt(3) ? 2 : 1; - if (i > 8 && k < j + 4) { - l = 3; - } - if (thickStem) { - ++l; - } - for(int m = -l; m <= l; ++m) { - for(int n = -l; n <= l; ++n) { - boolean bl2 = m == -l || m == l; - boolean bl3 = n == -l || n == l; - boolean bl4 = !bl2 && !bl3 && k != hatHeight; - boolean bl5 = bl2 && bl3; - boolean bl6 = k < j + 3; - mutable.set(blockPos, m, k, n); - if (isReplaceable(world, mutable, config, false)) { - if (config.planted && !world.getBlockState(mutable.down()).isAir()) { - world.breakBlock(mutable, true); - } - if (bl6) { - if (!bl4) { - this.tryGenerateVines(world, random, mutable, config.hatState, bl); - } - } else if (bl4) { - this.generateHatBlock(world, random, config, mutable, 0.1F, 0.2F, bl ? 0.1F : 0.0F); - } - else if(bl5) { - this.generateHatBlock(world, random, config, mutable, 0.01F, 0.7F, bl ? 0.083F : 0.0F); - } - else { - this.generateHatBlock(world, random, config, mutable, 5.0E-4F, 0.98F, bl ? 0.07F : 0.0F); - } - } - } - } - } - - } - - private void generateHatBlock(WorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos.Mutable pos, float decorationChance, float generationChance, float vineChance) { - if(random.nextFloat() < decorationChance) { - this.setBlockState(world, pos, config.decorationState); - } - else if(random.nextFloat() < generationChance) { - this.setBlockState(world, pos, config.hatState); - if(random.nextFloat() < vineChance) { - generateVines(pos, world, random); - } - } - - } - - private void tryGenerateVines(WorldAccess world, Random random, BlockPos origin, BlockState state, boolean bl) { - BlockPos.Mutable mutable = origin.mutableCopy(); - if(world.getBlockState(mutable.down()).isOf(state.getBlock())) { - this.setBlockState(world, mutable, state); - } - else if((double) random.nextFloat() < 0.15D) { - this.setBlockState(world, origin, state); - if(bl && random.nextInt(11) == 0) { - generateVines(mutable, world, random); - } - } - - } -} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java b/src/main/java/fr/hugman/promenade/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java deleted file mode 100644 index 413ecf22..00000000 --- a/src/main/java/fr/hugman/promenade/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java +++ /dev/null @@ -1,39 +0,0 @@ -package fr.hugman.promenade.gen.placement_modifier; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.placementmodifier.AbstractCountPlacementModifier; -import net.minecraft.world.gen.placementmodifier.PlacementModifierType; - -public class NoiseIntervalCountPlacementModifier extends AbstractCountPlacementModifier { - public static final Codec MODIFIER_CODEC = RecordCodecBuilder.create((instance) -> instance.group( - Codec.DOUBLE.fieldOf("noise_level_min").forGetter((pm) -> pm.noiseLevelMin), - Codec.DOUBLE.fieldOf("noise_level_max").forGetter((pm) -> pm.noiseLevelMax), - Codec.INT.fieldOf("inside_value").forGetter((pm) -> pm.insideValue), - Codec.INT.fieldOf("outside_value").forGetter((pm) -> pm.outsideValue)) - .apply(instance, NoiseIntervalCountPlacementModifier::new)); - private final double noiseLevelMin; - private final double noiseLevelMax; - private final int insideValue; - private final int outsideValue; - - private NoiseIntervalCountPlacementModifier(double noiseLevelMin, double noiseLevelMax, int insideValue, int outsideValue) { - this.noiseLevelMin = noiseLevelMin; - this.noiseLevelMax = noiseLevelMax; - this.insideValue = insideValue; - this.outsideValue = outsideValue; - } - - @Override - protected int getCount(Random random, BlockPos pos) { - double d = Biome.FOLIAGE_NOISE.sample((double) pos.getX() / 200.0, (double) pos.getZ() / 200.0, false); - return (this.noiseLevelMin < d && d < this.noiseLevelMax) ? this.insideValue : this.outsideValue; - } - - public PlacementModifierType getType() { - return PlacementModifierType.NOISE_THRESHOLD_COUNT; - } -} diff --git a/src/main/java/fr/hugman/promenade/gen/tree/foliage/PalmFoliagePlacer.java b/src/main/java/fr/hugman/promenade/gen/tree/foliage/PalmFoliagePlacer.java deleted file mode 100644 index 819e3457..00000000 --- a/src/main/java/fr/hugman/promenade/gen/tree/foliage/PalmFoliagePlacer.java +++ /dev/null @@ -1,97 +0,0 @@ -package fr.hugman.promenade.gen.tree.foliage; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import fr.hugman.promenade.registry.content.CommonContent; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.intprovider.IntProvider; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.TestableWorld; -import net.minecraft.world.gen.feature.TreeFeatureConfig; -import net.minecraft.world.gen.foliage.FoliagePlacer; -import net.minecraft.world.gen.foliage.FoliagePlacerType; - -public class PalmFoliagePlacer extends FoliagePlacer { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> - PalmFoliagePlacer.fillFoliagePlacerFields(instance) - .apply(instance, PalmFoliagePlacer::new)); - - public PalmFoliagePlacer(IntProvider radius, IntProvider offset) { - super(radius, offset); - } - - @Override - protected FoliagePlacerType getType() { - return CommonContent.PALM_FOLIAGE_PLACER; - } - - @Override - protected void generate(TestableWorld world, BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, TreeNode treeNode, int foliageHeight, int radius, int offset) { - boolean bl = treeNode.isGiantTrunk(); - BlockPos blockPos = treeNode.getCenter().down(); - - int i = radius + treeNode.getFoliageRadius(); - if(i > 1) this.generateSquare(world, placer, random, config, blockPos, i, 2, bl); - this.generateSquare(world, placer, random, config, blockPos, i + 1, 1, bl); - this.generateSquare(world, placer, random, config, blockPos, i + 2, 0, bl); - this.generateSquare(world, placer, random, config, blockPos, i + 2, -1, bl); - this.generateSquare(world, placer, random, config, blockPos, i + 1, -2, bl); - } - - @Override - public int getRandomHeight(Random random, int trunkHeight, TreeFeatureConfig config) { - return 0; - } - - @Override - protected boolean isInvalidForLeaves(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) { - int d = dx + dz; // Distance from center - - if(y == 2) { - return (d <= radius - 2) || (d > radius); - } - else if(y == 1) { - if(dx == radius) return dz != 0; - if(dz == radius) return dx != 0; - - return false; - } - else if(y == 0) { - if(d <= 2) return false; - - // NESW leafs - if(dx == radius) return dz != 0; - if(dx == radius - 1 && dz == 0) return false; - if(dz == radius) return dx != 0; - if(dz == radius - 1 && dx == 0) return false; - - // Corner leafs - if(dx == radius - 2 && dz == radius - 2) return false; - if(dx == radius - 2 && dz == radius - 1) return false; - if(dx == radius - 1 && dz == radius - 2) return false; - if(d == (radius - 1) * 2 && dx == dz) return false; - - return true; - } - else if(y == -1) { - if(d == 0) return false; - if(d == 1) return radius <= 2; - - // NESW leafs - if(dx == radius) return dz != 0; - if(dz == radius) return dx != 0; - - // Corner leafs - if(d == (radius - 1) * 2 && dx == dz) return false; - - return true; - } - else if(y == -2) { - // Corner leafs - if(d == radius * 2 && dx == dz) return false; - - return true; - } - return true; - } -} diff --git a/src/main/java/fr/hugman/promenade/gen/tree/trunk/LeapingTrunkPlacer.java b/src/main/java/fr/hugman/promenade/gen/tree/trunk/LeapingTrunkPlacer.java deleted file mode 100644 index 38d1f7ae..00000000 --- a/src/main/java/fr/hugman/promenade/gen/tree/trunk/LeapingTrunkPlacer.java +++ /dev/null @@ -1,82 +0,0 @@ -package fr.hugman.promenade.gen.tree.trunk; - -import com.google.common.collect.ImmutableList; -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import fr.hugman.promenade.registry.content.CommonContent; -import net.minecraft.block.BlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.intprovider.IntProvider; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.TestableWorld; -import net.minecraft.world.gen.feature.TreeFeatureConfig; -import net.minecraft.world.gen.foliage.FoliagePlacer; -import net.minecraft.world.gen.trunk.TrunkPlacer; -import net.minecraft.world.gen.trunk.TrunkPlacerType; - -import java.util.List; -import java.util.function.BiConsumer; - -public class LeapingTrunkPlacer extends TrunkPlacer { - public static final Codec CODEC = RecordCodecBuilder.create(instance -> fillTrunkPlacerFields(instance).and(instance.group( - IntProvider.createValidatingCodec(0, 80).fieldOf("straight_max").forGetter(placer -> placer.straightMax), - IntProvider.VALUE_CODEC.fieldOf("straight_difference").forGetter(placer -> placer.straightDifference), - Codec.FLOAT.fieldOf("decline_chance").forGetter(placer -> placer.declineChance), - Codec.INT.fieldOf("max_foliage_radius_bonus").forGetter(placer -> placer.maxFoliageRadiusBonus)) - ).apply(instance, LeapingTrunkPlacer::new)); - - private final IntProvider straightMax; - private final IntProvider straightDifference; - private final float declineChance; - private final int maxFoliageRadiusBonus; - - public LeapingTrunkPlacer(int baseHeight, int firstRandomHeight, int secondRandomHeight, IntProvider straightMax, IntProvider straightDifference, float declineChance, int maxFoliageRadiusBonus) { - super(baseHeight, firstRandomHeight, secondRandomHeight); - this.straightMax = straightMax; - this.straightDifference = straightDifference; - this.declineChance = declineChance; - this.maxFoliageRadiusBonus = maxFoliageRadiusBonus; - } - - @Override - protected TrunkPlacerType getType() { - return CommonContent.LEAPING_TRUNK_PLACER; - } - - @Override - public List generate(TestableWorld world, BiConsumer replacer, Random random, int height, BlockPos startPos, TreeFeatureConfig config) { - Direction direction = Direction.Type.HORIZONTAL.random(random); - BlockPos.Mutable mutable = startPos.mutableCopy().move(Direction.DOWN); - - int j = this.straightMax.get(random); - int k = j; - - setToDirt(world, replacer, random, mutable, config); - for(int i = 0; i < height; ++i) { - mutable.move(Direction.UP); - if(k <= 0) { - j += this.straightDifference.get(random); - k = j; - if(random.nextFloat() < this.declineChance && i < height - 1) { - getAndSetState(world, replacer, random, mutable, config); - if(random.nextBoolean()) { - mutable.move(direction.rotateYClockwise()); - } - else { - mutable.move(direction.rotateYCounterclockwise()); - } - } - mutable.move(direction); - } - getAndSetState(world, replacer, random, mutable, config); - k--; - } - - mutable.move(Direction.UP); - - double heightRatio = MathHelper.clamp((height - this.baseHeight) / (double) (this.firstRandomHeight + this.secondRandomHeight), 0.0D, 0.999D); - return ImmutableList.of(new FoliagePlacer.TreeNode(mutable, MathHelper.floor((this.maxFoliageRadiusBonus + 1) * heightRatio), false)); - } -} diff --git a/src/main/java/fr/hugman/promenade/item/PromenadeItemKeys.java b/src/main/java/fr/hugman/promenade/item/PromenadeItemKeys.java new file mode 100644 index 00000000..8e96cd23 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/item/PromenadeItemKeys.java @@ -0,0 +1,45 @@ +package fr.hugman.promenade.item; + +import fr.hugman.promenade.Promenade; +import net.minecraft.item.Item; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; + +public class PromenadeItemKeys { + public static final RegistryKey SAKURA_SIGN = of("sakura_sign"); + public static final RegistryKey SAKURA_HANGING_SIGN = of("sakura_hanging_sign"); + public static final RegistryKey SAKURA_BOAT = of("sakura_boat"); + public static final RegistryKey SAKURA_CHEST_BOAT = of("sakura_chest_boat"); + + public static final RegistryKey MAPLE_SIGN = of("maple_sign"); + public static final RegistryKey MAPLE_HANGING_SIGN = of("maple_hanging_sign"); + public static final RegistryKey MAPLE_BOAT = of("maple_boat"); + public static final RegistryKey MAPLE_CHEST_BOAT = of("maple_chest_boat"); + public static final RegistryKey MAPLE_SYRUP_BOTTLE = of("maple_syrup_bottle"); + + public static final RegistryKey PALM_SIGN = of("palm_sign"); + public static final RegistryKey PALM_HANGING_SIGN = of("palm_hanging_sign"); + public static final RegistryKey PALM_BOAT = of("palm_boat"); + public static final RegistryKey PALM_CHEST_BOAT = of("palm_chest_boat"); + + public static final RegistryKey DARK_AMARANTH_SIGN = of("dark_amaranth_sign"); + public static final RegistryKey DARK_AMARANTH_HANGING_SIGN = of("dark_amaranth_hanging_sign"); + + public static final RegistryKey BLUEBERRIES = of("blueberries"); + + public static final RegistryKey BANANA = of("banana"); + public static final RegistryKey APRICOT = of("apricot"); + public static final RegistryKey MANGO = of("mango"); + + public static final RegistryKey DUCK = of("duck"); + public static final RegistryKey COOKED_DUCK = of("cooked_duck"); + + public static final RegistryKey CAPYBARA_SPAWN_EGG = of("capybara_spawn_egg"); + public static final RegistryKey DUCK_SPAWN_EGG = of("duck_spawn_egg"); + public static final RegistryKey LUSH_CREEPER_SPAWN_EGG = of("lush_creeper_spawn_egg"); + public static final RegistryKey SUNKEN_SKELETON_SPAWN_EGG = of("sunken_skeleton_spawn_egg"); + + private static RegistryKey of(String path) { + return RegistryKey.of(RegistryKeys.ITEM, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/item/PromenadeItemTags.java b/src/main/java/fr/hugman/promenade/item/PromenadeItemTags.java new file mode 100644 index 00000000..3f5fd308 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/item/PromenadeItemTags.java @@ -0,0 +1,11 @@ +package fr.hugman.promenade.item; + +import fr.hugman.dawn.DawnFactory; +import fr.hugman.promenade.Promenade; +import net.minecraft.item.Item; +import net.minecraft.registry.tag.TagKey; + +public class PromenadeItemTags { + public static final TagKey CAPYBARA_FOOD = DawnFactory.itemTag(Promenade.id("entity_food/capybara")); + public static final TagKey DUCK_FOOD = DawnFactory.itemTag(Promenade.id("entity_food/duck")); +} diff --git a/src/main/java/fr/hugman/promenade/item/PromenadeItems.java b/src/main/java/fr/hugman/promenade/item/PromenadeItems.java new file mode 100644 index 00000000..79337347 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/item/PromenadeItems.java @@ -0,0 +1,97 @@ +package fr.hugman.promenade.item; + +import com.terraformersmc.terraform.boat.api.TerraformBoatType; +import com.terraformersmc.terraform.boat.api.item.TerraformBoatItemHelper; +import com.terraformersmc.terraform.boat.impl.item.TerraformBoatItem; +import fr.hugman.dawn.DawnFactory; +import fr.hugman.dawn.item.ItemGroupHelper; +import fr.hugman.promenade.block.PromenadeBlocks; +import fr.hugman.promenade.boat.PromenadeBoatTypeKeys; +import fr.hugman.promenade.entity.PromenadeEntityTypes; +import net.minecraft.block.Blocks; +import net.minecraft.component.type.FoodComponent; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.*; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; + +public class PromenadeItems { + public static final Item SAKURA_SIGN = of(PromenadeItemKeys.SAKURA_SIGN, new SignItem(new Item.Settings().maxCount(16), PromenadeBlocks.SAKURA_SIGN, PromenadeBlocks.SAKURA_WALL_SIGN)); + public static final Item SAKURA_HANGING_SIGN = of(PromenadeItemKeys.SAKURA_HANGING_SIGN, new HangingSignItem(PromenadeBlocks.SAKURA_HANGING_SIGN, PromenadeBlocks.SAKURA_WALL_HANGING_SIGN, new Item.Settings().maxCount(16))); + public static final Item SAKURA_BOAT = ofBoat(PromenadeItemKeys.SAKURA_BOAT, PromenadeBoatTypeKeys.SAKURA, false); + public static final Item SAKURA_CHEST_BOAT = ofBoat(PromenadeItemKeys.SAKURA_CHEST_BOAT, PromenadeBoatTypeKeys.SAKURA, true); + + public static final Item MAPLE_SIGN = of(PromenadeItemKeys.MAPLE_SIGN, new SignItem(new Item.Settings().maxCount(16), PromenadeBlocks.MAPLE_SIGN, PromenadeBlocks.MAPLE_WALL_SIGN)); + public static final Item MAPLE_HANGING_SIGN = of(PromenadeItemKeys.MAPLE_HANGING_SIGN, new HangingSignItem(PromenadeBlocks.MAPLE_HANGING_SIGN, PromenadeBlocks.MAPLE_WALL_HANGING_SIGN, new Item.Settings().maxCount(16))); + public static final Item MAPLE_BOAT = ofBoat(PromenadeItemKeys.MAPLE_BOAT, PromenadeBoatTypeKeys.MAPLE, false); + public static final Item MAPLE_CHEST_BOAT = ofBoat(PromenadeItemKeys.MAPLE_CHEST_BOAT, PromenadeBoatTypeKeys.MAPLE, true); + public static final Item MAPLE_SYRUP_BOTTLE = of(PromenadeItemKeys.MAPLE_SYRUP_BOTTLE, new HoneyBottleItem(new Item.Settings() + .maxCount(16) + .food(new FoodComponent.Builder().hunger(6).saturationModifier(0.1F).build()) + .recipeRemainder(Items.GLASS_BOTTLE))); + + public static final Item PALM_SIGN = of(PromenadeItemKeys.PALM_SIGN, new SignItem(new Item.Settings().maxCount(16), PromenadeBlocks.PALM_SIGN, PromenadeBlocks.PALM_WALL_SIGN)); + public static final Item PALM_HANGING_SIGN = of(PromenadeItemKeys.PALM_HANGING_SIGN, new HangingSignItem(PromenadeBlocks.PALM_HANGING_SIGN, PromenadeBlocks.PALM_WALL_HANGING_SIGN, new Item.Settings().maxCount(16))); + public static final Item PALM_BOAT = ofBoat(PromenadeItemKeys.PALM_BOAT, PromenadeBoatTypeKeys.PALM, false); + public static final Item PALM_CHEST_BOAT = ofBoat(PromenadeItemKeys.PALM_CHEST_BOAT, PromenadeBoatTypeKeys.PALM, true); + + public static final Item DARK_AMARANTH_SIGN = of(PromenadeItemKeys.DARK_AMARANTH_SIGN, new SignItem(new Item.Settings().maxCount(16), PromenadeBlocks.DARK_AMARANTH_SIGN, PromenadeBlocks.DARK_AMARANTH_WALL_SIGN)); + public static final Item DARK_AMARANTH_HANGING_SIGN = of(PromenadeItemKeys.DARK_AMARANTH_HANGING_SIGN, new HangingSignItem(PromenadeBlocks.DARK_AMARANTH_HANGING_SIGN, PromenadeBlocks.DARK_AMARANTH_WALL_HANGING_SIGN, new Item.Settings().maxCount(16))); + + public static final Item BLUEBERRIES = of(PromenadeItemKeys.BLUEBERRIES, new AliasedBlockItem(PromenadeBlocks.BLUEBERRY_BUSH, new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.1F).build()).compostingChance(0.30F))); + + public static final Item BANANA = of(PromenadeItemKeys.BANANA, new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F))); + public static final Item APRICOT = of(PromenadeItemKeys.APRICOT, new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F))); + public static final Item MANGO = of(PromenadeItemKeys.MANGO, new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F))); + + public static final Item DUCK = of(PromenadeItemKeys.DUCK, new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.3F).statusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 600, 0), 0.3F).build()))); + public static final Item COOKED_DUCK = of(PromenadeItemKeys.COOKED_DUCK, new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(0.6F).build()))); + + public static final Item CAPYBARA_SPAWN_EGG = of(PromenadeItemKeys.CAPYBARA_SPAWN_EGG, DawnFactory.spawnEgg(PromenadeEntityTypes.CAPYBARA, 0xa0704e, 0x433930)); //TODO: review colors + public static final Item DUCK_SPAWN_EGG = of(PromenadeItemKeys.DUCK_SPAWN_EGG, DawnFactory.spawnEgg(PromenadeEntityTypes.DUCK, 10592673, 15904341)); + public static final Item LUSH_CREEPER_SPAWN_EGG = of(PromenadeItemKeys.LUSH_CREEPER_SPAWN_EGG, DawnFactory.spawnEgg(PromenadeEntityTypes.LUSH_CREEPER, 4347181, 4262661)); + public static final Item SUNKEN_SKELETON_SPAWN_EGG = of(PromenadeItemKeys.SUNKEN_SKELETON_SPAWN_EGG, DawnFactory.spawnEgg(PromenadeEntityTypes.SUNKEN_SKELETON, 12233882, 6191682)); + + private static O of(RegistryKey key, O item) { + return Registry.register(Registries.ITEM, key, item); + } + + private static Item ofBoat(RegistryKey key, RegistryKey boatKey, boolean chest) { + return ofBoat(key, boatKey, chest, new Item.Settings().maxCount(1)); + } + + private static Item ofBoat(RegistryKey key, RegistryKey boatKey, boolean chest, Item.Settings settings) { + Item item = of(key, new TerraformBoatItem(boatKey, chest, settings)); + TerraformBoatItemHelper.registerBoatDispenserBehavior(item, boatKey, chest); + return item; + } + + public static void appendItemGroups() { + ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.BIRCH_HANGING_SIGN, SAKURA_SIGN, SAKURA_HANGING_SIGN)); + ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(Items.BIRCH_CHEST_BOAT, SAKURA_BOAT, SAKURA_CHEST_BOAT)); + + ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(SAKURA_HANGING_SIGN, MAPLE_SIGN, MAPLE_HANGING_SIGN)); + ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(SAKURA_CHEST_BOAT, MAPLE_BOAT, MAPLE_CHEST_BOAT)); + ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> e.addAfter(Items.HONEY_BOTTLE, MAPLE_SYRUP_BOTTLE)); + + ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.ACACIA_HANGING_SIGN, PALM_SIGN, PALM_HANGING_SIGN)); + ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(Items.ACACIA_CHEST_BOAT, PALM_BOAT, PALM_CHEST_BOAT)); + + ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.WARPED_HANGING_SIGN, DARK_AMARANTH_SIGN, DARK_AMARANTH_HANGING_SIGN)); + + ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> { + e.addAfter(Items.SWEET_BERRIES, BLUEBERRIES); + e.addAfter(Items.ENCHANTED_GOLDEN_APPLE, BANANA); + //TODO apricot and mango + }); + + ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> e.addAfter(Items.COOKED_CHICKEN, DUCK, COOKED_DUCK)); + + ItemGroupHelper.appendSpawnEgg(CAPYBARA_SPAWN_EGG); + ItemGroupHelper.appendSpawnEgg(DUCK_SPAWN_EGG); + ItemGroupHelper.appendSpawnEgg(LUSH_CREEPER_SPAWN_EGG); + ItemGroupHelper.appendSpawnEgg(SUNKEN_SKELETON_SPAWN_EGG); + } +} diff --git a/src/main/java/fr/hugman/promenade/loot/PromenadeLootTables.java b/src/main/java/fr/hugman/promenade/loot/PromenadeLootTables.java deleted file mode 100644 index e00d98bd..00000000 --- a/src/main/java/fr/hugman/promenade/loot/PromenadeLootTables.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.hugman.promenade.loot; - -import fr.hugman.promenade.Promenade; -import net.minecraft.util.Identifier; - -public class PromenadeLootTables { - public static final Identifier WITCH_HUT_CHEST = chest("witch_hut"); - - public static Identifier chest(String name) { - return Promenade.id("chests/" + name); - } -} diff --git a/src/main/java/fr/hugman/promenade/mixin/AxeItemMixin.java b/src/main/java/fr/hugman/promenade/mixin/AxeItemMixin.java index e93dcea7..dee67209 100644 --- a/src/main/java/fr/hugman/promenade/mixin/AxeItemMixin.java +++ b/src/main/java/fr/hugman/promenade/mixin/AxeItemMixin.java @@ -1,8 +1,8 @@ package fr.hugman.promenade.mixin; import fr.hugman.promenade.block.MapleLogBlock; +import fr.hugman.promenade.block.PromenadeBlocks; import fr.hugman.promenade.block.StrippedMapleLogBlock; -import fr.hugman.promenade.registry.content.MapleContent; import net.minecraft.block.BlockState; import net.minecraft.block.PillarBlock; import net.minecraft.item.AxeItem; @@ -15,13 +15,13 @@ @Mixin(AxeItem.class) public class AxeItemMixin { - @Inject(method = "getStrippedState", at = @At("RETURN"), cancellable = true) - private void promenade$appendCustomStrip(BlockState state, CallbackInfoReturnable> cir) { - if(state.getBlock() == MapleContent.MAPLE_LOG) { - // if the log is natural, it has a 10% chance to be stripped into a stripped log with the state "has_syrup" set to true - cir.setReturnValue(Optional.of(MapleContent.STRIPPED_MAPLE_LOG.getDefaultState() - .with(PillarBlock.AXIS, state.get(PillarBlock.AXIS)) - .with(StrippedMapleLogBlock.DRIP, state.get(MapleLogBlock.NATURAL) && Math.random() < 0.1f))); - } - } + @Inject(method = "getStrippedState", at = @At("RETURN"), cancellable = true) + private void promenade$appendCustomStrip(BlockState state, CallbackInfoReturnable> cir) { + if (state.getBlock() == PromenadeBlocks.MAPLE_LOG) { + // if the log is natural, it has a 10% chance to be stripped into a stripped log with the state "has_syrup" set to true + cir.setReturnValue(Optional.of(PromenadeBlocks.STRIPPED_MAPLE_LOG.getDefaultState() + .with(PillarBlock.AXIS, state.get(PillarBlock.AXIS)) + .with(StrippedMapleLogBlock.DRIP, state.get(MapleLogBlock.NATURAL) && Math.random() < 0.1f))); + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/mixin/LivingEntityMixin.java b/src/main/java/fr/hugman/promenade/mixin/LivingEntityMixin.java index c30d5791..f1ae8229 100644 --- a/src/main/java/fr/hugman/promenade/mixin/LivingEntityMixin.java +++ b/src/main/java/fr/hugman/promenade/mixin/LivingEntityMixin.java @@ -1,6 +1,6 @@ package fr.hugman.promenade.mixin; -import fr.hugman.promenade.registry.content.GlaglaglaContent; +import fr.hugman.promenade.world.biome.PromenadeBiomes; import net.minecraft.entity.LivingEntity; import net.minecraft.registry.tag.EntityTypeTags; import org.spongepowered.asm.mixin.Mixin; @@ -10,17 +10,17 @@ @Mixin(LivingEntity.class) public class LivingEntityMixin { - // inject before the second call to `this.setFrozenTicks()` in the method `public void tickMovement()` - @Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;setFrozenTicks(I)V", ordinal = 1), cancellable = true) - private void tickMovement(CallbackInfo ci) { - LivingEntity entity = (LivingEntity) (Object) this; - int frozenTicks = entity.getFrozenTicks(); - if(GlaglaglaContent.canFreezeFromBiomeAndWeather(entity)) { - entity.setFrozenTicks(Math.min(entity.getMinFreezeDamageTicks(), frozenTicks + 1)); - if (entity.age % 40 == 0 && entity.isFrozen()) { - entity.damage(entity.getDamageSources().freeze(), entity.getType().isIn(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES) ? 5 : 1); - } - ci.cancel(); - } - } + // inject before the second call to `this.setFrozenTicks()` in the method `public void tickMovement()` + @Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/LivingEntity;setFrozenTicks(I)V", ordinal = 1), cancellable = true) + private void tickMovement(CallbackInfo ci) { + LivingEntity entity = (LivingEntity) (Object) this; + int frozenTicks = entity.getFrozenTicks(); + if (PromenadeBiomes.canFreezeFromBiomeAndWeather(entity)) { + entity.setFrozenTicks(Math.min(entity.getMinFreezeDamageTicks(), frozenTicks + 1)); + if (entity.age % 40 == 0 && entity.isFrozen()) { + entity.damage(entity.getDamageSources().freeze(), entity.getType().isIn(EntityTypeTags.FREEZE_HURTS_EXTRA_TYPES) ? 5 : 1); + } + ci.cancel(); + } + } } diff --git a/src/main/java/fr/hugman/promenade/particle/FallingLeafParticle.java b/src/main/java/fr/hugman/promenade/particle/FallingLeafParticle.java index d0161656..a1e430c2 100644 --- a/src/main/java/fr/hugman/promenade/particle/FallingLeafParticle.java +++ b/src/main/java/fr/hugman/promenade/particle/FallingLeafParticle.java @@ -19,9 +19,9 @@ public FallingLeafParticle(ClientWorld world, double x, double y, double z, Spri super(world, x, y, z); float f; this.setSprite(spriteProvider.getSprite(this.random.nextInt(12), 12)); - this.field_43369 = (float)Math.toRadians(this.random.nextBoolean() ? -30.0 : 30.0); + this.field_43369 = (float) Math.toRadians(this.random.nextBoolean() ? -30.0 : 30.0); this.field_43370 = this.random.nextFloat(); - this.field_43371 = (float)Math.toRadians(this.random.nextBoolean() ? -5.0 : 5.0); + this.field_43371 = (float) Math.toRadians(this.random.nextBoolean() ? -5.0 : 5.0); this.maxAge = MAX_AGE; this.gravityStrength = 7.5E-4f; this.scale = f = this.random.nextBoolean() ? 0.05f : 0.075f; diff --git a/src/main/java/fr/hugman/promenade/particle/FloatingParticle.java b/src/main/java/fr/hugman/promenade/particle/FloatingParticle.java index e292572c..88f2f723 100644 --- a/src/main/java/fr/hugman/promenade/particle/FloatingParticle.java +++ b/src/main/java/fr/hugman/promenade/particle/FloatingParticle.java @@ -2,12 +2,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.particle.Particle; -import net.minecraft.client.particle.ParticleFactory; -import net.minecraft.client.particle.ParticleGroup; -import net.minecraft.client.particle.ParticleTextureSheet; -import net.minecraft.client.particle.SpriteBillboardParticle; -import net.minecraft.client.particle.SpriteProvider; +import net.minecraft.client.particle.*; import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.DefaultParticleType; import net.minecraft.util.math.MathHelper; @@ -16,79 +11,78 @@ @Environment(value = EnvType.CLIENT) public class FloatingParticle extends SpriteBillboardParticle { - private static final int FADE_IN = 50; - private static final int FADE_OUT = 100; - private static final int GROUND_ALIVE = 100; + private static final int FADE_IN = 50; + private static final int FADE_OUT = 100; + private static final int GROUND_ALIVE = 100; - private float bobbingAmplitude = 1.0F; - private final float bobbingSpeed = 0.1F; + private float bobbingAmplitude = 1.0F; + private final float bobbingSpeed = 0.1F; - public FloatingParticle(ClientWorld world, SpriteProvider spriteProvider, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { - super(world, x, y - 0.125, z, velocityX, velocityY, velocityZ); - this.setBoundingBoxSpacing(0.01f, 0.01f); - this.setSprite(spriteProvider); - this.scale *= this.random.nextFloat() * 0.2f + 0.4f; - this.maxAge = (int) (16.0 / (Math.random() * 0.8 + 0.2)); - this.collidesWithWorld = true; - this.velocityMultiplier = 1.0f; - this.gravityStrength = 0.01f; - this.alpha = 0.0f; - } + public FloatingParticle(ClientWorld world, SpriteProvider spriteProvider, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { + super(world, x, y - 0.125, z, velocityX, velocityY, velocityZ); + this.setBoundingBoxSpacing(0.01f, 0.01f); + this.setSprite(spriteProvider); + this.scale *= this.random.nextFloat() * 0.2f + 0.4f; + this.maxAge = (int) (16.0 / (Math.random() * 0.8 + 0.2)); + this.collidesWithWorld = true; + this.velocityMultiplier = 1.0f; + this.gravityStrength = 0.01f; + this.alpha = 0.0f; + } - @Override - public void tick() { - super.tick(); - this.prevAngle = this.angle; - if(!this.onGround) { - this.angle = (float) Math.cos(this.age * this.bobbingSpeed) * this.bobbingAmplitude; - } - if(this.age <= FADE_IN) { - this.alpha = this.age / (float) FADE_IN; - } - if(this.maxAge - this.age <= FADE_OUT) { - this.alpha = this.maxAge - this.age / (float) FADE_OUT; - } - else if(this.onGround && this.maxAge >= this.age + FADE_OUT + GROUND_ALIVE) { - this.maxAge = this.age + FADE_OUT + GROUND_ALIVE; - } - } + @Override + public void tick() { + super.tick(); + this.prevAngle = this.angle; + if (!this.onGround) { + this.angle = (float) Math.cos(this.age * this.bobbingSpeed) * this.bobbingAmplitude; + } + if (this.age <= FADE_IN) { + this.alpha = this.age / (float) FADE_IN; + } + if (this.maxAge - this.age <= FADE_OUT) { + this.alpha = this.maxAge - this.age / (float) FADE_OUT; + } else if (this.onGround && this.maxAge >= this.age + FADE_OUT + GROUND_ALIVE) { + this.maxAge = this.age + FADE_OUT + GROUND_ALIVE; + } + } - @Override - public ParticleTextureSheet getType() { - return ParticleTextureSheet.PARTICLE_SHEET_TRANSLUCENT; - } + @Override + public ParticleTextureSheet getType() { + return ParticleTextureSheet.PARTICLE_SHEET_TRANSLUCENT; + } - @Environment(value = EnvType.CLIENT) - public record BlossomFactory(SpriteProvider spriteProvider) implements ParticleFactory { - @Override - public Particle createParticle(DefaultParticleType defaultParticleType, ClientWorld clientWorld, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { - FloatingParticle particle = new FloatingParticle(clientWorld, this.spriteProvider, x, y, z, 0.0f, -0.8f, 0.0f) { - @Override - public Optional getGroup() { - return Optional.of(ParticleGroup.SPORE_BLOSSOM_AIR); - } - }; - particle.bobbingAmplitude = MathHelper.nextBetween(clientWorld.random, 0.9f, 1.2f); - particle.maxAge = MathHelper.nextBetween(clientWorld.random, 500, 1000); - return particle; - } - } + @Environment(value = EnvType.CLIENT) + public record BlossomFactory(SpriteProvider spriteProvider) implements ParticleFactory { + @Override + public Particle createParticle(DefaultParticleType defaultParticleType, ClientWorld clientWorld, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { + FloatingParticle particle = new FloatingParticle(clientWorld, this.spriteProvider, x, y, z, 0.0f, -0.8f, 0.0f) { + @Override + public Optional getGroup() { + return Optional.of(ParticleGroup.SPORE_BLOSSOM_AIR); + } + }; + particle.bobbingAmplitude = MathHelper.nextBetween(clientWorld.random, 0.9f, 1.2f); + particle.maxAge = MathHelper.nextBetween(clientWorld.random, 500, 1000); + return particle; + } + } - @Environment(value = EnvType.CLIENT) - public record MapleLeafFactory(SpriteProvider spriteProvider) implements ParticleFactory { - @Override - public Particle createParticle(DefaultParticleType type, ClientWorld world, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { - FloatingParticle particle = new FloatingParticle(world, this.spriteProvider, x, y, z, 0.0f, -0.8f, 0.0f) { - @Override - public Optional getGroup() { - return Optional.of(ParticleGroup.SPORE_BLOSSOM_AIR); - } - }; - particle.bobbingAmplitude = MathHelper.nextBetween(world.random, 0.6f, 0.8f); - particle.maxAge = MathHelper.nextBetween(world.random, 500, 1000); - particle.scale *= world.random.nextFloat() * 0.1f + 1.4f; - return particle; - } - } + @Environment(value = EnvType.CLIENT) + public record MapleLeafFactory(SpriteProvider spriteProvider) implements ParticleFactory { + @Override + public Particle createParticle(DefaultParticleType type, ClientWorld world, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { + FloatingParticle particle = new FloatingParticle(world, this.spriteProvider, x, y, z, 0.0f, -0.8f, 0.0f) { + @Override + public Optional getGroup() { + return Optional.of(ParticleGroup.SPORE_BLOSSOM_AIR); + } + }; + particle.bobbingAmplitude = MathHelper.nextBetween(world.random, 0.6f, 0.8f); + particle.maxAge = MathHelper.nextBetween(world.random, 500, 1000); + particle.scale *= world.random.nextFloat() * 0.1f + 1.4f; + return particle; + } + } } \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/particle/PromenadeParticleTypes.java b/src/main/java/fr/hugman/promenade/particle/PromenadeParticleTypes.java new file mode 100644 index 00000000..7875d048 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/particle/PromenadeParticleTypes.java @@ -0,0 +1,21 @@ +package fr.hugman.promenade.particle; + +import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; +import net.minecraft.particle.DefaultParticleType; +import net.minecraft.particle.ParticleType; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; + +public class PromenadeParticleTypes { + public static final DefaultParticleType BLUSH_SAKURA_BLOSSOM = register("blush_sakura_blossom", FabricParticleTypes.simple()); + public static final DefaultParticleType COTTON_SAKURA_BLOSSOM = register("cotton_sakura_blossom", FabricParticleTypes.simple()); + + public static final DefaultParticleType VERMILION_MAPLE_LEAF = register("vermilion_maple_leaf", FabricParticleTypes.simple()); + public static final DefaultParticleType FULVOUS_MAPLE_LEAF = register("fulvous_maple_leaf", FabricParticleTypes.simple()); + public static final DefaultParticleType MIKADO_MAPLE_LEAF = register("mikado_maple_leaf", FabricParticleTypes.simple()); + + public static > B register(String path, B particleType) { + return Registry.register(Registries.PARTICLE_TYPE, Promenade.id(path), particleType); + } +} diff --git a/src/main/java/fr/hugman/promenade/registry/PromenadeRegistries.java b/src/main/java/fr/hugman/promenade/registry/PromenadeRegistries.java index f8151a7c..3b8e810b 100644 --- a/src/main/java/fr/hugman/promenade/registry/PromenadeRegistries.java +++ b/src/main/java/fr/hugman/promenade/registry/PromenadeRegistries.java @@ -1,10 +1,10 @@ package fr.hugman.promenade.registry; import fr.hugman.promenade.entity.CapybaraVariant; -import fr.hugman.promenade.entity.CapybaraVariants; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; +import net.fabricmc.fabric.api.event.registry.DynamicRegistries; public class PromenadeRegistries { - public static final Registry CAPYBARA_VARIANT = Registries.create(PromenadeRegistryKeys.CAPYBARA_VARIANT, registry -> CapybaraVariants.getDefault()); + public static void register() { + DynamicRegistries.registerSynced(PromenadeRegistryKeys.CAPYBARA_VARIANT, CapybaraVariant.CODEC); + } } diff --git a/src/main/java/fr/hugman/promenade/registry/PromenadeRegistryKeys.java b/src/main/java/fr/hugman/promenade/registry/PromenadeRegistryKeys.java index d655d04b..d27d3de3 100644 --- a/src/main/java/fr/hugman/promenade/registry/PromenadeRegistryKeys.java +++ b/src/main/java/fr/hugman/promenade/registry/PromenadeRegistryKeys.java @@ -6,5 +6,5 @@ import net.minecraft.registry.RegistryKey; public class PromenadeRegistryKeys { - public static final RegistryKey> CAPYBARA_VARIANT = RegistryKey.ofRegistry(Promenade.id("capybara_variant")); + public static final RegistryKey> CAPYBARA_VARIANT = RegistryKey.ofRegistry(Promenade.id("capybara_variant")); } diff --git a/src/main/java/fr/hugman/promenade/registry/content/AmaranthContent.java b/src/main/java/fr/hugman/promenade/registry/content/AmaranthContent.java deleted file mode 100644 index 38ab3d78..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/AmaranthContent.java +++ /dev/null @@ -1,158 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import com.terraformersmc.biolith.api.biome.BiomePlacement; -import com.terraformersmc.biolith.api.surface.SurfaceGeneration; -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.block.DawnRootsBlock; -import fr.hugman.dawn.block.SignBlocks; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.block.DyliumBlock; -import fr.hugman.promenade.registry.tag.PromenadeBlockTags; -import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeRegistry; -import net.minecraft.block.*; -import net.minecraft.block.enums.Instrument; -import net.minecraft.item.ItemGroups; -import net.minecraft.registry.RegistryKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.sound.SoundEvents; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeKeys; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.minecraft.world.gen.surfacebuilder.MaterialRules; -import net.minecraft.world.gen.surfacebuilder.VanillaSurfaceRules; - -public class AmaranthContent { - public static final BlockSetType BLOCK_SET_TYPE = BlockSetTypeRegistry.register(Promenade.id("dark_amaranth"), true, BlockSoundGroup.NETHER_WOOD, SoundEvents.BLOCK_NETHER_WOOD_DOOR_CLOSE, SoundEvents.BLOCK_NETHER_WOOD_DOOR_OPEN, SoundEvents.BLOCK_NETHER_WOOD_TRAPDOOR_CLOSE, SoundEvents.BLOCK_NETHER_WOOD_TRAPDOOR_OPEN, SoundEvents.BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.BLOCK_NETHER_WOOD_BUTTON_CLICK_OFF, SoundEvents.BLOCK_NETHER_WOOD_BUTTON_CLICK_ON); - public static final WoodType WOOD_TYPE = WoodTypeRegistry.register(Promenade.id("dark_amaranth"), BLOCK_SET_TYPE, BlockSoundGroup.NETHER_WOOD, BlockSoundGroup.NETHER_WOOD_HANGING_SIGN, SoundEvents.BLOCK_NETHER_WOOD_FENCE_GATE_CLOSE, SoundEvents.BLOCK_NETHER_WOOD_FENCE_GATE_OPEN); - private static final BlockSoundGroup WOOD_SOUNDS = BlockSoundGroup.NETHER_WOOD; - private static final MapColor BARK_COLOR = MapColor.DARK_DULL_PINK; - private static final MapColor WOOD_COLOR = MapColor.GRAY; - - public static final RegistryKey> PLANTED_AMARANTH_FUNGUS = DawnFactory.configuredFeature(Promenade.id("amaranth_fungus/planted")); - - public static final Block BLACK_DYLIUM = new DyliumBlock( - DawnBlockSettings.create() - .item() - .mapColor(MapColor.BLACK) - .instrument(Instrument.BASEDRUM) - .requiresTool() - .strength(3.0F, 9.0F) - .sounds(BlockSoundGroup.NYLIUM) - .ticksRandomly()); - public static final Block DARK_AMARANTH_WART_BLOCK = new Block( - DawnBlockSettings.create() - .item() - .mapColor(MapColor.PURPLE) - .strength(1.0F) - .sounds(BlockSoundGroup.WART_BLOCK)); - public static final Block DARK_AMARANTH_ROOTS = new DawnRootsBlock(state -> state.isIn(PromenadeBlockTags.DARK_AMARANTH_ROOTS_PLACEABLE_ON), - DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.65F)) - .mapColor(MapColor.PURPLE) - .replaceable() - .breakInstantly() - .noCollision() - .sounds(BlockSoundGroup.ROOTS)); - - public static final Block STRIPPED_DARK_AMARANTH_STEM = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, BlockSoundGroup.NETHER_STEM, false)); - public static final Block DARK_AMARANTH_STEM = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, BARK_COLOR, BlockSoundGroup.NETHER_STEM, false).stripsInto(STRIPPED_DARK_AMARANTH_STEM)); - public static final Block STRIPPED_DARK_AMARANTH_HYPHAE = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, BlockSoundGroup.NETHER_STEM, false)); - public static final Block DARK_AMARANTH_HYPHAE = new PillarBlock(DawnFactory.logSettings(BARK_COLOR, BlockSoundGroup.NETHER_STEM, false).stripsInto(STRIPPED_DARK_AMARANTH_HYPHAE)); - - public static final Block DARK_AMARANTH_PLANKS = DawnFactory.planks(WOOD_COLOR, WOOD_SOUNDS, false); - public static final Block DARK_AMARANTH_STAIRS = DawnFactory.stairs(DARK_AMARANTH_PLANKS); - public static final Block DARK_AMARANTH_SLAB = DawnFactory.slab(DARK_AMARANTH_PLANKS); - public static final Block DARK_AMARANTH_FENCE = DawnFactory.fence(DARK_AMARANTH_PLANKS); - public static final Block DARK_AMARANTH_FENCE_GATE = DawnFactory.fenceGate(DARK_AMARANTH_PLANKS, WOOD_TYPE); - public static final Block DARK_AMARANTH_DOOR = DawnFactory.door(DARK_AMARANTH_PLANKS, BLOCK_SET_TYPE); - public static final Block DARK_AMARANTH_TRAPDOOR = DawnFactory.trapdoor(DARK_AMARANTH_PLANKS, BLOCK_SET_TYPE); - public static final Block DARK_AMARANTH_BUTTON = DawnFactory.woodenButton(DARK_AMARANTH_PLANKS, BLOCK_SET_TYPE); - public static final Block DARK_AMARANTH_PRESSURE_PLATE = DawnFactory.pressurePlate(DARK_AMARANTH_PLANKS, BLOCK_SET_TYPE); - - public static final SignBlocks DARK_AMARANTH_SIGNS = DawnFactory.signs(Promenade.id("dark_amaranth"), DARK_AMARANTH_PLANKS); - - public static final Block DARK_AMARANTH_FUNGUS = DawnFactory.fungus(MapColor.PURPLE, PLANTED_AMARANTH_FUNGUS, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_PLACEABLE_ON, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_GROWABLE_ON); - public static final Block POTTED_DARK_AMARANTH_FUNGUS = DawnFactory.potted(DARK_AMARANTH_FUNGUS); - - public static final RegistryKey DARK_AMARANTH_FOREST = DawnFactory.biome(Promenade.id("dark_amaranth_forest")); - public static final RegistryKey TALL_DARK_AMARANTH_FOREST = DawnFactory.biome(Promenade.id("tall_dark_amaranth_forest")); - - public static void register(Registrar r) { - r.add(("black_dylium"), BLACK_DYLIUM); - r.add(("dark_amaranth_wart_block"), DARK_AMARANTH_WART_BLOCK); - r.add(("dark_amaranth_roots"), DARK_AMARANTH_ROOTS); - - r.add(("dark_amaranth_stem"), DARK_AMARANTH_STEM); - r.add(("stripped_dark_amaranth_stem"), STRIPPED_DARK_AMARANTH_STEM); - r.add(("dark_amaranth_hyphae"), DARK_AMARANTH_HYPHAE); - r.add(("stripped_dark_amaranth_hyphae"), STRIPPED_DARK_AMARANTH_HYPHAE); - - r.add(("dark_amaranth_planks"), DARK_AMARANTH_PLANKS); - r.add(("dark_amaranth_stairs"), DARK_AMARANTH_STAIRS); - r.add(("dark_amaranth_slab"), DARK_AMARANTH_SLAB); - r.add(("dark_amaranth_fence"), DARK_AMARANTH_FENCE); - r.add(("dark_amaranth_fence_gate"), DARK_AMARANTH_FENCE_GATE); - r.add(("dark_amaranth_door"), DARK_AMARANTH_DOOR); - r.add(("dark_amaranth_trapdoor"), DARK_AMARANTH_TRAPDOOR); - r.add(("dark_amaranth_button"), DARK_AMARANTH_BUTTON); - r.add(("dark_amaranth_pressure_plate"), DARK_AMARANTH_PRESSURE_PLATE); - - r.add(("dark_amaranth"), DARK_AMARANTH_SIGNS); - - r.add(("dark_amaranth_fungus"), DARK_AMARANTH_FUNGUS); - r.add(("potted_dark_amaranth_fungus"), POTTED_DARK_AMARANTH_FUNGUS); - - appendItemGroups(); - appendWorldGen(); - } - - private static void appendItemGroups() { - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.WARPED_BUTTON, - DARK_AMARANTH_STEM, - DARK_AMARANTH_HYPHAE, - STRIPPED_DARK_AMARANTH_STEM, - STRIPPED_DARK_AMARANTH_HYPHAE, - DARK_AMARANTH_PLANKS, - DARK_AMARANTH_STAIRS, - DARK_AMARANTH_SLAB, - DARK_AMARANTH_FENCE, - DARK_AMARANTH_FENCE_GATE, - DARK_AMARANTH_DOOR, - DARK_AMARANTH_TRAPDOOR, - DARK_AMARANTH_PRESSURE_PLATE, - DARK_AMARANTH_BUTTON)); - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.WARPED_NYLIUM, BLACK_DYLIUM); - e.addAfter(Blocks.WARPED_STEM, DARK_AMARANTH_STEM); - e.addAfter(Blocks.WARPED_WART_BLOCK, DARK_AMARANTH_WART_BLOCK); - e.addAfter(Blocks.WARPED_FUNGUS, DARK_AMARANTH_FUNGUS); - e.addAfter(Blocks.WARPED_ROOTS, DARK_AMARANTH_ROOTS); - }); - ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.WARPED_HANGING_SIGN, DARK_AMARANTH_SIGNS.sign(), DARK_AMARANTH_SIGNS.hangingSign())); - } - - private static void appendWorldGen() { - if (Promenade.CONFIG.biomes.dark_amaranth_forests_weight <= 0) { - return; - } - double weight = Promenade.CONFIG.biomes.dark_amaranth_forests_weight / 100.0D; - BiomePlacement.replaceEnd(BiomeKeys.END_HIGHLANDS, TALL_DARK_AMARANTH_FOREST, weight); - BiomePlacement.replaceEnd(BiomeKeys.END_MIDLANDS, DARK_AMARANTH_FOREST, weight); - - MaterialRules.MaterialCondition isDarkAmaranthForest = MaterialRules.biome(DARK_AMARANTH_FOREST, TALL_DARK_AMARANTH_FOREST); - SurfaceGeneration.addEndSurfaceRules(Promenade.id("end_surface"), MaterialRules.sequence( - MaterialRules.condition(isDarkAmaranthForest, - MaterialRules.condition( - MaterialRules.STONE_DEPTH_FLOOR, - VanillaSurfaceRules.block(AmaranthContent.BLACK_DYLIUM) - ) - )) - ); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/AnimalContent.java b/src/main/java/fr/hugman/promenade/registry/content/AnimalContent.java deleted file mode 100644 index a025a38b..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/AnimalContent.java +++ /dev/null @@ -1,93 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.entity.CapybaraEntity; -import fr.hugman.promenade.entity.CapybaraVariants; -import fr.hugman.promenade.entity.DuckEntity; -import fr.hugman.promenade.registry.tag.PromenadeBiomeTags; -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext; -import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; -import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; -import net.minecraft.entity.EntityDimensions; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.SpawnGroup; -import net.minecraft.entity.SpawnRestriction; -import net.minecraft.entity.effect.StatusEffectInstance; -import net.minecraft.entity.effect.StatusEffects; -import net.minecraft.entity.passive.AnimalEntity; -import net.minecraft.item.FoodComponent; -import net.minecraft.item.Item; -import net.minecraft.item.ItemGroups; -import net.minecraft.item.Items; -import net.minecraft.sound.SoundEvent; -import net.minecraft.world.Heightmap; - -import java.util.function.Predicate; - -public class AnimalContent { - public static final EntityType CAPYBARA = FabricEntityTypeBuilder.createMob() - .entityFactory(CapybaraEntity::new) - .spawnGroup(SpawnGroup.CREATURE) - .dimensions(EntityDimensions.fixed(0.7f, 0.875f)) - .defaultAttributes(CapybaraEntity::createCapybaraAttributes) - .spawnRestriction(SpawnRestriction.Location.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, AnimalEntity::isValidNaturalSpawn) - .build(); - public static final Item CAPYBARA_SPAWN_EGG = DawnFactory.spawnEgg(CAPYBARA, 0xa0704e, 0x433930); - public static final SoundEvent CAPYBARA_AMBIENT_SOUND = SoundEvent.of(Promenade.id("entity.capybara.ambient")); - public static final SoundEvent CAPYBARA_AMBIENT_BABY_SOUND = SoundEvent.of(Promenade.id("entity.capybara.ambient.baby")); - public static final SoundEvent CAPYBARA_FART_SOUND = SoundEvent.of(Promenade.id("entity.capybara.fart")); - - public static final EntityType DUCK = FabricEntityTypeBuilder.createMob() - .entityFactory(DuckEntity::new) - .spawnGroup(SpawnGroup.CREATURE) - .dimensions(EntityDimensions.fixed(0.4F, 0.8F)) - .trackRangeChunks(10) - .trackedUpdateRate(3) - .defaultAttributes(DuckEntity::createDuckAttributes) - .spawnRestriction(SpawnRestriction.Location.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, AnimalEntity::isValidNaturalSpawn) - .build(); - public static final Item DUCK_SPAWN_EGG = DawnFactory.spawnEgg(DUCK, 10592673, 15904341); - public static final SoundEvent DUCK_AMBIENT_SOUND = SoundEvent.of(Promenade.id("entity.duck.ambient")); - public static final SoundEvent DUCK_HURT_SOUND = SoundEvent.of(Promenade.id("entity.duck.hurt")); - public static final SoundEvent DUCK_DEATH_SOUND = SoundEvent.of(Promenade.id("entity.duck.death")); - public static final SoundEvent DUCK_STEP_SOUND = SoundEvent.of(Promenade.id("entity.duck.step")); - - public static final Item DUCK_FOOD = new Item(new DawnItemSettings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.3F).statusEffect(new StatusEffectInstance(StatusEffects.HUNGER, 600, 0), 0.3F).meat().build())); - public static final Item COOKED_DUCK_FOOD = new Item(new DawnItemSettings().food(new FoodComponent.Builder().hunger(6).saturationModifier(0.6F).meat().build())); - - public static void register(Registrar r) { - CapybaraVariants.register(r); - - r.add(("capybara"), CAPYBARA); - r.add(("capybara_spawn_egg"), CAPYBARA_SPAWN_EGG); - Registrar.add(CAPYBARA_AMBIENT_SOUND); - Registrar.add(CAPYBARA_AMBIENT_BABY_SOUND); - - r.add(("duck"), DUCK); - r.add(("duck_spawn_egg"), DUCK_SPAWN_EGG); - Registrar.add(DUCK_AMBIENT_SOUND); - Registrar.add(DUCK_HURT_SOUND); - Registrar.add(DUCK_DEATH_SOUND); - Registrar.add(DUCK_STEP_SOUND); - - r.add(("duck"), DUCK_FOOD); - r.add(("cooked_duck"), COOKED_DUCK_FOOD); - - if(Promenade.CONFIG.animals.ducks_weight != 0) { - Predicate hasFarmAnimals = BiomeSelectors.spawnsOneOf(EntityType.COW).and(BiomeSelectors.spawnsOneOf(EntityType.SHEEP)).and(BiomeSelectors.spawnsOneOf(EntityType.CHICKEN)).and(BiomeSelectors.spawnsOneOf(EntityType.PIG)); - BiomeModifications.addSpawn(hasFarmAnimals, SpawnGroup.CREATURE, DUCK, Promenade.CONFIG.animals.ducks_weight, 4, 4); - } - if(Promenade.CONFIG.animals.capybaras_weight != 0) { - BiomeModifications.addSpawn(BiomeSelectors.tag(PromenadeBiomeTags.CAPYBARA_SPAWN), SpawnGroup.CREATURE, CAPYBARA, Promenade.CONFIG.animals.capybaras_weight, 3, 5); - } - - ItemGroupHelper.appendSpawnEgg(CAPYBARA_SPAWN_EGG); - ItemGroupHelper.appendSpawnEgg(DUCK_SPAWN_EGG); - ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> e.addAfter(Items.COOKED_CHICKEN, DUCK_FOOD, COOKED_DUCK_FOOD)); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/CommonContent.java b/src/main/java/fr/hugman/promenade/registry/content/CommonContent.java deleted file mode 100644 index 82995295..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/CommonContent.java +++ /dev/null @@ -1,35 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.promenade.gen.feature.BoulderFeature; -import fr.hugman.promenade.gen.feature.BoulderFeatureConfig; -import fr.hugman.promenade.gen.feature.FreezeTopLayerFeature; -import fr.hugman.promenade.gen.feature.TallHugeFungusFeature; -import fr.hugman.promenade.gen.placement_modifier.NoiseIntervalCountPlacementModifier; -import fr.hugman.promenade.gen.tree.foliage.PalmFoliagePlacer; -import fr.hugman.promenade.gen.tree.trunk.LeapingTrunkPlacer; -import net.minecraft.world.gen.feature.DefaultFeatureConfig; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.HugeFungusFeatureConfig; -import net.minecraft.world.gen.foliage.FoliagePlacerType; -import net.minecraft.world.gen.placementmodifier.PlacementModifierType; -import net.minecraft.world.gen.trunk.TrunkPlacerType; - -public class CommonContent { - public static final TrunkPlacerType LEAPING_TRUNK_PLACER = DawnFactory.trunkPlacer(LeapingTrunkPlacer.CODEC); - public static final FoliagePlacerType PALM_FOLIAGE_PLACER = DawnFactory.foliagePlacer(PalmFoliagePlacer.CODEC); - public static final Feature TALL_HUGE_FUNGUS = new TallHugeFungusFeature(HugeFungusFeatureConfig.CODEC); - public static final Feature BOULDER = new BoulderFeature(BoulderFeatureConfig.CODEC); - - public static final PlacementModifierType NOISE_INTERVAL_COUNT = () -> NoiseIntervalCountPlacementModifier.MODIFIER_CODEC; - - public static void register(Registrar r) { - r.add(("leaping"), LEAPING_TRUNK_PLACER); - r.add(("palm"), PALM_FOLIAGE_PLACER); - r.add(("tall_huge_fungus"), TALL_HUGE_FUNGUS); - r.add(("boulder"), BOULDER); - - r.add(("noise_interval_count"), NOISE_INTERVAL_COUNT); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/FoodContent.java b/src/main/java/fr/hugman/promenade/registry/content/FoodContent.java deleted file mode 100644 index f111a41d..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/FoodContent.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.block.BlueberryBushBlock; -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.minecraft.block.Block; -import net.minecraft.block.MapColor; -import net.minecraft.block.piston.PistonBehavior; -import net.minecraft.item.*; -import net.minecraft.registry.RegistryKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.PlacedFeature; -import net.minecraft.world.gen.feature.VegetationPlacedFeatures; - -public class FoodContent { - public static final Block BLUEBERRY_BUSH = new BlueberryBushBlock( - DawnBlockSettings.create() - .mapColor(MapColor.DARK_GREEN) - .ticksRandomly() - .noCollision() - .sounds(BlockSoundGroup.SWEET_BERRY_BUSH) - .pistonBehavior(PistonBehavior.DESTROY) - .burnable(60, 100)); - public static final Item BLUEBERRIES = new AliasedBlockItem(BLUEBERRY_BUSH, new DawnItemSettings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.1F).build()).compostingChance(0.30F)); - public static final RegistryKey PATCH_BLUEBERRY_BUSH_COMMON = DawnFactory.placedFeature(Promenade.id("patch/blueberry_bush/common")); - public static final RegistryKey PATCH_BLUEBERRY_BUSH_RARE = DawnFactory.placedFeature(Promenade.id("patch/blueberry_bush/rare")); - - public static final Item BANANA = new Item(new DawnItemSettings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F)); - public static final Item APRICOT = new Item(new DawnItemSettings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F)); - public static final Item MANGO = new Item(new DawnItemSettings().food(new FoodComponent.Builder().hunger(4).saturationModifier(0.3F).build()).compostingChance(0.65F)); - - public static void register(Registrar r) { - r.add(("blueberry_bush"), BLUEBERRY_BUSH); - r.add(("blueberries"), BLUEBERRIES); - - r.add(("banana"), BANANA); - r.add(("apricot"), APRICOT); - r.add(("mango"), MANGO); - - if(Promenade.CONFIG.world_features.blueberry_bushes) { - BiomeModifications.addFeature(c -> c.hasPlacedFeature(VegetationPlacedFeatures.PATCH_BERRY_COMMON), GenerationStep.Feature.VEGETAL_DECORATION, PATCH_BLUEBERRY_BUSH_COMMON); - BiomeModifications.addFeature(c -> c.hasPlacedFeature(VegetationPlacedFeatures.PATCH_BERRY_RARE), GenerationStep.Feature.VEGETAL_DECORATION, PATCH_BLUEBERRY_BUSH_RARE); - } - - ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> { - e.addAfter(Items.SWEET_BERRIES, BLUEBERRIES); - e.addAfter(Items.ENCHANTED_GOLDEN_APPLE, BANANA); - //TODO apricot and mango - }); - } -} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/registry/content/GlaglaglaContent.java b/src/main/java/fr/hugman/promenade/registry/content/GlaglaglaContent.java deleted file mode 100644 index 63177368..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/GlaglaglaContent.java +++ /dev/null @@ -1,103 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import com.terraformersmc.biolith.api.biome.BiomePlacement; -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.PromenadeFactory; -import fr.hugman.promenade.block.SnowyLeavesBlock; -import fr.hugman.promenade.gen.feature.FreezeTopLayerFeature; -import net.minecraft.block.Blocks; -import net.minecraft.entity.EquipmentSlot; -import net.minecraft.entity.LivingEntity; -import net.minecraft.item.ItemGroups; -import net.minecraft.registry.RegistryKey; -import net.minecraft.registry.entry.RegistryEntry; -import net.minecraft.registry.tag.EntityTypeTags; -import net.minecraft.registry.tag.ItemTags; -import net.minecraft.registry.tag.TagKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.sound.SoundEvent; -import net.minecraft.world.LightType; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeKeys; -import net.minecraft.world.gen.feature.DefaultFeatureConfig; - -public class GlaglaglaContent { - public static final SoundEvent BLOCK_SNOWY_LEAVES_BREAK = SoundEvent.of(Promenade.id("block.snowy_leaves.break")); - public static final SoundEvent BLOCK_SNOWY_LEAVES_STEP = SoundEvent.of(Promenade.id("block.snowy_leaves.step")); - public static final SoundEvent BLOCK_SNOWY_LEAVES_PLACE = SoundEvent.of(Promenade.id("block.snowy_leaves.place")); - public static final SoundEvent BLOCK_SNOWY_LEAVES_HIT = SoundEvent.of(Promenade.id("block.snowy_leaves.hit")); - public static final SoundEvent BLOCK_SNOWY_LEAVES_FALL = SoundEvent.of(Promenade.id("block.snowy_leaves.fall")); - public static final BlockSoundGroup SNOWY_LEAVES_SOUNDS = new BlockSoundGroup(1.0f, 1.0f, BLOCK_SNOWY_LEAVES_BREAK, BLOCK_SNOWY_LEAVES_STEP, BLOCK_SNOWY_LEAVES_PLACE, BLOCK_SNOWY_LEAVES_HIT, BLOCK_SNOWY_LEAVES_FALL); - - public static final SnowyLeavesBlock SNOWY_SPRUCE_LEAVES = PromenadeFactory.snowyLeaves(); - - public static final FreezeTopLayerFeature FREEZE_TOP_LAYER = new FreezeTopLayerFeature(DefaultFeatureConfig.CODEC); - - public static final RegistryKey GLACARIAN_TAIGA = DawnFactory.biome(Promenade.id("glacarian_taiga")); - public static final TagKey CAN_FREEZE_DURING_SNOWFALL = DawnFactory.biomeTag(Promenade.id("can_freeze_during_snowfall")); - - public static void register(Registrar r) { - Registrar.add(BLOCK_SNOWY_LEAVES_BREAK); - Registrar.add(BLOCK_SNOWY_LEAVES_STEP); - Registrar.add(BLOCK_SNOWY_LEAVES_PLACE); - Registrar.add(BLOCK_SNOWY_LEAVES_HIT); - Registrar.add(BLOCK_SNOWY_LEAVES_FALL); - - r.add(("snowy_spruce_leaves"), SNOWY_SPRUCE_LEAVES); - - r.add(("freeze_top_layer"), FREEZE_TOP_LAYER); - - appendItemGroups(); - appendWorldGen(); - } - - private static void appendItemGroups() { - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.SPRUCE_LEAVES, SNOWY_SPRUCE_LEAVES); - }); - } - - private static void appendWorldGen() { - if (Promenade.CONFIG.biomes.glacarian_taiga_weight <= 0) { - return; - } - double weight = Promenade.CONFIG.biomes.glacarian_taiga_weight / 100.0D; - BiomePlacement.replaceOverworld(BiomeKeys.TAIGA, GlaglaglaContent.GLACARIAN_TAIGA, weight); - BiomePlacement.replaceOverworld(BiomeKeys.SNOWY_TAIGA, GlaglaglaContent.GLACARIAN_TAIGA, weight); - BiomePlacement.replaceOverworld(BiomeKeys.SNOWY_SLOPES, GlaglaglaContent.GLACARIAN_TAIGA, weight); - BiomePlacement.replaceOverworld(BiomeKeys.JAGGED_PEAKS, GlaglaglaContent.GLACARIAN_TAIGA, weight); - BiomePlacement.replaceOverworld(BiomeKeys.GROVE, GlaglaglaContent.GLACARIAN_TAIGA, weight); - } - - public static boolean canFreezeFromBiomeAndWeather(LivingEntity entity) { - RegistryEntry biome = entity.getWorld().getBiome(entity.getBlockPos()); - if(entity.getType().isIn(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES)) { - // is immune - return false; - } - if (!biome.isIn(CAN_FREEZE_DURING_SNOWFALL) || entity.isSpectator()) { - // is not the correct biome - // is spectator - return false; - } - if (!entity.getWorld().isRaining()) { - // is not snowing - return false; - } - boolean exposedToSky = entity.getWorld().getLightLevel(LightType.SKY, entity.getBlockPos()) >= 5; - boolean lightSourceNear = entity.getWorld().getLightLevel(LightType.BLOCK, entity.getBlockPos()) >= 5; - if (lightSourceNear || !exposedToSky) { - // is near a light source - // is not exposed much to sky - return false; - } - // wear any leather piece - return !entity.getEquippedStack(EquipmentSlot.HEAD).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && - !entity.getEquippedStack(EquipmentSlot.CHEST).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && - !entity.getEquippedStack(EquipmentSlot.LEGS).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && - !entity.getEquippedStack(EquipmentSlot.FEET).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/IgneousContent.java b/src/main/java/fr/hugman/promenade/registry/content/IgneousContent.java deleted file mode 100644 index c0b97d59..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/IgneousContent.java +++ /dev/null @@ -1,83 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext; -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; -import net.minecraft.block.MapColor; -import net.minecraft.item.ItemGroups; -import net.minecraft.registry.RegistryKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.OreConfiguredFeatures; -import net.minecraft.world.gen.feature.PlacedFeature; - -import java.util.function.Predicate; - -public class IgneousContent { - public static final Block ASPHALT = new Block(DawnBlockSettings.copyOf(Blocks.ANDESITE).item().mapColor(MapColor.DEEPSLATE_GRAY).sounds(BlockSoundGroup.BASALT)); - public static final Block ASPHALT_SLAB = DawnFactory.slab(ASPHALT); - public static final Block ASPHALT_STAIRS = DawnFactory.stairs(ASPHALT); - public static final Block ASPHALT_WALL = DawnFactory.wall(ASPHALT); - - public static final Block POLISHED_ASPHALT = new Block(DawnBlockSettings.copyOf(ASPHALT)); - public static final Block POLISHED_ASPHALT_SLAB = DawnFactory.slab(POLISHED_ASPHALT); - public static final Block POLISHED_ASPHALT_STAIRS = DawnFactory.stairs(POLISHED_ASPHALT); - - public static final Block BLUNITE = new Block(DawnBlockSettings.copyOf(Blocks.ANDESITE).item().mapColor(MapColor.TERRACOTTA_CYAN).sounds(BlockSoundGroup.TUFF)); - public static final Block BLUNITE_SLAB = DawnFactory.slab(BLUNITE); - public static final Block BLUNITE_STAIRS = DawnFactory.stairs(BLUNITE); - public static final Block BLUNITE_WALL = DawnFactory.wall(BLUNITE); - - public static final Block POLISHED_BLUNITE = new Block(DawnBlockSettings.copyOf(BLUNITE)); - public static final Block POLISHED_BLUNITE_SLAB = DawnFactory.slab(POLISHED_BLUNITE); - public static final Block POLISHED_BLUNITE_STAIRS = DawnFactory.stairs(POLISHED_BLUNITE); - - public static final RegistryKey ORE_BLUNITE_UPPER = DawnFactory.placedFeature(Promenade.id("ore/blunite/upper")); - public static final RegistryKey ORE_BLUNITE_LOWER = DawnFactory.placedFeature(Promenade.id("ore/blunite/lower")); - public static final RegistryKey ORE_ASPHALT_UPPER = DawnFactory.placedFeature(Promenade.id("ore/asphalt/upper")); - public static final RegistryKey ORE_ASPHALT_LOWER = DawnFactory.placedFeature(Promenade.id("ore/asphalt/lower")); - - public static void register(Registrar r) { - r.add(("asphalt"), ASPHALT); - r.add(("asphalt_slab"), ASPHALT_SLAB); - r.add(("asphalt_stairs"), ASPHALT_STAIRS); - r.add(("asphalt_wall"), ASPHALT_WALL); - - r.add(("polished_asphalt"), POLISHED_ASPHALT); - r.add(("polished_asphalt_slab"), POLISHED_ASPHALT_SLAB); - r.add(("polished_asphalt_stairs"), POLISHED_ASPHALT_STAIRS); - - r.add(("blunite"), BLUNITE); - r.add(("blunite_slab"), BLUNITE_SLAB); - r.add(("blunite_stairs"), BLUNITE_STAIRS); - r.add(("blunite_wall"), BLUNITE_WALL); - - r.add(("polished_blunite"), POLISHED_BLUNITE); - r.add(("polished_blunite_slab"), POLISHED_BLUNITE_SLAB); - r.add(("polished_blunite_stairs"), POLISHED_BLUNITE_STAIRS); - - - if(Promenade.CONFIG.world_features.igneous_rock_patches) { - Predicate hasIgneousRocks = c -> c.hasFeature(OreConfiguredFeatures.ORE_ANDESITE) && c.hasFeature(OreConfiguredFeatures.ORE_DIORITE) && c.hasFeature(OreConfiguredFeatures.ORE_GRANITE); - BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, ORE_BLUNITE_UPPER); - BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, ORE_BLUNITE_LOWER); - BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, ORE_ASPHALT_UPPER); - BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, ORE_ASPHALT_LOWER); - } - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> e.addAfter(Blocks.ANDESITE, BLUNITE, ASPHALT)); - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.POLISHED_ANDESITE_SLAB, - BLUNITE, BLUNITE_SLAB, BLUNITE_STAIRS, BLUNITE_WALL, - POLISHED_BLUNITE, POLISHED_BLUNITE_SLAB, POLISHED_BLUNITE_STAIRS, - ASPHALT, ASPHALT_SLAB, ASPHALT_STAIRS, ASPHALT_WALL, - POLISHED_ASPHALT, POLISHED_ASPHALT_SLAB, POLISHED_ASPHALT_STAIRS - )); - - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/MapleContent.java b/src/main/java/fr/hugman/promenade/registry/content/MapleContent.java deleted file mode 100644 index 46776fff..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/MapleContent.java +++ /dev/null @@ -1,188 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import com.terraformersmc.biolith.api.biome.BiomePlacement; -import com.terraformersmc.terraform.boat.api.TerraformBoatType; -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.SignBlocks; -import fr.hugman.dawn.block.sapling.OakLikeSaplingGenerator; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.PromenadeFactory; -import fr.hugman.promenade.block.MapleLogBlock; -import fr.hugman.promenade.block.StrippedMapleLogBlock; -import fr.hugman.promenade.village.TradeOfferUtils; -import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper; -import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; -import net.minecraft.block.*; -import net.minecraft.item.*; -import net.minecraft.particle.DefaultParticleType; -import net.minecraft.registry.RegistryKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeKeys; - -public class MapleContent { - public static final BlockSetType BLOCK_SET_TYPE = BlockSetTypeRegistry.registerWood(Promenade.id("maple")); - public static final WoodType WOOD_TYPE = WoodTypeRegistry.register(Promenade.id("maple"), BLOCK_SET_TYPE); - private static final BlockSoundGroup WOOD_SOUNDS = BlockSoundGroup.WOOD; - private static final MapColor BARK_COLOR = MapColor.DEEPSLATE_GRAY; - private static final MapColor WOOD_COLOR = MapColor.TERRACOTTA_WHITE; - - public static final MapColor SAP_LEAVES_COLOR = MapColor.DARK_GREEN; - public static final MapColor VERMILION_LEAVES_COLOR = MapColor.DULL_RED; - public static final MapColor FULVOUS_LEAVES_COLOR = MapColor.ORANGE; - public static final MapColor MIKADO_LEAVES_COLOR = MapColor.GOLD; - - public static final Block STRIPPED_MAPLE_LOG = new StrippedMapleLogBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block MAPLE_LOG = new MapleLogBlock(DawnFactory.logSettings(WOOD_COLOR, BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_MAPLE_LOG)); - public static final Block STRIPPED_MAPLE_WOOD = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block MAPLE_WOOD = new PillarBlock(DawnFactory.logSettings(BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_MAPLE_WOOD)); - - public static final Block MAPLE_PLANKS = DawnFactory.planks(WOOD_COLOR, WOOD_SOUNDS, true); - public static final Block MAPLE_STAIRS = DawnFactory.stairs(MAPLE_PLANKS); - public static final Block MAPLE_SLAB = DawnFactory.slab(MAPLE_PLANKS); - public static final Block MAPLE_FENCE = DawnFactory.fence(MAPLE_PLANKS); - public static final Block MAPLE_FENCE_GATE = DawnFactory.fenceGate(MAPLE_PLANKS, WOOD_TYPE); - public static final Block MAPLE_DOOR = DawnFactory.door(MAPLE_PLANKS, BLOCK_SET_TYPE); - public static final Block MAPLE_TRAPDOOR = DawnFactory.trapdoor(MAPLE_PLANKS, BLOCK_SET_TYPE); - public static final Block MAPLE_BUTTON = DawnFactory.woodenButton(MAPLE_PLANKS, BLOCK_SET_TYPE); - public static final Block MAPLE_PRESSURE_PLATE = DawnFactory.pressurePlate(MAPLE_PLANKS, BLOCK_SET_TYPE); - - public static final SignBlocks MAPLE_SIGNS = DawnFactory.signs(Promenade.id("maple"), MAPLE_PLANKS); - public static final TerraformBoatType MAPLE_BOAT_TYPE = DawnFactory.boat(Promenade.id("maple"), Items.OAK_PLANKS); //TODO change when possible (PR #72 on TerraformersMC/Terraform) - - public static final Item MAPLE_SYRUP_BOTTLE = new HoneyBottleItem(new DawnItemSettings() - .maxCount(16) - .food(new FoodComponent.Builder().hunger(6).saturationModifier(0.1F).build()) - .recipeRemainder(Items.GLASS_BOTTLE)); - - public static final Block SAP_MAPLE_SAPLING = DawnFactory.sapling(SAP_LEAVES_COLOR, OakLikeSaplingGenerator.of(Promenade.id("maple/sap"))); - public static final Block POTTED_SAP_MAPLE_SAPLING = DawnFactory.potted(SAP_MAPLE_SAPLING); - public static final Block SAP_MAPLE_LEAVES = DawnFactory.leaves(SAP_LEAVES_COLOR); - public static final Block SAP_MAPLE_LEAF_PILE = PromenadeFactory.leafPile(); - - public static final DefaultParticleType VERMILION_MAPLE_LEAF = FabricParticleTypes.simple(); - public static final Block VERMILION_MAPLE_SAPLING = DawnFactory.sapling(VERMILION_LEAVES_COLOR, OakLikeSaplingGenerator.of(Promenade.id("maple/vermilion"))); - public static final Block POTTED_VERMILION_MAPLE_SAPLING = DawnFactory.potted(VERMILION_MAPLE_SAPLING); - public static final Block VERMILION_MAPLE_LEAVES = PromenadeFactory.decoratedLeaves(VERMILION_LEAVES_COLOR, VERMILION_MAPLE_LEAF); - public static final Block VERMILION_MAPLE_LEAF_PILE = PromenadeFactory.leafPile(VERMILION_LEAVES_COLOR); - public static final Block VERMILION_CARPETED_GRASS_BLOCK = PromenadeFactory.carpetedGrassBlock(VERMILION_LEAVES_COLOR); - - public static final DefaultParticleType FULVOUS_MAPLE_LEAF = FabricParticleTypes.simple(); - public static final Block FULVOUS_MAPLE_SAPLING = DawnFactory.sapling(FULVOUS_LEAVES_COLOR, OakLikeSaplingGenerator.of(Promenade.id("maple/fulvous"))); - public static final Block POTTED_FULVOUS_MAPLE_SAPLING = DawnFactory.potted(FULVOUS_MAPLE_SAPLING); - public static final Block FULVOUS_MAPLE_LEAVES = PromenadeFactory.decoratedLeaves(FULVOUS_LEAVES_COLOR, FULVOUS_MAPLE_LEAF); - public static final Block FULVOUS_MAPLE_LEAF_PILE = PromenadeFactory.leafPile(FULVOUS_LEAVES_COLOR); - public static final Block FULVOUS_CARPETED_GRASS_BLOCK = PromenadeFactory.carpetedGrassBlock(FULVOUS_LEAVES_COLOR); - - public static final DefaultParticleType MIKADO_MAPLE_LEAF = FabricParticleTypes.simple(); - public static final Block MIKADO_MAPLE_SAPLING = DawnFactory.sapling(MIKADO_LEAVES_COLOR, OakLikeSaplingGenerator.of(Promenade.id("maple/mikado"))); - public static final Block POTTED_MIKADO_MAPLE_SAPLING = DawnFactory.potted(MIKADO_MAPLE_SAPLING); - public static final Block MIKADO_MAPLE_LEAVES = PromenadeFactory.decoratedLeaves(MIKADO_LEAVES_COLOR, MIKADO_MAPLE_LEAF); - public static final Block MIKADO_MAPLE_LEAF_PILE = PromenadeFactory.leafPile(MIKADO_LEAVES_COLOR); - public static final Block MIKADO_CARPETED_GRASS_BLOCK = PromenadeFactory.carpetedGrassBlock(MIKADO_LEAVES_COLOR); - - public static final RegistryKey CARNELIAN_TREEWAY = DawnFactory.biome(Promenade.id("carnelian_treeway")); - - public static void register(Registrar r) { - r.add(("maple_log"), MAPLE_LOG); - r.add(("stripped_maple_log"), STRIPPED_MAPLE_LOG); - r.add(("maple_wood"), MAPLE_WOOD); - r.add(("stripped_maple_wood"), STRIPPED_MAPLE_WOOD); - - r.add(("maple_planks"), MAPLE_PLANKS); - r.add(("maple_stairs"), MAPLE_STAIRS); - r.add(("maple_slab"), MAPLE_SLAB); - r.add(("maple_fence"), MAPLE_FENCE); - r.add(("maple_fence_gate"), MAPLE_FENCE_GATE); - r.add(("maple_door"), MAPLE_DOOR); - r.add(("maple_trapdoor"), MAPLE_TRAPDOOR); - r.add(("maple_button"), MAPLE_BUTTON); - r.add(("maple_pressure_plate"), MAPLE_PRESSURE_PLATE); - - r.add(("maple"), MAPLE_SIGNS); - r.add(("maple"), MAPLE_BOAT_TYPE); - - r.add(("maple_syrup_bottle"), MAPLE_SYRUP_BOTTLE); - - r.add(("sap_maple_sapling"), SAP_MAPLE_SAPLING); - r.add(("potted_sap_maple_sapling"), POTTED_SAP_MAPLE_SAPLING); - r.add(("sap_maple_leaves"), SAP_MAPLE_LEAVES); - r.add(("sap_maple_leaf_pile"), SAP_MAPLE_LEAF_PILE); - - r.add(("vermilion_maple_leaf"), VERMILION_MAPLE_LEAF); - r.add(("vermilion_maple_sapling"), VERMILION_MAPLE_SAPLING); - r.add(("potted_vermilion_maple_sapling"), POTTED_VERMILION_MAPLE_SAPLING); - r.add(("vermilion_maple_leaves"), VERMILION_MAPLE_LEAVES); - r.add(("vermilion_maple_leaf_pile"), VERMILION_MAPLE_LEAF_PILE); - r.add(("vermilion_carpeted_grass_block"), VERMILION_CARPETED_GRASS_BLOCK); - - r.add(("fulvous_maple_leaf"), FULVOUS_MAPLE_LEAF); - r.add(("fulvous_maple_sapling"), FULVOUS_MAPLE_SAPLING); - r.add(("potted_fulvous_maple_sapling"), POTTED_FULVOUS_MAPLE_SAPLING); - r.add(("fulvous_maple_leaves"), FULVOUS_MAPLE_LEAVES); - r.add(("fulvous_maple_leaf_pile"), FULVOUS_MAPLE_LEAF_PILE); - r.add(("fulvous_carpeted_grass_block"), FULVOUS_CARPETED_GRASS_BLOCK); - - r.add(("mikado_maple_leaf"), MIKADO_MAPLE_LEAF); - r.add(("mikado_maple_sapling"), MIKADO_MAPLE_SAPLING); - r.add(("potted_mikado_maple_sapling"), POTTED_MIKADO_MAPLE_SAPLING); - r.add(("mikado_maple_leaves"), MIKADO_MAPLE_LEAVES); - r.add(("mikado_maple_leaf_pile"), MIKADO_MAPLE_LEAF_PILE); - r.add(("mikado_carpeted_grass_block"), MIKADO_CARPETED_GRASS_BLOCK); - - appendItemGroups(); - appendVillagerTrades(); - appendWorldGen(); - } - - private static void appendItemGroups() { - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> - e.addAfter(SakuraContent.SAKURA_BUTTON, - MAPLE_LOG, - MAPLE_WOOD, - STRIPPED_MAPLE_LOG, - STRIPPED_MAPLE_WOOD, - MAPLE_PLANKS, - MAPLE_STAIRS, - MAPLE_SLAB, - MAPLE_FENCE, - MAPLE_FENCE_GATE, - MAPLE_DOOR, - MAPLE_TRAPDOOR, - MAPLE_PRESSURE_PLATE, - MAPLE_BUTTON)); - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.GRASS_BLOCK, VERMILION_CARPETED_GRASS_BLOCK, FULVOUS_CARPETED_GRASS_BLOCK, MIKADO_CARPETED_GRASS_BLOCK); - e.addAfter(SakuraContent.SAKURA_LOG, MAPLE_LOG); - e.addAfter(SakuraContent.COTTON_SAKURA_BLOSSOMS, SAP_MAPLE_LEAVES, VERMILION_MAPLE_LEAVES, FULVOUS_MAPLE_LEAVES, MIKADO_MAPLE_LEAVES); - e.addAfter(SakuraContent.COTTON_SAKURA_SAPLING, SAP_MAPLE_SAPLING, VERMILION_MAPLE_SAPLING, FULVOUS_MAPLE_SAPLING, MIKADO_MAPLE_SAPLING); - e.addAfter(SakuraContent.COTTON_SAKURA_BLOSSOM_PILE, SAP_MAPLE_LEAF_PILE, VERMILION_MAPLE_LEAF_PILE, FULVOUS_MAPLE_LEAF_PILE, MIKADO_MAPLE_LEAF_PILE); - }); - ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(SakuraContent.SAKURA_SIGNS.hangingSign(), MAPLE_SIGNS.sign(), MAPLE_SIGNS.hangingSign())); - ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(SakuraContent.SAKURA_BOAT_TYPE.getChestItem(), MAPLE_BOAT_TYPE.getItem(), MAPLE_BOAT_TYPE.getChestItem())); - ItemGroupHelper.append(ItemGroups.FOOD_AND_DRINK, e -> e.addAfter(Items.HONEY_BOTTLE, MAPLE_SYRUP_BOTTLE)); - } - - private static void appendVillagerTrades() { - TradeOfferHelper.registerWanderingTraderOffers(1, factories -> { - factories.add(TradeOfferUtils.sapling(MapleContent.VERMILION_MAPLE_SAPLING)); - factories.add(TradeOfferUtils.sapling(MapleContent.FULVOUS_MAPLE_SAPLING)); - factories.add(TradeOfferUtils.sapling(MapleContent.MIKADO_MAPLE_SAPLING)); - factories.add(TradeOfferUtils.sapling(MapleContent.SAP_MAPLE_SAPLING)); - }); - } - - private static void appendWorldGen() { - if (Promenade.CONFIG.biomes.carnelian_treeway_weight <= 0) { - return; - } - double weight = Promenade.CONFIG.biomes.carnelian_treeway_weight / 100.0D; - BiomePlacement.replaceOverworld(BiomeKeys.PLAINS, CARNELIAN_TREEWAY, weight); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/MonsterContent.java b/src/main/java/fr/hugman/promenade/registry/content/MonsterContent.java deleted file mode 100644 index f0160434..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/MonsterContent.java +++ /dev/null @@ -1,71 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.entity.LushCreeperEntity; -import fr.hugman.promenade.entity.SunkenSkeletonEntity; -import fr.hugman.promenade.registry.tag.PromenadeBiomeTags; -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; -import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; -import net.minecraft.entity.EntityDimensions; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.SpawnGroup; -import net.minecraft.entity.SpawnRestriction; -import net.minecraft.item.Item; -import net.minecraft.sound.SoundEvent; -import net.minecraft.world.Heightmap; -import net.minecraft.world.biome.BiomeKeys; - -public class MonsterContent { - public static final EntityType LUSH_CREEPER = FabricEntityTypeBuilder.createMob() - .entityFactory(LushCreeperEntity::new) - .spawnGroup(SpawnGroup.MONSTER) - .dimensions(EntityDimensions.fixed(0.6f, 1.7f)) - .trackRangeChunks(8) - .defaultAttributes(LushCreeperEntity::createCreeperAttributes) - .spawnRestriction(SpawnRestriction.Location.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, LushCreeperEntity::canSpawn) - .build(); - public static final Item LUSH_CREEPER_SPAWN_EGG = DawnFactory.spawnEgg(LUSH_CREEPER, 4347181, 4262661); - - public static final EntityType SUNKEN_SKELETON = FabricEntityTypeBuilder.createMob() - .entityFactory(SunkenSkeletonEntity::new) - .spawnGroup(SpawnGroup.MONSTER) - .dimensions(EntityDimensions.fixed(0.6F, 1.99F)) - .trackRangeChunks(8) - .defaultAttributes(SunkenSkeletonEntity::createSunkenSkeletonAttributes) - .spawnRestriction(SpawnRestriction.Location.IN_WATER, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, SunkenSkeletonEntity::canSpawn) - .build(); - public static final Item SUNKEN_SKELETON_SPAWN_EGG = DawnFactory.spawnEgg(SUNKEN_SKELETON, 12233882, 6191682); - public static final SoundEvent SUNKEN_SKELETON_AMBIENT_SOUND = SoundEvent.of(Promenade.id("entity.sunken_skeleton.ambient")); - public static final SoundEvent SUNKEN_SKELETON_HURT_SOUND = SoundEvent.of(Promenade.id("entity.sunken_skeleton.hurt")); - public static final SoundEvent SUNKEN_SKELETON_DEATH_SOUND = SoundEvent.of(Promenade.id("entity.sunken_skeleton.death")); - public static final SoundEvent SUNKEN_SKELETON_STEP_SOUND = SoundEvent.of(Promenade.id("entity.sunken_skeleton.step")); - public static final SoundEvent SUNKEN_SKELETON_SHOOT_SOUND = SoundEvent.of(Promenade.id("entity.sunken_skeleton.shoot")); - - public static void register(Registrar r) { - r.add(("lush_creeper"), LUSH_CREEPER); - r.add(("lush_creeper_spawn_egg"), LUSH_CREEPER_SPAWN_EGG); - - r.add(("sunken_skeleton"), SUNKEN_SKELETON); - r.add(("sunken_skeleton_spawn_egg"), SUNKEN_SKELETON_SPAWN_EGG); - Registrar.add(SUNKEN_SKELETON_AMBIENT_SOUND); - Registrar.add(SUNKEN_SKELETON_HURT_SOUND); - Registrar.add(SUNKEN_SKELETON_DEATH_SOUND); - Registrar.add(SUNKEN_SKELETON_STEP_SOUND); - Registrar.add(SUNKEN_SKELETON_SHOOT_SOUND); - - if (Promenade.CONFIG.monsters.lush_creepers_weight != 0) { - BiomeModifications.addSpawn(BiomeSelectors.spawnsOneOf(EntityType.CREEPER).and(BiomeSelectors.excludeByKey(BiomeKeys.LUSH_CAVES)), SpawnGroup.MONSTER, LUSH_CREEPER, Promenade.CONFIG.monsters.lush_creepers_weight, 2, 3); - BiomeModifications.addSpawn(BiomeSelectors.includeByKey(BiomeKeys.LUSH_CAVES), SpawnGroup.MONSTER, LUSH_CREEPER, Promenade.CONFIG.monsters.lush_creepers_weight * 4, 2, 4); - } - if (Promenade.CONFIG.monsters.sunken_skeletons_weight != 0) { - BiomeModifications.addSpawn(biomeSelectionContext -> biomeSelectionContext.hasTag(PromenadeBiomeTags.SUNKEN_SKELETON_SPAWN), SpawnGroup.MONSTER, SUNKEN_SKELETON, Promenade.CONFIG.monsters.sunken_skeletons_weight, 1, 3); - } - - ItemGroupHelper.appendSpawnEgg(LUSH_CREEPER_SPAWN_EGG); - ItemGroupHelper.appendSpawnEgg(SUNKEN_SKELETON_SPAWN_EGG); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/SakuraContent.java b/src/main/java/fr/hugman/promenade/registry/content/SakuraContent.java deleted file mode 100644 index 83b34633..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/SakuraContent.java +++ /dev/null @@ -1,160 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import com.terraformersmc.biolith.api.biome.BiomePlacement; -import com.terraformersmc.terraform.boat.api.TerraformBoatType; -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.SignBlocks; -import fr.hugman.dawn.block.sapling.OakLikeSaplingGenerator; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.PromenadeFactory; -import fr.hugman.promenade.village.TradeOfferUtils; -import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper; -import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes; -import net.minecraft.block.*; -import net.minecraft.item.ItemGroups; -import net.minecraft.item.Items; -import net.minecraft.particle.DefaultParticleType; -import net.minecraft.registry.Registries; -import net.minecraft.registry.Registry; -import net.minecraft.registry.RegistryKey; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.sound.SoundEvent; -import net.minecraft.sound.SoundEvents; -import net.minecraft.util.Identifier; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeKeys; - -public class SakuraContent { - public static final BlockSetType BLOCK_SET_TYPE = BlockSetTypeRegistry.register(Promenade.id("sakura"), true, BlockSoundGroup.CHERRY_WOOD, SoundEvents.BLOCK_CHERRY_WOOD_DOOR_CLOSE, SoundEvents.BLOCK_CHERRY_WOOD_DOOR_OPEN, SoundEvents.BLOCK_CHERRY_WOOD_TRAPDOOR_CLOSE, SoundEvents.BLOCK_CHERRY_WOOD_TRAPDOOR_OPEN, SoundEvents.BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF, SoundEvents.BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON, SoundEvents.BLOCK_CHERRY_WOOD_BUTTON_CLICK_OFF, SoundEvents.BLOCK_CHERRY_WOOD_BUTTON_CLICK_ON); - public static final WoodType WOOD_TYPE = WoodTypeRegistry.register(Promenade.id("sakura"), BLOCK_SET_TYPE, BlockSoundGroup.CHERRY_WOOD, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN, SoundEvents.BLOCK_CHERRY_WOOD_FENCE_GATE_CLOSE, SoundEvents.BLOCK_CHERRY_WOOD_FENCE_GATE_OPEN); - private static final BlockSoundGroup WOOD_SOUNDS = BlockSoundGroup.CHERRY_WOOD; - private static final MapColor BARK_COLOR = MapColor.TERRACOTTA_BROWN; - private static final MapColor WOOD_COLOR = MapColor.TERRACOTTA_BROWN; - - private static final MapColor BLUSH_BLOSSOMS_COLOR = MapColor.PINK; - private static final MapColor COTTON_BLOSSOMS_COLOR = MapColor.OFF_WHITE; - - public static final Block STRIPPED_SAKURA_LOG = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block SAKURA_LOG = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_SAKURA_LOG)); - public static final Block STRIPPED_SAKURA_WOOD = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block SAKURA_WOOD = new PillarBlock(DawnFactory.logSettings(BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_SAKURA_WOOD)); - - public static final Block SAKURA_PLANKS = DawnFactory.planks(WOOD_COLOR, WOOD_SOUNDS, true); - public static final Block SAKURA_STAIRS = DawnFactory.stairs(SAKURA_PLANKS); - public static final Block SAKURA_SLAB = DawnFactory.slab(SAKURA_PLANKS); - public static final Block SAKURA_FENCE = DawnFactory.fence(SAKURA_PLANKS); - public static final Block SAKURA_FENCE_GATE = DawnFactory.fenceGate(SAKURA_PLANKS, WOOD_TYPE); - public static final Block SAKURA_DOOR = DawnFactory.door(SAKURA_PLANKS, BLOCK_SET_TYPE); - public static final Block SAKURA_TRAPDOOR = DawnFactory.trapdoor(SAKURA_PLANKS, BLOCK_SET_TYPE); - public static final Block SAKURA_BUTTON = DawnFactory.woodenButton(SAKURA_PLANKS, BLOCK_SET_TYPE); - public static final Block SAKURA_PRESSURE_PLATE = DawnFactory.pressurePlate(SAKURA_PLANKS, BLOCK_SET_TYPE); - - public static final SignBlocks SAKURA_SIGNS = DawnFactory.signs(Promenade.id("sakura"), SAKURA_PLANKS); - public static final TerraformBoatType SAKURA_BOAT_TYPE = DawnFactory.boat(Promenade.id("sakura"), Items.OAK_PLANKS); //TODO change when possible (PR #72 on TerraformersMC/Terraform) - - public static final DefaultParticleType BLUSH_SAKURA_BLOSSOM = FabricParticleTypes.simple(); - public static final Block BLUSH_SAKURA_SAPLING = DawnFactory.sapling(BLUSH_BLOSSOMS_COLOR, OakLikeSaplingGenerator.of(Promenade.id("sakura/blush"))); - public static final Block POTTED_BLUSH_SAKURA_SAPLING = DawnFactory.potted(BLUSH_SAKURA_SAPLING); - public static final Block BLUSH_SAKURA_BLOSSOMS = PromenadeFactory.decoratedLeaves(BLUSH_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES, BLUSH_SAKURA_BLOSSOM); - public static final Block BLUSH_SAKURA_BLOSSOM_PILE = PromenadeFactory.leafPile(BLUSH_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES); - - public static final DefaultParticleType COTTON_SAKURA_BLOSSOM = FabricParticleTypes.simple(); - public static final Block COTTON_SAKURA_SAPLING = DawnFactory.sapling(COTTON_BLOSSOMS_COLOR, OakLikeSaplingGenerator.of(Promenade.id("sakura/cotton"))); - public static final Block POTTED_COTTON_SAKURA_SAPLING = DawnFactory.potted(COTTON_SAKURA_SAPLING); - public static final Block COTTON_SAKURA_BLOSSOMS = PromenadeFactory.decoratedLeaves(COTTON_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES, COTTON_SAKURA_BLOSSOM); - public static final Block COTTON_SAKURA_BLOSSOM_PILE = PromenadeFactory.leafPile(COTTON_BLOSSOMS_COLOR, BlockSoundGroup.CHERRY_LEAVES); - - public static final RegistryKey BLUSH_SAKURA_GROVE = DawnFactory.biome(Promenade.id("blush_sakura_grove")); - public static final RegistryKey COTTON_SAKURA_GROVE = DawnFactory.biome(Promenade.id("cotton_sakura_grove")); - - public static void register(Registrar r) { - r.add(("sakura_log"), SAKURA_LOG); - r.add(("stripped_sakura_log"), STRIPPED_SAKURA_LOG); - r.add(("sakura_wood"), SAKURA_WOOD); - r.add(("stripped_sakura_wood"), STRIPPED_SAKURA_WOOD); - - r.add(("sakura_planks"), SAKURA_PLANKS); - r.add(("sakura_stairs"), SAKURA_STAIRS); - r.add(("sakura_slab"), SAKURA_SLAB); - r.add(("sakura_fence"), SAKURA_FENCE); - r.add(("sakura_fence_gate"), SAKURA_FENCE_GATE); - r.add(("sakura_door"), SAKURA_DOOR); - r.add(("sakura_trapdoor"), SAKURA_TRAPDOOR); - r.add(("sakura_button"), SAKURA_BUTTON); - r.add(("sakura_pressure_plate"), SAKURA_PRESSURE_PLATE); - - r.add(("sakura"), SAKURA_SIGNS); - r.add(("sakura"), SAKURA_BOAT_TYPE); - - r.add(("blush_sakura_sapling"), BLUSH_SAKURA_SAPLING); - r.add(("potted_blush_sakura_sapling"), POTTED_BLUSH_SAKURA_SAPLING); - r.add(("blush_sakura_blossoms"), BLUSH_SAKURA_BLOSSOMS); - r.add(("blush_sakura_blossom_pile"), BLUSH_SAKURA_BLOSSOM_PILE); - r.add(("blush_sakura_blossom"), BLUSH_SAKURA_BLOSSOM); - - r.add(("cotton_sakura_sapling"), COTTON_SAKURA_SAPLING); - r.add(("potted_cotton_sakura_sapling"), POTTED_COTTON_SAKURA_SAPLING); - r.add(("cotton_sakura_blossoms"), COTTON_SAKURA_BLOSSOMS); - r.add(("cotton_sakura_blossom_pile"), COTTON_SAKURA_BLOSSOM_PILE); - r.add(("cotton_sakura_blossom"), COTTON_SAKURA_BLOSSOM); - - registerMusic(); - - appendItemGroups(); - appendVillagerTrades(); - appendWorldGen(); - } - - - private static void appendItemGroups() { - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.BIRCH_BUTTON, - SAKURA_LOG, - SAKURA_WOOD, - STRIPPED_SAKURA_LOG, - STRIPPED_SAKURA_WOOD, - SAKURA_PLANKS, - SAKURA_STAIRS, - SAKURA_SLAB, - SAKURA_FENCE, - SAKURA_FENCE_GATE, - SAKURA_DOOR, - SAKURA_TRAPDOOR, - SAKURA_PRESSURE_PLATE, - SAKURA_BUTTON)); - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.BIRCH_LOG, SAKURA_LOG); - e.addAfter(Blocks.BIRCH_LEAVES, BLUSH_SAKURA_BLOSSOMS, COTTON_SAKURA_BLOSSOMS); - e.addAfter(Blocks.BIRCH_SAPLING, BLUSH_SAKURA_SAPLING, COTTON_SAKURA_SAPLING); - e.addAfter(VanillaPilesContent.BIRCH_LEAF_PILE, BLUSH_SAKURA_BLOSSOM_PILE, COTTON_SAKURA_BLOSSOM_PILE); - }); - ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.BIRCH_HANGING_SIGN, SAKURA_SIGNS.sign(), SAKURA_SIGNS.hangingSign())); - ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(Items.BIRCH_CHEST_BOAT, SAKURA_BOAT_TYPE.getItem(), SAKURA_BOAT_TYPE.getChestItem())); - } - - private static void appendVillagerTrades() { - TradeOfferHelper.registerWanderingTraderOffers(1, factories -> { - factories.add(TradeOfferUtils.sapling(BLUSH_SAKURA_SAPLING)); - factories.add(TradeOfferUtils.sapling(COTTON_SAKURA_SAPLING)); - }); - } - - private static void appendWorldGen() { - if (Promenade.CONFIG.biomes.sakura_groves_weight <= 0) { - return; - } - double weight = Promenade.CONFIG.biomes.sakura_groves_weight / 100.0D; - BiomePlacement.replaceOverworld(BiomeKeys.FOREST, BLUSH_SAKURA_GROVE, weight); - BiomePlacement.replaceOverworld(BiomeKeys.BIRCH_FOREST, COTTON_SAKURA_GROVE, weight); - } - - private static void registerMusic() { - Identifier id = Promenade.id("music.overworld.sakura_groves"); - Registry.registerReference(Registries.SOUND_EVENT, id, SoundEvent.of(id)); - - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/TropicalContent.java b/src/main/java/fr/hugman/promenade/registry/content/TropicalContent.java deleted file mode 100644 index d5f68b92..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/TropicalContent.java +++ /dev/null @@ -1,161 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import com.terraformersmc.terraform.boat.api.TerraformBoatType; -import fr.hugman.dawn.DawnFactory; -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.block.SignBlocks; -import fr.hugman.dawn.block.sapling.SingleSaplingGenerator; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.Promenade; -import fr.hugman.promenade.PromenadeFactory; -import fr.hugman.promenade.block.ExtendedLeavesBlock; -import fr.hugman.promenade.block.HangingLeavesBlock; -import fr.hugman.promenade.block.MoaiBlock; -import fr.hugman.promenade.registry.tag.PromenadeBiomeTags; -import fr.hugman.promenade.village.TradeOfferUtils; -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; -import net.fabricmc.fabric.api.object.builder.v1.block.type.BlockSetTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.block.type.WoodTypeRegistry; -import net.fabricmc.fabric.api.object.builder.v1.trade.TradeOfferHelper; -import net.minecraft.block.*; -import net.minecraft.block.piston.PistonBehavior; -import net.minecraft.entity.EntityType; -import net.minecraft.entity.EquipmentSlot; -import net.minecraft.item.ItemGroups; -import net.minecraft.item.Items; -import net.minecraft.registry.RegistryKey; -import net.minecraft.registry.tag.BlockTags; -import net.minecraft.sound.BlockSoundGroup; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.PlacedFeature; - -public class TropicalContent { - public static final BlockSetType BLOCK_SET_TYPE = BlockSetTypeRegistry.registerWood(Promenade.id("palm")); - public static final WoodType WOOD_TYPE = WoodTypeRegistry.register(Promenade.id("palm"), BLOCK_SET_TYPE); - private static final BlockSoundGroup WOOD_SOUNDS = BlockSoundGroup.WOOD; - private static final MapColor BARK_COLOR = MapColor.SPRUCE_BROWN; - private static final MapColor WOOD_COLOR = MapColor.ORANGE; - private static final MapColor LEAVES_COLOR = MapColor.DARK_GREEN; - - public static final Block STRIPPED_PALM_LOG = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block PALM_LOG = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_PALM_LOG)); - public static final Block STRIPPED_PALM_WOOD = new PillarBlock(DawnFactory.logSettings(WOOD_COLOR, WOOD_SOUNDS, true)); - public static final Block PALM_WOOD = new PillarBlock(DawnFactory.logSettings(BARK_COLOR, WOOD_SOUNDS, true).stripsInto(STRIPPED_PALM_WOOD)); - - public static final Block PALM_PLANKS = DawnFactory.planks(WOOD_COLOR, WOOD_SOUNDS, true); - public static final Block PALM_STAIRS = DawnFactory.stairs(PALM_PLANKS); - public static final Block PALM_SLAB = DawnFactory.slab(PALM_PLANKS); - public static final Block PALM_FENCE = DawnFactory.fence(PALM_PLANKS); - public static final Block PALM_FENCE_GATE = DawnFactory.fenceGate(PALM_PLANKS, WOOD_TYPE); - public static final Block PALM_DOOR = DawnFactory.door(PALM_PLANKS, BLOCK_SET_TYPE); - public static final Block PALM_TRAPDOOR = DawnFactory.trapdoor(PALM_PLANKS, BLOCK_SET_TYPE); - public static final Block PALM_BUTTON = DawnFactory.woodenButton(PALM_PLANKS, BLOCK_SET_TYPE); - public static final Block PALM_PRESSURE_PLATE = DawnFactory.pressurePlate(PALM_PLANKS, BLOCK_SET_TYPE); - - public static final SignBlocks PALM_SIGNS = DawnFactory.signs(Promenade.id("palm"), PALM_PLANKS); - public static final TerraformBoatType PALM_BOAT_TYPE = DawnFactory.boat(Promenade.id("palm"), Items.OAK_PLANKS); //TODO change when possible (PR #72 on TerraformersMC/Terraform) - - public static final Block PALM_SAPLING = DawnFactory.sapling(LEAVES_COLOR, new SingleSaplingGenerator(Promenade.id("tree/palm")), state -> state.isIn(BlockTags.SAND)); - public static final Block POTTED_PALM_SAPLING = DawnFactory.potted(PALM_SAPLING); - public static final Block PALM_LEAVES = new ExtendedLeavesBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3f)) - .mapColor(LEAVES_COLOR) - .strength(0.2f) - .ticksRandomly() - .sounds(BlockSoundGroup.GRASS) - .nonOpaque() - .allowsSpawning((state, world, pos, type) -> type == EntityType.OCELOT || type == EntityType.PARROT) - .suffocates((state, world, pos) -> false) - .blockVision((state, world, pos) -> false) - .burnable(30, 60) - .pistonBehavior(PistonBehavior.DESTROY) - .solidBlock((state, world, pos) -> false)); - public static final Block PALM_HANGING_LEAVES = new HangingLeavesBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3F)) - .mapColor(LEAVES_COLOR) - .sounds(BlockSoundGroup.GRASS) - .replaceable().noCollision().breakInstantly() - .burnable(30, 60) - .pistonBehavior(PistonBehavior.DESTROY) - ); - public static final Block PALM_LEAF_PILE = PromenadeFactory.leafPile(); - - public static final Block MOAI = new MoaiBlock(DawnBlockSettings.copyOf(Blocks.TUFF).mapColor(MapColor.TERRACOTTA_LIGHT_GRAY).item(new DawnItemSettings().equipmentSlot(stack -> EquipmentSlot.HEAD))); - - public static final RegistryKey PALMS = DawnFactory.placedFeature(Promenade.id("trees/palms")); - - public static void register(Registrar r) { - r.add(("palm_log"), PALM_LOG); - r.add(("stripped_palm_log"), STRIPPED_PALM_LOG); - r.add(("palm_wood"), PALM_WOOD); - r.add(("stripped_palm_wood"), STRIPPED_PALM_WOOD); - - r.add(("palm_planks"), PALM_PLANKS); - r.add(("palm_stairs"), PALM_STAIRS); - r.add(("palm_slab"), PALM_SLAB); - r.add(("palm_fence"), PALM_FENCE); - r.add(("palm_fence_gate"), PALM_FENCE_GATE); - r.add(("palm_door"), PALM_DOOR); - r.add(("palm_trapdoor"), PALM_TRAPDOOR); - r.add(("palm_button"), PALM_BUTTON); - r.add(("palm_pressure_plate"), PALM_PRESSURE_PLATE); - - r.add(("palm"), PALM_SIGNS); - r.add(("palm"), PALM_BOAT_TYPE); - - r.add(("palm_sapling"), PALM_SAPLING); - r.add(("potted_palm_sapling"), POTTED_PALM_SAPLING); - r.add(("palm_leaves"), PALM_LEAVES); - r.add(("palm_hanging_leaves"), PALM_HANGING_LEAVES); - r.add(("palm_leaf_pile"), PALM_LEAF_PILE); - - r.add(("moai"), MOAI); - - appendItemGroups(); - appendVillagerTrades(); - appendWorldGen(); - } - - private static void appendItemGroups() { - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> { - e.addAfter(Blocks.ACACIA_BUTTON, - PALM_LOG, - PALM_WOOD, - STRIPPED_PALM_LOG, - STRIPPED_PALM_WOOD, - PALM_PLANKS, - PALM_STAIRS, - PALM_SLAB, - PALM_FENCE, - PALM_FENCE_GATE, - PALM_DOOR, - PALM_TRAPDOOR, - PALM_PRESSURE_PLATE, - PALM_BUTTON); - }); - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.ACACIA_LOG, PALM_LOG); - e.addAfter(Blocks.ACACIA_LEAVES, PALM_LEAVES, PALM_HANGING_LEAVES); - e.addAfter(Blocks.ACACIA_SAPLING, PALM_SAPLING); - e.addAfter(VanillaPilesContent.ACACIA_LEAF_PILE, PALM_LEAF_PILE); - }); - ItemGroupHelper.append(ItemGroups.FUNCTIONAL, e -> e.addAfter(Blocks.ACACIA_HANGING_SIGN, PALM_SIGNS.sign(), PALM_SIGNS.hangingSign())); - ItemGroupHelper.append(ItemGroups.TOOLS, e -> e.addAfter(Items.ACACIA_CHEST_BOAT, PALM_BOAT_TYPE.getItem(), PALM_BOAT_TYPE.getChestItem())); - - ItemGroupHelper.append(ItemGroups.BUILDING_BLOCKS, e -> e.addAfter(Blocks.CUT_RED_SANDSTONE_SLAB, MOAI)); - } - - private static void appendVillagerTrades() { - TradeOfferHelper.registerWanderingTraderOffers(1, factories -> factories.add(TradeOfferUtils.sapling(PALM_SAPLING))); - } - - private static void appendWorldGen() { - if(Promenade.CONFIG.world_features.palms) { - BiomeModifications.addFeature(BiomeSelectors.tag(PromenadeBiomeTags.HAS_PALMS), GenerationStep.Feature.VEGETAL_DECORATION, PALMS); - } - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/content/VanillaPilesContent.java b/src/main/java/fr/hugman/promenade/registry/content/VanillaPilesContent.java deleted file mode 100644 index 5bf82f6c..00000000 --- a/src/main/java/fr/hugman/promenade/registry/content/VanillaPilesContent.java +++ /dev/null @@ -1,102 +0,0 @@ -package fr.hugman.promenade.registry.content; - -import fr.hugman.dawn.Registrar; -import fr.hugman.dawn.block.DawnBlockSettings; -import fr.hugman.dawn.item.DawnItemSettings; -import fr.hugman.dawn.item.ItemGroupHelper; -import fr.hugman.promenade.PromenadeFactory; -import fr.hugman.promenade.block.WitherRosePileBlock; -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; -import net.minecraft.block.MapColor; -import net.minecraft.item.ItemGroups; -import net.minecraft.sound.BlockSoundGroup; - -public class VanillaPilesContent { - public static final Block OAK_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block SPRUCE_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block BIRCH_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block JUNGLE_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block ACACIA_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block DARK_OAK_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block MANGROVE_LEAF_PILE = PromenadeFactory.leafPile(); - public static final Block AZALEA_LEAF_PILE = PromenadeFactory.leafPile(BlockSoundGroup.AZALEA_LEAVES); - public static final Block FLOWERING_AZALEA_LEAF_PILE = PromenadeFactory.leafPile(BlockSoundGroup.AZALEA_LEAVES); - - //TODO: change map colors - public static final Block DANDELION_PILE = PromenadeFactory.leafPile(MapColor.GOLD); - public static final Block POPPY_PILE = PromenadeFactory.leafPile(MapColor.DULL_RED); - public static final Block BLUE_ORCHID_PILE = PromenadeFactory.leafPile(MapColor.LIGHT_BLUE); - public static final Block ALLIUM_PILE = PromenadeFactory.leafPile(MapColor.MAGENTA); - public static final Block AZURE_BLUET_PILE = PromenadeFactory.leafPile(MapColor.PALE_YELLOW); - public static final Block RED_TULIP_PILE = PromenadeFactory.leafPile(MapColor.DULL_RED); - public static final Block ORANGE_TULIP_PILE = PromenadeFactory.leafPile(MapColor.ORANGE); - public static final Block WHITE_TULIP_PILE = PromenadeFactory.leafPile(MapColor.WHITE); - public static final Block PINK_TULIP_PILE = PromenadeFactory.leafPile(MapColor.PINK); - public static final Block OXEYE_DAISY_PILE = PromenadeFactory.leafPile(MapColor.GOLD); - public static final Block CORNFLOWER_PILE = PromenadeFactory.leafPile(MapColor.LAPIS_BLUE); - public static final Block LILY_OF_THE_VALLEY_PILE = PromenadeFactory.leafPile(MapColor.WHITE); - public static final Block WITHER_ROSE_PILE = new WitherRosePileBlock(DawnBlockSettings.create() - .item(new DawnItemSettings().compostingChance(0.3f)) - .mapColor(MapColor.BLACK) - .burnable(30, 60) - .strength(0.1f) - .ticksRandomly() - .sounds(BlockSoundGroup.GRASS) - .noCollision() - .nonOpaque()); - - public static void register(Registrar r) { - r.add(("oak_leaf_pile"), OAK_LEAF_PILE); - r.add(("spruce_leaf_pile"), SPRUCE_LEAF_PILE); - r.add(("birch_leaf_pile"), BIRCH_LEAF_PILE); - r.add(("jungle_leaf_pile"), JUNGLE_LEAF_PILE); - r.add(("acacia_leaf_pile"), ACACIA_LEAF_PILE); - r.add(("dark_oak_leaf_pile"), DARK_OAK_LEAF_PILE); - r.add(("mangrove_leaf_pile"), MANGROVE_LEAF_PILE); - r.add(("azalea_leaf_pile"), AZALEA_LEAF_PILE); - r.add(("flowering_azalea_leaf_pile"), FLOWERING_AZALEA_LEAF_PILE); - - r.add(("dandelion_pile"), DANDELION_PILE); - r.add(("poppy_pile"), POPPY_PILE); - r.add(("blue_orchid_pile"), BLUE_ORCHID_PILE); - r.add(("allium_pile"), ALLIUM_PILE); - r.add(("azure_bluet_pile"), AZURE_BLUET_PILE); - r.add(("red_tulip_pile"), RED_TULIP_PILE); - r.add(("orange_tulip_pile"), ORANGE_TULIP_PILE); - r.add(("white_tulip_pile"), WHITE_TULIP_PILE); - r.add(("pink_tulip_pile"), PINK_TULIP_PILE); - r.add(("oxeye_daisy_pile"), OXEYE_DAISY_PILE); - r.add(("cornflower_pile"), CORNFLOWER_PILE); - r.add(("lily_of_the_valley_pile"), LILY_OF_THE_VALLEY_PILE); - r.add(("wither_rose_pile"), WITHER_ROSE_PILE); - - ItemGroupHelper.append(ItemGroups.NATURAL, e -> { - e.addAfter(Blocks.FLOWERING_AZALEA_LEAVES, - OAK_LEAF_PILE, - SPRUCE_LEAF_PILE, - BIRCH_LEAF_PILE, - JUNGLE_LEAF_PILE, - ACACIA_LEAF_PILE, - DARK_OAK_LEAF_PILE, - MANGROVE_LEAF_PILE, - AZALEA_LEAF_PILE, - FLOWERING_AZALEA_LEAF_PILE); - - e.addAfter(Blocks.LILY_OF_THE_VALLEY, - DANDELION_PILE, - POPPY_PILE, - BLUE_ORCHID_PILE, - ALLIUM_PILE, - AZURE_BLUET_PILE, - RED_TULIP_PILE, - ORANGE_TULIP_PILE, - WHITE_TULIP_PILE, - PINK_TULIP_PILE, - OXEYE_DAISY_PILE, - CORNFLOWER_PILE, - LILY_OF_THE_VALLEY_PILE); - e.addAfter(Blocks.WITHER_ROSE, WITHER_ROSE_PILE); - }); - } -} diff --git a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBiomeTags.java b/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBiomeTags.java deleted file mode 100644 index 73035242..00000000 --- a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBiomeTags.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.hugman.promenade.registry.tag; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.promenade.Promenade; -import net.minecraft.registry.tag.TagKey; -import net.minecraft.world.biome.Biome; - -public class PromenadeBiomeTags { - public static final TagKey CAPYBARA_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/capybara")); - public static final TagKey PEKIN_DUCK_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/duck/pekin")); - public static final TagKey MALLARD_DUCK_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/duck/mallard")); - public static final TagKey SUNKEN_SKELETON_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/sunken_skeleton")); - public static final TagKey HAS_PALMS = DawnFactory.biomeTag(Promenade.id("has_palms")); -} diff --git a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBlockTags.java b/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBlockTags.java deleted file mode 100644 index f203800b..00000000 --- a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeBlockTags.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.hugman.promenade.registry.tag; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.promenade.Promenade; -import net.minecraft.block.Block; -import net.minecraft.registry.tag.TagKey; - -public class PromenadeBlockTags { - public static final TagKey CARPETED_GRASS_BLOCKS = DawnFactory.blockTag(Promenade.id("carpeted_grass_blocks")); - - public static final TagKey CHERRY_OAK_LOGS = DawnFactory.blockTag(Promenade.id("cherry_oak_logs")); - public static final TagKey MAPLE_LOGS = DawnFactory.blockTag(Promenade.id("maple_logs")); - public static final TagKey PALM_LOGS = DawnFactory.blockTag(Promenade.id("palm_logs")); - public static final TagKey DARK_AMARANTH_STEMS = DawnFactory.blockTag(Promenade.id("dark_amaranth_stems")); - - public static final TagKey LEAVES = DawnFactory.blockTag(Promenade.id("leaves")); - public static final TagKey LEAF_PILES = DawnFactory.blockTag(Promenade.id("leaf_piles")); - public static final TagKey FLOWER_PILES = DawnFactory.blockTag(Promenade.id("flower_piles")); - - public static final TagKey CAN_SPREAD_BLACK_DYLIUM = DawnFactory.blockTag(Promenade.id("can_spread_black_dylium")); - public static final TagKey DARK_AMARANTH_FUNGUS_PLACEABLE_ON = DawnFactory.blockTag(Promenade.id("placeable_on/dark_amaranth_fungus")); - public static final TagKey DARK_AMARANTH_FUNGUS_GROWABLE_ON = DawnFactory.blockTag(Promenade.id("growable_on/dark_amaranth_fungus")); - public static final TagKey DARK_AMARANTH_ROOTS_PLACEABLE_ON = DawnFactory.blockTag(Promenade.id("placeable_on/dark_amaranth_roots")); - public static final TagKey OBSIDIAN_SPIKE_PLACEABLE_ON = DawnFactory.blockTag(Promenade.id("placeable_on/obsidian_spike")); -} diff --git a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeItemTags.java b/src/main/java/fr/hugman/promenade/registry/tag/PromenadeItemTags.java deleted file mode 100644 index b53eb002..00000000 --- a/src/main/java/fr/hugman/promenade/registry/tag/PromenadeItemTags.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.hugman.promenade.registry.tag; - -import fr.hugman.dawn.DawnFactory; -import fr.hugman.promenade.Promenade; -import net.minecraft.item.Item; -import net.minecraft.registry.tag.TagKey; - -public class PromenadeItemTags { - public static final TagKey BREEDING_CAPYBARA = DawnFactory.itemTag(Promenade.id("breeding/capybara")); - public static final TagKey BREEDING_DUCK = DawnFactory.itemTag(Promenade.id("breeding/duck")); -} diff --git a/src/main/java/fr/hugman/promenade/sound/PromenadeSoundEvents.java b/src/main/java/fr/hugman/promenade/sound/PromenadeSoundEvents.java new file mode 100644 index 00000000..7019f89b --- /dev/null +++ b/src/main/java/fr/hugman/promenade/sound/PromenadeSoundEvents.java @@ -0,0 +1,42 @@ +package fr.hugman.promenade.sound; + +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.sound.SoundEvent; + +public class PromenadeSoundEvents { + public static final RegistryEntry.Reference MUSIC_OVERWORLD_SAKURA_GROVES = ofRef("music.overworld.sakura_groves"); + + public static final SoundEvent BLOCK_SNOWY_LEAVES_BREAK = of("block.snowy_leaves.break"); + public static final SoundEvent BLOCK_SNOWY_LEAVES_STEP = of("block.snowy_leaves.step"); + public static final SoundEvent BLOCK_SNOWY_LEAVES_PLACE = of("block.snowy_leaves.place"); + public static final SoundEvent BLOCK_SNOWY_LEAVES_HIT = of("block.snowy_leaves.hit"); + public static final SoundEvent BLOCK_SNOWY_LEAVES_FALL = of("block.snowy_leaves.fall"); + + public static final SoundEvent CAPYBARA_AMBIENT = of("entity.capybara.ambient"); + public static final SoundEvent CAPYBARA_AMBIENT_BABY = of("entity.capybara.ambient.baby"); + public static final SoundEvent CAPYBARA_FART = of("entity.capybara.fart"); + + public static final SoundEvent DUCK_AMBIENT = of("entity.duck.ambient"); + public static final SoundEvent DUCK_HURT = of("entity.duck.hurt"); + public static final SoundEvent DUCK_DEATH = of("entity.duck.death"); + public static final SoundEvent DUCK_STEP = of("entity.duck.step"); + + public static final SoundEvent SUNKEN_SKELETON_AMBIENT = of("entity.sunken_skeleton.ambient"); + public static final SoundEvent SUNKEN_SKELETON_HURT = of("entity.sunken_skeleton.hurt"); + public static final SoundEvent SUNKEN_SKELETON_DEATH = of("entity.sunken_skeleton.death"); + public static final SoundEvent SUNKEN_SKELETON_STEP = of("entity.sunken_skeleton.step"); + public static final SoundEvent SUNKEN_SKELETON_SHOOT = of("entity.sunken_skeleton.shoot"); + + private static RegistryEntry.Reference ofRef(String path) { + var id = Promenade.id(path); + return Registry.registerReference(Registries.SOUND_EVENT, id, SoundEvent.of(id)); + } + + private static SoundEvent of(String path) { + var id = Promenade.id(path); + return Registry.register(Registries.SOUND_EVENT, id, SoundEvent.of(id)); + } +} diff --git a/src/main/java/fr/hugman/promenade/state/property/PromenadeBlockProperties.java b/src/main/java/fr/hugman/promenade/state/property/PromenadeBlockProperties.java deleted file mode 100644 index 28a240fb..00000000 --- a/src/main/java/fr/hugman/promenade/state/property/PromenadeBlockProperties.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.hugman.promenade.state.property; - -import fr.hugman.promenade.block.MoaiType; -import net.minecraft.state.property.BooleanProperty; -import net.minecraft.state.property.EnumProperty; - -public class PromenadeBlockProperties { - public static final BooleanProperty NATURAL = BooleanProperty.of("natural"); - public static final BooleanProperty DRIP = BooleanProperty.of("drip"); - public static final EnumProperty MOAI_TYPE = EnumProperty.of("type", MoaiType.class); -} diff --git a/src/main/java/fr/hugman/promenade/village/TradeOfferUtils.java b/src/main/java/fr/hugman/promenade/village/TradeOfferUtils.java index 158384e5..404a0636 100644 --- a/src/main/java/fr/hugman/promenade/village/TradeOfferUtils.java +++ b/src/main/java/fr/hugman/promenade/village/TradeOfferUtils.java @@ -5,9 +5,10 @@ import net.minecraft.item.Items; import net.minecraft.village.TradeOffer; import net.minecraft.village.TradeOffers; +import net.minecraft.village.TradedItem; public class TradeOfferUtils { - public static TradeOffers.Factory sapling(ItemConvertible sapling) { - return (entity, random) -> new TradeOffer(new ItemStack(Items.EMERALD, 5), new ItemStack(sapling), 8, 1, 0.05f); - } + public static TradeOffers.Factory sapling(ItemConvertible sapling) { + return (entity, random) -> new TradeOffer(new TradedItem(Items.EMERALD, 5), new ItemStack(sapling), 8, 1, 0.05f); + } } diff --git a/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeKeys.java b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeKeys.java new file mode 100644 index 00000000..b29424d5 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeKeys.java @@ -0,0 +1,20 @@ +package fr.hugman.promenade.world.biome; + +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.world.biome.Biome; + +public class PromenadeBiomeKeys { + public static final RegistryKey BLUSH_SAKURA_GROVE = of("blush_sakura_grove"); + public static final RegistryKey COTTON_SAKURA_GROVE = of("cotton_sakura_grove"); + public static final RegistryKey CARNELIAN_TREEWAY = of("carnelian_treeway"); + public static final RegistryKey GLACARIAN_TAIGA = of("glacarian_taiga"); + + public static final RegistryKey DARK_AMARANTH_FOREST = of("dark_amaranth_forest"); + public static final RegistryKey TALL_DARK_AMARANTH_FOREST = of("tall_dark_amaranth_forest"); + + private static RegistryKey of(String path) { + return RegistryKey.of(RegistryKeys.BIOME, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeTags.java b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeTags.java new file mode 100644 index 00000000..e38b83ad --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomeTags.java @@ -0,0 +1,15 @@ +package fr.hugman.promenade.world.biome; + +import fr.hugman.dawn.DawnFactory; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.world.biome.Biome; + +public class PromenadeBiomeTags { + public static final TagKey CAPYBARA_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/capybara")); + public static final TagKey PEKIN_DUCK_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/duck/pekin")); + public static final TagKey MALLARD_DUCK_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/duck/mallard")); + public static final TagKey SUNKEN_SKELETON_SPAWN = DawnFactory.biomeTag(Promenade.id("spawns/sunken_skeleton")); + public static final TagKey HAS_PALMS = DawnFactory.biomeTag(Promenade.id("has_palms")); + public static final TagKey CAN_FREEZE_DURING_SNOWFALL = DawnFactory.biomeTag(Promenade.id("can_freeze_during_snowfall")); +} diff --git a/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomes.java b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomes.java new file mode 100644 index 00000000..dad4f1c2 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/biome/PromenadeBiomes.java @@ -0,0 +1,98 @@ +package fr.hugman.promenade.world.biome; + +import com.terraformersmc.biolith.api.biome.BiomePlacement; +import com.terraformersmc.biolith.api.surface.SurfaceGeneration; +import fr.hugman.promenade.Promenade; +import fr.hugman.promenade.block.PromenadeBlocks; +import net.minecraft.entity.EquipmentSlot; +import net.minecraft.entity.LivingEntity; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.registry.tag.EntityTypeTags; +import net.minecraft.registry.tag.ItemTags; +import net.minecraft.world.LightType; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; +import net.minecraft.world.gen.surfacebuilder.MaterialRules; +import net.minecraft.world.gen.surfacebuilder.VanillaSurfaceRules; + +public class PromenadeBiomes { + public static void appendWorldGen() { + // Sakura Groves + if (Promenade.CONFIG.biomes.sakura_groves_weight <= 0) { + return; + } + double sakuraWeight = Promenade.CONFIG.biomes.sakura_groves_weight / 100.0D; + BiomePlacement.replaceOverworld(BiomeKeys.FOREST, PromenadeBiomeKeys.BLUSH_SAKURA_GROVE, sakuraWeight); + BiomePlacement.replaceOverworld(BiomeKeys.BIRCH_FOREST, PromenadeBiomeKeys.COTTON_SAKURA_GROVE, sakuraWeight); + + // Carnelian Treeway + if (Promenade.CONFIG.biomes.carnelian_treeway_weight <= 0) { + return; + } + BiomePlacement.replaceOverworld(BiomeKeys.PLAINS, PromenadeBiomeKeys.CARNELIAN_TREEWAY, Promenade.CONFIG.biomes.carnelian_treeway_weight / 100.0D); + + // Glacarian Taiga + if (Promenade.CONFIG.biomes.glacarian_taiga_weight <= 0) { + return; + } + double glacarianTaigaWeight = Promenade.CONFIG.biomes.glacarian_taiga_weight / 100.0D; + BiomePlacement.replaceOverworld(BiomeKeys.TAIGA, PromenadeBiomeKeys.GLACARIAN_TAIGA, glacarianTaigaWeight); + BiomePlacement.replaceOverworld(BiomeKeys.SNOWY_TAIGA, PromenadeBiomeKeys.GLACARIAN_TAIGA, glacarianTaigaWeight); + BiomePlacement.replaceOverworld(BiomeKeys.SNOWY_SLOPES, PromenadeBiomeKeys.GLACARIAN_TAIGA, glacarianTaigaWeight); + BiomePlacement.replaceOverworld(BiomeKeys.JAGGED_PEAKS, PromenadeBiomeKeys.GLACARIAN_TAIGA, glacarianTaigaWeight); + BiomePlacement.replaceOverworld(BiomeKeys.GROVE, PromenadeBiomeKeys.GLACARIAN_TAIGA, glacarianTaigaWeight); + + + if (Promenade.CONFIG.biomes.dark_amaranth_forests_weight <= 0) { + return; + } + double darkAmaranthForestWeight = Promenade.CONFIG.biomes.dark_amaranth_forests_weight / 100.0D; + BiomePlacement.replaceEnd(BiomeKeys.END_HIGHLANDS, PromenadeBiomeKeys.TALL_DARK_AMARANTH_FOREST, darkAmaranthForestWeight); + BiomePlacement.replaceEnd(BiomeKeys.END_MIDLANDS, PromenadeBiomeKeys.DARK_AMARANTH_FOREST, darkAmaranthForestWeight); + + MaterialRules.MaterialCondition isDarkAmaranthForest = MaterialRules.biome(PromenadeBiomeKeys.DARK_AMARANTH_FOREST, PromenadeBiomeKeys.TALL_DARK_AMARANTH_FOREST); + SurfaceGeneration.addEndSurfaceRules(Promenade.id("end_surface"), MaterialRules.sequence( + MaterialRules.condition(isDarkAmaranthForest, + MaterialRules.condition( + MaterialRules.STONE_DEPTH_FLOOR, + VanillaSurfaceRules.block(PromenadeBlocks.BLACK_DYLIUM) + ) + )) + ); + } + + /** + * Check if the entity can freeze from the biome and weather. + * + * @param entity The entity to check. + * @return true if the entity can freeze, false otherwise. + */ + public static boolean canFreezeFromBiomeAndWeather(LivingEntity entity) { + RegistryEntry biome = entity.getWorld().getBiome(entity.getBlockPos()); + if (entity.getType().isIn(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES)) { + // is immune + return false; + } + if (!biome.isIn(PromenadeBiomeTags.CAN_FREEZE_DURING_SNOWFALL) || entity.isSpectator()) { + // is not the correct biome + // is spectator + return false; + } + if (!entity.getWorld().isRaining()) { + // is not snowing + return false; + } + boolean exposedToSky = entity.getWorld().getLightLevel(LightType.SKY, entity.getBlockPos()) >= 5; + boolean lightSourceNear = entity.getWorld().getLightLevel(LightType.BLOCK, entity.getBlockPos()) >= 5; + if (lightSourceNear || !exposedToSky) { + // is near a light source + // is not exposed much to sky + return false; + } + // wear any leather piece + return !entity.getEquippedStack(EquipmentSlot.HEAD).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && + !entity.getEquippedStack(EquipmentSlot.CHEST).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && + !entity.getEquippedStack(EquipmentSlot.LEGS).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES) && + !entity.getEquippedStack(EquipmentSlot.FEET).isIn(ItemTags.FREEZE_IMMUNE_WEARABLES); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeature.java b/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeature.java new file mode 100644 index 00000000..250c0330 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeature.java @@ -0,0 +1,47 @@ +package fr.hugman.promenade.world.gen.feature; + +import com.mojang.serialization.Codec; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.StructureWorldAccess; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.util.FeatureContext; + +public class BoulderFeature extends Feature { + public BoulderFeature(Codec codec) { + super(codec); + } + + @Override + public boolean generate(FeatureContext context) { + Random random = context.getRandom(); + BoulderFeatureConfig config = context.getConfig(); + StructureWorldAccess world = context.getWorld(); + int radius = config.radius().get(random); + BlockPos pos = context.getOrigin(); + for (; pos.getY() > world.getBottomY() + radius; pos = pos.down()) { + if (!world.isAir(pos)) { + if (world.getBlockState(pos).isIn(config.replaceableBlocks())) { + break; + } + } + } + if (pos.getY() <= world.getBottomY() + radius) { + return false; + } else { + for (int i = 0; i < 3; ++i) { + int j = random.nextInt(radius); + int k = random.nextInt(radius); + int l = random.nextInt(radius); + float f = (float) (j + k + l) * 0.333F + 0.5F; + for (BlockPos pos2 : BlockPos.iterate(pos.add(-j, -k, -l), pos.add(j, k, l))) { + if (pos2.getSquaredDistance(pos) <= (double) (f * f)) { + this.setBlockState(world, pos2, config.stateProvider().get(random, pos)); + } + } + pos = pos.add(-1 + random.nextInt(2), -random.nextInt(2), -1 + random.nextInt(2)); + } + return true; + } + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeatureConfig.java b/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeatureConfig.java new file mode 100644 index 00000000..adc0977d --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/BoulderFeatureConfig.java @@ -0,0 +1,20 @@ +package fr.hugman.promenade.world.gen.feature; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.block.Block; +import net.minecraft.registry.RegistryCodecs; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntryList; +import net.minecraft.util.math.intprovider.IntProvider; +import net.minecraft.world.gen.feature.FeatureConfig; +import net.minecraft.world.gen.stateprovider.BlockStateProvider; + +public record BoulderFeatureConfig(BlockStateProvider stateProvider, RegistryEntryList replaceableBlocks, + IntProvider radius) implements FeatureConfig { + public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance.group( + BlockStateProvider.TYPE_CODEC.fieldOf("state").forGetter((config) -> config.stateProvider), + RegistryCodecs.entryList(RegistryKeys.BLOCK).fieldOf("replaceable").forGetter((config) -> config.replaceableBlocks), + IntProvider.createValidatingCodec(1, 64).fieldOf("count").forGetter((config) -> config.radius) + ).apply(instance, BoulderFeatureConfig::new)); +} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/FreezeTopLayerFeature.java b/src/main/java/fr/hugman/promenade/world/gen/feature/FreezeTopLayerFeature.java new file mode 100644 index 00000000..4bb329bf --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/FreezeTopLayerFeature.java @@ -0,0 +1,101 @@ +package fr.hugman.promenade.world.gen.feature; + +import com.mojang.serialization.Codec; +import net.minecraft.block.*; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.intprovider.ConstantIntProvider; +import net.minecraft.util.math.intprovider.UniformIntProvider; +import net.minecraft.world.Heightmap; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.util.FeatureContext; + +public class FreezeTopLayerFeature extends Feature { + public FreezeTopLayerFeature(Codec codec) { + super(codec); + } + + @Override + public boolean generate(FeatureContext context) { + var world = context.getWorld(); + var random = context.getRandom(); + var blockPos = context.getOrigin(); + var topMutable = new BlockPos.Mutable(); + var groundMutable = new BlockPos.Mutable(); + var undergroundMutable = new BlockPos.Mutable(); + + var snowDepth = ConstantIntProvider.create(3); + var topSnowLayers = UniformIntProvider.create(2, 3); + var packedIceDepth = UniformIntProvider.create(2, 3); + var normalIceDepth = UniformIntProvider.create(2, 3); + + for (int i = 0; i < 16; ++i) { + for (int j = 0; j < 16; ++j) { + int x = blockPos.getX() + i; + int z = blockPos.getZ() + j; + + /* ==================== */ + /* SURFACE GROUND LEVEL */ + /* ==================== */ + topMutable.set(x, world.getTopY(Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, x, z), z); + Biome biome = world.getBiome(topMutable).value(); + groundMutable.set(topMutable).move(Direction.DOWN, 1); + + // Layers of Snow + if (biome.canSetSnow(world, topMutable)) { + for (int n = 1; n <= snowDepth.get(random); n++) { + if (!biome.canSetSnow(world, topMutable)) { + break; + } + world.setBlockState(topMutable, Blocks.SNOW_BLOCK.getDefaultState(), Block.NOTIFY_LISTENERS); + topMutable.move(Direction.UP, 1); + } + + BlockState blockState = world.getBlockState(groundMutable); + if (blockState.contains(SnowyBlock.SNOWY)) { + world.setBlockState(groundMutable, blockState.with(SnowyBlock.SNOWY, true), Block.NOTIFY_LISTENERS); + } + } + + // Water -> Ice + if (biome.canSetIce(world, groundMutable, false)) { + undergroundMutable.set(groundMutable); + for (int n = 1; n <= packedIceDepth.get(random); n++) { + if (!biome.canSetIce(world, undergroundMutable, false)) { + break; + } + world.setBlockState(undergroundMutable, Blocks.PACKED_ICE.getDefaultState(), Block.NOTIFY_LISTENERS); + undergroundMutable.move(Direction.DOWN, 1); + } + for (int n = 1; n <= normalIceDepth.get(random); n++) { + if (!biome.canSetIce(world, undergroundMutable, false)) { + break; + } + world.setBlockState(undergroundMutable, Blocks.ICE.getDefaultState(), Block.NOTIFY_LISTENERS); + undergroundMutable.move(Direction.DOWN, 1); + } + } + + /* ======================= */ + /* SURFACE MOTION BLOCKING */ + /* ======================= */ + topMutable.set(x, world.getTopY(Heightmap.Type.MOTION_BLOCKING, x, z), z); + groundMutable.set(topMutable).move(Direction.DOWN, 1); + biome = world.getBiome(topMutable).value(); // just in case I guess? + + // Thin Snow + if (biome.canSetSnow(world, topMutable)) { + world.setBlockState(topMutable, Blocks.SNOW.getDefaultState().with(SnowBlock.LAYERS, topSnowLayers.get(random)), Block.NOTIFY_LISTENERS); + + BlockState blockState = world.getBlockState(groundMutable); + if (blockState.contains(SnowyBlock.SNOWY)) { + world.setBlockState(groundMutable, blockState.with(SnowyBlock.SNOWY, true), Block.NOTIFY_LISTENERS); + } + } + } + } + return true; + } +} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeConfiguredFeatureKeys.java b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeConfiguredFeatureKeys.java new file mode 100644 index 00000000..043ca058 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeConfiguredFeatureKeys.java @@ -0,0 +1,46 @@ +package fr.hugman.promenade.world.gen.feature; + +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.world.gen.feature.ConfiguredFeature; + +public class PromenadeConfiguredFeatureKeys { + public static final RegistryKey> PALM = of("tree/palm"); + + public static final RegistryKey> BLUSH_SAKURA = of("tree/sakura/blush/regular"); + public static final RegistryKey> FANCY_BLUSH_SAKURA = of("tree/sakura/blush/fancy"); + public static final RegistryKey> BLUSH_SAKURA_BEES = of("tree/sakura/blush/bees"); + public static final RegistryKey> FANCY_BLUSH_SAKURA_BEES = of("tree/sakura/blush/fancy_bees"); + + public static final RegistryKey> COTTON_SAKURA = of("tree/sakura/cotton/regular"); + public static final RegistryKey> FANCY_COTTON_SAKURA = of("tree/sakura/cotton/fancy"); + public static final RegistryKey> COTTON_SAKURA_BEES = of("tree/sakura/cotton/bees"); + public static final RegistryKey> FANCY_COTTON_SAKURA_BEES = of("tree/sakura/cotton/fancy_bees"); + + public static final RegistryKey> SAP_MAPLE = of("tree/maple/sap/regular"); + public static final RegistryKey> FANCY_SAP_MAPLE = of("tree/maple/sap/fancy"); + public static final RegistryKey> SAP_MAPLE_BEES = of("tree/maple/sap/bees"); + public static final RegistryKey> FANCY_SAP_MAPLE_BEES = of("tree/maple/sap/fancy_bees"); + + public static final RegistryKey> VERMILION_MAPLE = of("tree/maple/vermilion/regular"); + public static final RegistryKey> FANCY_VERMILION_MAPLE = of("tree/maple/vermilion/fancy"); + public static final RegistryKey> VERMILION_MAPLE_BEES = of("tree/maple/vermilion/bees"); + public static final RegistryKey> FANCY_VERMILION_MAPLE_BEES = of("tree/maple/vermilion/fancy_bees"); + + public static final RegistryKey> FULVOUS_MAPLE = of("tree/maple/fulvous/regular"); + public static final RegistryKey> FANCY_FULVOUS_MAPLE = of("tree/maple/fulvous/fancy"); + public static final RegistryKey> FULVOUS_MAPLE_BEES = of("tree/maple/fulvous/bees"); + public static final RegistryKey> FANCY_FULVOUS_MAPLE_BEES = of("tree/maple/fulvous/fancy_bees"); + + public static final RegistryKey> MIKADO_MAPLE = of("tree/maple/mikado/regular"); + public static final RegistryKey> FANCY_MIKADO_MAPLE = of("tree/maple/mikado/fancy"); + public static final RegistryKey> MIKADO_MAPLE_BEES = of("tree/maple/mikado/bees"); + public static final RegistryKey> FANCY_MIKADO_MAPLE_BEES = of("tree/maple/mikado/fancy_bees"); + + public static final RegistryKey> PLANTED_AMARANTH_FUNGUS = of("amaranth_fungus/planted"); + + private static RegistryKey> of(String path) { + return RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeFeatures.java b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeFeatures.java new file mode 100644 index 00000000..67789d9d --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadeFeatures.java @@ -0,0 +1,20 @@ +package fr.hugman.promenade.world.gen.feature; + +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.FeatureConfig; +import net.minecraft.world.gen.feature.HugeFungusFeatureConfig; + +public class PromenadeFeatures { + public static final Feature TALL_HUGE_FUNGUS = of("tall_huge_fungus", new TallHugeFungusFeature(HugeFungusFeatureConfig.CODEC)); + public static final Feature BOULDER = of("boulder", new BoulderFeature(BoulderFeatureConfig.CODEC)); + public static final FreezeTopLayerFeature FREEZE_TOP_LAYER = of("freeze_top_layer", new FreezeTopLayerFeature(DefaultFeatureConfig.CODEC)); + + private static > F of(String path, F feature) { + return Registry.register(Registries.FEATURE, Promenade.id(path), feature); + } + +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatureKeys.java b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatureKeys.java new file mode 100644 index 00000000..3b8d47e2 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatureKeys.java @@ -0,0 +1,23 @@ +package fr.hugman.promenade.world.gen.feature; + +import fr.hugman.dawn.DawnFactory; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.world.gen.feature.PlacedFeature; + +public class PromenadePlacedFeatureKeys { + public static final RegistryKey ORE_BLUNITE_UPPER = of("ore/blunite/upper"); + public static final RegistryKey ORE_BLUNITE_LOWER = of("ore/blunite/lower"); + public static final RegistryKey ORE_ASPHALT_UPPER = of("ore/asphalt/upper"); + public static final RegistryKey ORE_ASPHALT_LOWER = of("ore/asphalt/lower"); + + public static final RegistryKey PALMS = of("trees/palms"); + + public static final RegistryKey PATCH_BLUEBERRY_BUSH_COMMON = DawnFactory.placedFeature(Promenade.id("patch/blueberry_bush/common")); + public static final RegistryKey PATCH_BLUEBERRY_BUSH_RARE = DawnFactory.placedFeature(Promenade.id("patch/blueberry_bush/rare")); + + private static RegistryKey of(String path) { + return RegistryKey.of(RegistryKeys.PLACED_FEATURE, Promenade.id(path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatures.java b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatures.java new file mode 100644 index 00000000..f62c6e14 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/PromenadePlacedFeatures.java @@ -0,0 +1,32 @@ +package fr.hugman.promenade.world.gen.feature; + +import fr.hugman.promenade.Promenade; +import fr.hugman.promenade.world.biome.PromenadeBiomeTags; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectionContext; +import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.feature.OreConfiguredFeatures; +import net.minecraft.world.gen.feature.VegetationPlacedFeatures; + +import java.util.function.Predicate; + +public class PromenadePlacedFeatures { + public static void appendWorldGen() { + if (Promenade.CONFIG.world_features.igneous_rock_patches) { + Predicate hasIgneousRocks = c -> c.hasFeature(OreConfiguredFeatures.ORE_ANDESITE) && c.hasFeature(OreConfiguredFeatures.ORE_DIORITE) && c.hasFeature(OreConfiguredFeatures.ORE_GRANITE); + BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, PromenadePlacedFeatureKeys.ORE_BLUNITE_UPPER); + BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, PromenadePlacedFeatureKeys.ORE_BLUNITE_LOWER); + BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, PromenadePlacedFeatureKeys.ORE_ASPHALT_UPPER); + BiomeModifications.addFeature(hasIgneousRocks, GenerationStep.Feature.UNDERGROUND_ORES, PromenadePlacedFeatureKeys.ORE_ASPHALT_LOWER); + } + if (Promenade.CONFIG.world_features.palms) { + BiomeModifications.addFeature(BiomeSelectors.tag(PromenadeBiomeTags.HAS_PALMS), GenerationStep.Feature.VEGETAL_DECORATION, PromenadePlacedFeatureKeys.PALMS); + } + + if (Promenade.CONFIG.world_features.blueberry_bushes) { + BiomeModifications.addFeature(c -> c.hasPlacedFeature(VegetationPlacedFeatures.PATCH_BERRY_COMMON), GenerationStep.Feature.VEGETAL_DECORATION, PromenadePlacedFeatureKeys.PATCH_BLUEBERRY_BUSH_COMMON); + BiomeModifications.addFeature(c -> c.hasPlacedFeature(VegetationPlacedFeatures.PATCH_BERRY_RARE), GenerationStep.Feature.VEGETAL_DECORATION, PromenadePlacedFeatureKeys.PATCH_BLUEBERRY_BUSH_RARE); + } + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/feature/TallHugeFungusFeature.java b/src/main/java/fr/hugman/promenade/world/gen/feature/TallHugeFungusFeature.java new file mode 100644 index 00000000..bdb092c8 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/feature/TallHugeFungusFeature.java @@ -0,0 +1,185 @@ +package fr.hugman.promenade.world.gen.feature; + +import com.mojang.serialization.Codec; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.StructureWorldAccess; +import net.minecraft.world.WorldAccess; +import net.minecraft.world.gen.feature.Feature; +import net.minecraft.world.gen.feature.HugeFungusFeatureConfig; +import net.minecraft.world.gen.feature.WeepingVinesFeature; +import net.minecraft.world.gen.feature.util.FeatureContext; + +public class TallHugeFungusFeature extends Feature { + public TallHugeFungusFeature(Codec codec) { + super(codec); + } + + private static boolean isReplaceable(StructureWorldAccess world, BlockPos pos, HugeFungusFeatureConfig config, boolean checkConfig) { + if (world.testBlockState(pos, AbstractBlock.AbstractBlockState::isReplaceable)) { + return true; + } else { + return checkConfig && config.replaceableBlocks.test(world, pos); + } + } + + private static BlockPos.Mutable getStartPos(WorldAccess world, BlockPos origin, Block block) { + BlockPos.Mutable mutable = origin.mutableCopy(); + for (int i = origin.getY(); i >= 1; --i) { + mutable.setY(i); + Block block2 = world.getBlockState(mutable.down()).getBlock(); + if (block2 == block) { + return mutable; + } + } + return null; + } + + private static void generateVines(BlockPos blockPos, WorldAccess worldAccess, Random random) { + BlockPos.Mutable mutable = blockPos.mutableCopy().move(Direction.DOWN); + if (worldAccess.isAir(mutable)) { + int i = MathHelper.nextInt(random, 1, 5); + if (random.nextInt(7) == 0) { + i *= 2; + } + WeepingVinesFeature.generateVineColumn(worldAccess, random, mutable, i, 23, 25); + } + } + + @Override + public boolean generate(FeatureContext context) { + Random random = context.getRandom(); + HugeFungusFeatureConfig config = context.getConfig(); + StructureWorldAccess world = context.getWorld(); + BlockPos pos = context.getOrigin(); + Block block = config.validBaseBlock.getBlock(); + BlockPos pos2 = null; + if (config.planted) { + Block block2 = world.getBlockState(pos.down()).getBlock(); + if (block2 == block) { + pos2 = pos; + } + } else { + pos2 = getStartPos(world, pos, block); + } + if (pos2 == null) { + return false; + } else { + int i = MathHelper.nextInt(random, 8, 16) * 2; + if (!config.planted) { + int j = world.getHeight(); + if (pos2.getY() + i + 1 >= j) { + return false; + } + } + boolean bl = !config.planted && random.nextFloat() < 0.16F; + world.setBlockState(pos, Blocks.AIR.getDefaultState(), 4); + this.generateStem(world, random, config, pos2, i, bl); + this.generateHat(world, random, config, pos2, i, bl); + return true; + } + } + + private void generateStem(StructureWorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos blockPos, int stemHeight, boolean thickStem) { + BlockPos.Mutable mutable = new BlockPos.Mutable(); + BlockState blockState = config.stemState; + int i = thickStem ? 1 : 0; + for (int j = -i; j <= i; ++j) { + for (int k = -i; k <= i; ++k) { + boolean bl = thickStem && MathHelper.abs(j) == i && MathHelper.abs(k) == i; + for (int l = 0; l < stemHeight; ++l) { + mutable.set(blockPos, j, l, k); + if (isReplaceable(world, mutable, config, true)) { + if (config.planted) { + if (!world.getBlockState(mutable.down()).isAir()) { + world.breakBlock(mutable, true); + } + world.setBlockState(mutable, blockState, 3); + } else if (bl) { + if (random.nextFloat() < 0.1F) { + this.setBlockState(world, mutable, blockState); + } + } else { + this.setBlockState(world, mutable, blockState); + } + } + } + } + } + + } + + private void generateHat(StructureWorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos blockPos, int hatHeight, boolean thickStem) { + BlockPos.Mutable mutable = new BlockPos.Mutable(); + boolean bl = config.hatState.isOf(Blocks.NETHER_WART_BLOCK); + int i = Math.min(random.nextInt(1 + hatHeight / 3) + 5, hatHeight); + int j = hatHeight - i; + for (int k = j; k <= hatHeight; ++k) { + int l = k < hatHeight - random.nextInt(3) ? 2 : 1; + if (i > 8 && k < j + 4) { + l = 3; + } + if (thickStem) { + ++l; + } + for (int m = -l; m <= l; ++m) { + for (int n = -l; n <= l; ++n) { + boolean bl2 = m == -l || m == l; + boolean bl3 = n == -l || n == l; + boolean bl4 = !bl2 && !bl3 && k != hatHeight; + boolean bl5 = bl2 && bl3; + boolean bl6 = k < j + 3; + mutable.set(blockPos, m, k, n); + if (isReplaceable(world, mutable, config, false)) { + if (config.planted && !world.getBlockState(mutable.down()).isAir()) { + world.breakBlock(mutable, true); + } + if (bl6) { + if (!bl4) { + this.tryGenerateVines(world, random, mutable, config.hatState, bl); + } + } else if (bl4) { + this.generateHatBlock(world, random, config, mutable, 0.1F, 0.2F, bl ? 0.1F : 0.0F); + } else if (bl5) { + this.generateHatBlock(world, random, config, mutable, 0.01F, 0.7F, bl ? 0.083F : 0.0F); + } else { + this.generateHatBlock(world, random, config, mutable, 5.0E-4F, 0.98F, bl ? 0.07F : 0.0F); + } + } + } + } + } + + } + + private void generateHatBlock(WorldAccess world, Random random, HugeFungusFeatureConfig config, BlockPos.Mutable pos, float decorationChance, float generationChance, float vineChance) { + if (random.nextFloat() < decorationChance) { + this.setBlockState(world, pos, config.decorationState); + } else if (random.nextFloat() < generationChance) { + this.setBlockState(world, pos, config.hatState); + if (random.nextFloat() < vineChance) { + generateVines(pos, world, random); + } + } + + } + + private void tryGenerateVines(WorldAccess world, Random random, BlockPos origin, BlockState state, boolean bl) { + BlockPos.Mutable mutable = origin.mutableCopy(); + if (world.getBlockState(mutable.down()).isOf(state.getBlock())) { + this.setBlockState(world, mutable, state); + } else if ((double) random.nextFloat() < 0.15D) { + this.setBlockState(world, origin, state); + if (bl && random.nextInt(11) == 0) { + generateVines(mutable, world, random); + } + } + + } +} \ No newline at end of file diff --git a/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java b/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java new file mode 100644 index 00000000..01c3b271 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/NoiseIntervalCountPlacementModifier.java @@ -0,0 +1,40 @@ +package fr.hugman.promenade.world.gen.placement_modifier; + +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.gen.placementmodifier.AbstractCountPlacementModifier; +import net.minecraft.world.gen.placementmodifier.PlacementModifierType; + +public class NoiseIntervalCountPlacementModifier extends AbstractCountPlacementModifier { + public static final MapCodec MODIFIER_CODEC = RecordCodecBuilder.mapCodec((instance) -> instance.group( + Codec.DOUBLE.fieldOf("noise_level_min").forGetter((pm) -> pm.noiseLevelMin), + Codec.DOUBLE.fieldOf("noise_level_max").forGetter((pm) -> pm.noiseLevelMax), + Codec.INT.fieldOf("inside_value").forGetter((pm) -> pm.insideValue), + Codec.INT.fieldOf("outside_value").forGetter((pm) -> pm.outsideValue)) + .apply(instance, NoiseIntervalCountPlacementModifier::new)); + private final double noiseLevelMin; + private final double noiseLevelMax; + private final int insideValue; + private final int outsideValue; + + private NoiseIntervalCountPlacementModifier(double noiseLevelMin, double noiseLevelMax, int insideValue, int outsideValue) { + this.noiseLevelMin = noiseLevelMin; + this.noiseLevelMax = noiseLevelMax; + this.insideValue = insideValue; + this.outsideValue = outsideValue; + } + + @Override + protected int getCount(Random random, BlockPos pos) { + double d = Biome.FOLIAGE_NOISE.sample((double) pos.getX() / 200.0, (double) pos.getZ() / 200.0, false); + return (this.noiseLevelMin < d && d < this.noiseLevelMax) ? this.insideValue : this.outsideValue; + } + + public PlacementModifierType getType() { + return PlacementModifierType.NOISE_THRESHOLD_COUNT; + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/PromenadePlacementModifierTypes.java b/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/PromenadePlacementModifierTypes.java new file mode 100644 index 00000000..dbc1a0de --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/placement_modifier/PromenadePlacementModifierTypes.java @@ -0,0 +1,16 @@ +package fr.hugman.promenade.world.gen.placement_modifier; + +import com.mojang.serialization.MapCodec; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.world.gen.placementmodifier.PlacementModifier; +import net.minecraft.world.gen.placementmodifier.PlacementModifierType; + +public class PromenadePlacementModifierTypes { + public static final PlacementModifierType NOISE_INTERVAL_COUNT = register("noise_interval_count", NoiseIntervalCountPlacementModifier.MODIFIER_CODEC); + + private static

PlacementModifierType

register(String path, MapCodec

codec) { + return Registry.register(Registries.PLACEMENT_MODIFIER_TYPE, Promenade.id(path), () -> codec); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PalmFoliagePlacer.java b/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PalmFoliagePlacer.java new file mode 100644 index 00000000..b91e3881 --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PalmFoliagePlacer.java @@ -0,0 +1,86 @@ +package fr.hugman.promenade.world.gen.tree.foliage; + +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.intprovider.IntProvider; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.TestableWorld; +import net.minecraft.world.gen.feature.TreeFeatureConfig; +import net.minecraft.world.gen.foliage.FoliagePlacer; +import net.minecraft.world.gen.foliage.FoliagePlacerType; + +public class PalmFoliagePlacer extends FoliagePlacer { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> + PalmFoliagePlacer.fillFoliagePlacerFields(instance) + .apply(instance, PalmFoliagePlacer::new)); + + public PalmFoliagePlacer(IntProvider radius, IntProvider offset) { + super(radius, offset); + } + + @Override + protected FoliagePlacerType getType() { + return PromenadeFoliagePlacerTypes.PALM; + } + + @Override + protected void generate(TestableWorld world, BlockPlacer placer, Random random, TreeFeatureConfig config, int trunkHeight, TreeNode treeNode, int foliageHeight, int radius, int offset) { + boolean bl = treeNode.isGiantTrunk(); + BlockPos blockPos = treeNode.getCenter().down(); + + int i = radius + treeNode.getFoliageRadius(); + if (i > 1) this.generateSquare(world, placer, random, config, blockPos, i, 2, bl); + this.generateSquare(world, placer, random, config, blockPos, i + 1, 1, bl); + this.generateSquare(world, placer, random, config, blockPos, i + 2, 0, bl); + this.generateSquare(world, placer, random, config, blockPos, i + 2, -1, bl); + this.generateSquare(world, placer, random, config, blockPos, i + 1, -2, bl); + } + + @Override + public int getRandomHeight(Random random, int trunkHeight, TreeFeatureConfig config) { + return 0; + } + + @Override + protected boolean isInvalidForLeaves(Random random, int dx, int y, int dz, int radius, boolean giantTrunk) { + int d = dx + dz; // Distance from center + + if (y == 2) { + return (d <= radius - 2) || (d > radius); + } else if (y == 1) { + if (dx == radius) return dz != 0; + if (dz == radius) return dx != 0; + + return false; + } else if (y == 0) { + if (d <= 2) return false; + + // NESW leafs + if (dx == radius) return dz != 0; + if (dx == radius - 1 && dz == 0) return false; + if (dz == radius) return dx != 0; + if (dz == radius - 1 && dx == 0) return false; + + // Corner leafs + if (dx == radius - 2 && dz == radius - 2) return false; + if (dx == radius - 2 && dz == radius - 1) return false; + if (dx == radius - 1 && dz == radius - 2) return false; + return d != (radius - 1) * 2 || dx != dz; + } else if (y == -1) { + if (d == 0) return false; + if (d == 1) return radius <= 2; + + // NESW leafs + if (dx == radius) return dz != 0; + if (dz == radius) return dx != 0; + + // Corner leafs + return d != (radius - 1) * 2 || dx != dz; + } else if (y == -2) { + // Corner leafs + return d != radius * 2 || dx != dz; + } + return true; + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PromenadeFoliagePlacerTypes.java b/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PromenadeFoliagePlacerTypes.java new file mode 100644 index 00000000..9a0a13ff --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/tree/foliage/PromenadeFoliagePlacerTypes.java @@ -0,0 +1,17 @@ +package fr.hugman.promenade.world.gen.tree.foliage; + +import com.mojang.serialization.MapCodec; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.world.gen.foliage.FoliagePlacer; +import net.minecraft.world.gen.foliage.FoliagePlacerType; + +public class PromenadeFoliagePlacerTypes { + public static final FoliagePlacerType PALM = register("palm", PalmFoliagePlacer.CODEC); + + private static

FoliagePlacerType

register(String path, MapCodec

codec) { + return Registry.register(Registries.FOLIAGE_PLACER_TYPE, Promenade.id(path), new FoliagePlacerType<>(codec)); + } + +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/LeapingTrunkPlacer.java b/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/LeapingTrunkPlacer.java new file mode 100644 index 00000000..919df3bb --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/LeapingTrunkPlacer.java @@ -0,0 +1,81 @@ +package fr.hugman.promenade.world.gen.tree.trunk; + +import com.google.common.collect.ImmutableList; +import com.mojang.serialization.Codec; +import com.mojang.serialization.MapCodec; +import com.mojang.serialization.codecs.RecordCodecBuilder; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.intprovider.IntProvider; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.TestableWorld; +import net.minecraft.world.gen.feature.TreeFeatureConfig; +import net.minecraft.world.gen.foliage.FoliagePlacer; +import net.minecraft.world.gen.trunk.TrunkPlacer; +import net.minecraft.world.gen.trunk.TrunkPlacerType; + +import java.util.List; +import java.util.function.BiConsumer; + +public class LeapingTrunkPlacer extends TrunkPlacer { + public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(instance -> fillTrunkPlacerFields(instance).and(instance.group( + IntProvider.createValidatingCodec(0, 80).fieldOf("straight_max").forGetter(placer -> placer.straightMax), + IntProvider.VALUE_CODEC.fieldOf("straight_difference").forGetter(placer -> placer.straightDifference), + Codec.FLOAT.fieldOf("decline_chance").forGetter(placer -> placer.declineChance), + Codec.INT.fieldOf("max_foliage_radius_bonus").forGetter(placer -> placer.maxFoliageRadiusBonus)) + ).apply(instance, LeapingTrunkPlacer::new)); + + private final IntProvider straightMax; + private final IntProvider straightDifference; + private final float declineChance; + private final int maxFoliageRadiusBonus; + + public LeapingTrunkPlacer(int baseHeight, int firstRandomHeight, int secondRandomHeight, IntProvider straightMax, IntProvider straightDifference, float declineChance, int maxFoliageRadiusBonus) { + super(baseHeight, firstRandomHeight, secondRandomHeight); + this.straightMax = straightMax; + this.straightDifference = straightDifference; + this.declineChance = declineChance; + this.maxFoliageRadiusBonus = maxFoliageRadiusBonus; + } + + @Override + protected TrunkPlacerType getType() { + return PromenadeTrunkPlacerTypes.LEAPING; + } + + @Override + public List generate(TestableWorld world, BiConsumer replacer, Random random, int height, BlockPos startPos, TreeFeatureConfig config) { + Direction direction = Direction.Type.HORIZONTAL.random(random); + BlockPos.Mutable mutable = startPos.mutableCopy().move(Direction.DOWN); + + int j = this.straightMax.get(random); + int k = j; + + setToDirt(world, replacer, random, mutable, config); + for (int i = 0; i < height; ++i) { + mutable.move(Direction.UP); + if (k <= 0) { + j += this.straightDifference.get(random); + k = j; + if (random.nextFloat() < this.declineChance && i < height - 1) { + getAndSetState(world, replacer, random, mutable, config); + if (random.nextBoolean()) { + mutable.move(direction.rotateYClockwise()); + } else { + mutable.move(direction.rotateYCounterclockwise()); + } + } + mutable.move(direction); + } + getAndSetState(world, replacer, random, mutable, config); + k--; + } + + mutable.move(Direction.UP); + + double heightRatio = MathHelper.clamp((height - this.baseHeight) / (double) (this.firstRandomHeight + this.secondRandomHeight), 0.0D, 0.999D); + return ImmutableList.of(new FoliagePlacer.TreeNode(mutable, MathHelper.floor((this.maxFoliageRadiusBonus + 1) * heightRatio), false)); + } +} diff --git a/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/PromenadeTrunkPlacerTypes.java b/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/PromenadeTrunkPlacerTypes.java new file mode 100644 index 00000000..b020d1ae --- /dev/null +++ b/src/main/java/fr/hugman/promenade/world/gen/tree/trunk/PromenadeTrunkPlacerTypes.java @@ -0,0 +1,17 @@ +package fr.hugman.promenade.world.gen.tree.trunk; + +import com.mojang.serialization.MapCodec; +import fr.hugman.promenade.Promenade; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.world.gen.trunk.TrunkPlacer; +import net.minecraft.world.gen.trunk.TrunkPlacerType; + +public class PromenadeTrunkPlacerTypes { + public static final TrunkPlacerType LEAPING = register("leaping", LeapingTrunkPlacer.CODEC); + + private static

TrunkPlacerType

register(String path, MapCodec

codec) { + return Registry.register(Registries.TRUNK_PLACER_TYPE, Promenade.id(path), new TrunkPlacerType<>(codec)); + } + +} diff --git a/src/main/resources/assets/promenade/blockstates/acacia_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/acacia_leaf_pile.json index d58cdaf1..9a93b46e 100644 --- a/src/main/resources/assets/promenade/blockstates/acacia_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/acacia_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/acacia_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/acacia_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/allium_pile.json b/src/main/resources/assets/promenade/blockstates/allium_pile.json index 9b9e6357..e8410bb3 100644 --- a/src/main/resources/assets/promenade/blockstates/allium_pile.json +++ b/src/main/resources/assets/promenade/blockstates/allium_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/allium" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/allium" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/asphalt.json b/src/main/resources/assets/promenade/blockstates/asphalt.json index e737ba04..14291b6f 100644 --- a/src/main/resources/assets/promenade/blockstates/asphalt.json +++ b/src/main/resources/assets/promenade/blockstates/asphalt.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/asphalt/block" - } - } + "variants": { + "": { + "model": "promenade:block/asphalt/block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/asphalt_column.json b/src/main/resources/assets/promenade/blockstates/asphalt_column.json deleted file mode 100644 index 6563be32..00000000 --- a/src/main/resources/assets/promenade/blockstates/asphalt_column.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "promenade:block/asphalt/column/center" - } - }, - { - "when": { - "down": true - }, - "apply": { - "model": "promenade:block/asphalt/column/end" - } - }, - { - "when": { - "up": true - }, - "apply": { - "model": "promenade:block/asphalt/column/end", - "x": 180, - "uvlock": true - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/asphalt_slab.json b/src/main/resources/assets/promenade/blockstates/asphalt_slab.json index 3a28c2a3..2767f4d4 100644 --- a/src/main/resources/assets/promenade/blockstates/asphalt_slab.json +++ b/src/main/resources/assets/promenade/blockstates/asphalt_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/asphalt/slab/bottom" - }, - "type=top": { - "model": "promenade:block/asphalt/slab/top" - }, - "type=double": { - "model": "promenade:block/asphalt/block" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/asphalt/slab/bottom" + }, + "type=top": { + "model": "promenade:block/asphalt/slab/top" + }, + "type=double": { + "model": "promenade:block/asphalt/block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/asphalt_stairs.json b/src/main/resources/assets/promenade/blockstates/asphalt_stairs.json index 866e723b..0b08f9b3 100644 --- a/src/main/resources/assets/promenade/blockstates/asphalt_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/asphalt_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/asphalt/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/asphalt/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/asphalt_wall.json b/src/main/resources/assets/promenade/blockstates/asphalt_wall.json index d6162099..69d206f6 100644 --- a/src/main/resources/assets/promenade/blockstates/asphalt_wall.json +++ b/src/main/resources/assets/promenade/blockstates/asphalt_wall.json @@ -1,90 +1,90 @@ { - "multipart": [ - { - "when": { - "up": "true" - }, - "apply": { - "model": "promenade:block/asphalt/wall/post" - } - }, - { - "when": { - "north": "low" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side", - "uvlock": true - } - }, - { - "when": { - "east": "low" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "low" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "low" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side", - "y": 270, - "uvlock": true - } - }, - { - "when": { - "north": "tall" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side_tall", - "uvlock": true - } - }, - { - "when": { - "east": "tall" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side_tall", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "tall" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side_tall", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "tall" - }, - "apply": { - "model": "promenade:block/asphalt/wall/side_tall", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "promenade:block/asphalt/wall/post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "promenade:block/asphalt/wall/side_tall", + "y": 270, + "uvlock": true + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/azalea_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/azalea_leaf_pile.json index 3b01de50..8f6c3aa1 100644 --- a/src/main/resources/assets/promenade/blockstates/azalea_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/azalea_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/azalea_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/azalea_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/azure_bluet_pile.json b/src/main/resources/assets/promenade/blockstates/azure_bluet_pile.json index 8709f490..959c1a9b 100644 --- a/src/main/resources/assets/promenade/blockstates/azure_bluet_pile.json +++ b/src/main/resources/assets/promenade/blockstates/azure_bluet_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/azure_bluet" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/azure_bluet" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/birch_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/birch_leaf_pile.json index bb9dd8bb..138cf0e2 100644 --- a/src/main/resources/assets/promenade/blockstates/birch_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/birch_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/birch_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/birch_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/black_dylium.json b/src/main/resources/assets/promenade/blockstates/black_dylium.json index 42596fae..6b32a3a5 100644 --- a/src/main/resources/assets/promenade/blockstates/black_dylium.json +++ b/src/main/resources/assets/promenade/blockstates/black_dylium.json @@ -1,21 +1,21 @@ { - "variants": { - "": [ - { - "model": "promenade:block/black_dylium/1" - }, - { - "model": "promenade:block/black_dylium/2", - "y": 90 - }, - { - "model": "promenade:block/black_dylium/3", - "y": 180 - }, - { - "model": "promenade:block/black_dylium/4", - "y": 270 - } - ] - } + "variants": { + "": [ + { + "model": "promenade:block/black_dylium/1" + }, + { + "model": "promenade:block/black_dylium/2", + "y": 90 + }, + { + "model": "promenade:block/black_dylium/3", + "y": 180 + }, + { + "model": "promenade:block/black_dylium/4", + "y": 270 + } + ] + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blue_orchid_pile.json b/src/main/resources/assets/promenade/blockstates/blue_orchid_pile.json index 2111c3cb..15fa6500 100644 --- a/src/main/resources/assets/promenade/blockstates/blue_orchid_pile.json +++ b/src/main/resources/assets/promenade/blockstates/blue_orchid_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/blue_orchid" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/blue_orchid" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blueberry_bush.json b/src/main/resources/assets/promenade/blockstates/blueberry_bush.json index 10adaa49..eeec53d2 100644 --- a/src/main/resources/assets/promenade/blockstates/blueberry_bush.json +++ b/src/main/resources/assets/promenade/blockstates/blueberry_bush.json @@ -1,16 +1,16 @@ { - "variants": { - "age=0": { - "model": "promenade:block/blueberry_bush/0" - }, - "age=1": { - "model": "promenade:block/blueberry_bush/1" - }, - "age=2": { - "model": "promenade:block/blueberry_bush/2" - }, - "age=3": { - "model": "promenade:block/blueberry_bush/3" - } - } + "variants": { + "age=0": { + "model": "promenade:block/blueberry_bush/0" + }, + "age=1": { + "model": "promenade:block/blueberry_bush/1" + }, + "age=2": { + "model": "promenade:block/blueberry_bush/2" + }, + "age=3": { + "model": "promenade:block/blueberry_bush/3" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blunite.json b/src/main/resources/assets/promenade/blockstates/blunite.json index b526235c..1812850a 100644 --- a/src/main/resources/assets/promenade/blockstates/blunite.json +++ b/src/main/resources/assets/promenade/blockstates/blunite.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/blunite/block" - } - } + "variants": { + "": { + "model": "promenade:block/blunite/block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blunite_column.json b/src/main/resources/assets/promenade/blockstates/blunite_column.json deleted file mode 100644 index cdaa5324..00000000 --- a/src/main/resources/assets/promenade/blockstates/blunite_column.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "promenade:block/blunite/column/center" - } - }, - { - "when": { - "down": true - }, - "apply": { - "model": "promenade:block/blunite/column/end" - } - }, - { - "when": { - "up": true - }, - "apply": { - "model": "promenade:block/blunite/column/end", - "x": 180, - "uvlock": true - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blunite_slab.json b/src/main/resources/assets/promenade/blockstates/blunite_slab.json index 9308c6de..13fe343c 100644 --- a/src/main/resources/assets/promenade/blockstates/blunite_slab.json +++ b/src/main/resources/assets/promenade/blockstates/blunite_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/blunite/slab/bottom" - }, - "type=top": { - "model": "promenade:block/blunite/slab/top" - }, - "type=double": { - "model": "promenade:block/blunite/block" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/blunite/slab/bottom" + }, + "type=top": { + "model": "promenade:block/blunite/slab/top" + }, + "type=double": { + "model": "promenade:block/blunite/block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blunite_stairs.json b/src/main/resources/assets/promenade/blockstates/blunite_stairs.json index c7efeb27..63926dd8 100644 --- a/src/main/resources/assets/promenade/blockstates/blunite_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/blunite_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/blunite/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/blunite/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/blunite/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/blunite/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/blunite/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/blunite/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/blunite/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/blunite/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blunite_wall.json b/src/main/resources/assets/promenade/blockstates/blunite_wall.json index d1e95c28..47ec92d8 100644 --- a/src/main/resources/assets/promenade/blockstates/blunite_wall.json +++ b/src/main/resources/assets/promenade/blockstates/blunite_wall.json @@ -1,90 +1,90 @@ { - "multipart": [ - { - "when": { - "up": "true" - }, - "apply": { - "model": "promenade:block/blunite/wall/post" - } - }, - { - "when": { - "north": "low" - }, - "apply": { - "model": "promenade:block/blunite/wall/side", - "uvlock": true - } - }, - { - "when": { - "east": "low" - }, - "apply": { - "model": "promenade:block/blunite/wall/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "low" - }, - "apply": { - "model": "promenade:block/blunite/wall/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "low" - }, - "apply": { - "model": "promenade:block/blunite/wall/side", - "y": 270, - "uvlock": true - } - }, - { - "when": { - "north": "tall" - }, - "apply": { - "model": "promenade:block/blunite/wall/side_tall", - "uvlock": true - } - }, - { - "when": { - "east": "tall" - }, - "apply": { - "model": "promenade:block/blunite/wall/side_tall", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "tall" - }, - "apply": { - "model": "promenade:block/blunite/wall/side_tall", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "tall" - }, - "apply": { - "model": "promenade:block/blunite/wall/side_tall", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "promenade:block/blunite/wall/post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "promenade:block/blunite/wall/side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "promenade:block/blunite/wall/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "promenade:block/blunite/wall/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "promenade:block/blunite/wall/side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "promenade:block/blunite/wall/side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "promenade:block/blunite/wall/side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "promenade:block/blunite/wall/side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "promenade:block/blunite/wall/side_tall", + "y": 270, + "uvlock": true + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blush_sakura_blossom_pile.json b/src/main/resources/assets/promenade/blockstates/blush_sakura_blossom_pile.json index 7e25aa95..776c9215 100644 --- a/src/main/resources/assets/promenade/blockstates/blush_sakura_blossom_pile.json +++ b/src/main/resources/assets/promenade/blockstates/blush_sakura_blossom_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/blossom_pile/blush" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/blossom_pile/blush" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blush_sakura_blossoms.json b/src/main/resources/assets/promenade/blockstates/blush_sakura_blossoms.json index 34f349ce..10e7747f 100644 --- a/src/main/resources/assets/promenade/blockstates/blush_sakura_blossoms.json +++ b/src/main/resources/assets/promenade/blockstates/blush_sakura_blossoms.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/blossoms/blush" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/blossoms/blush" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/blush_sakura_sapling.json b/src/main/resources/assets/promenade/blockstates/blush_sakura_sapling.json index 3dd4fff1..a1260459 100644 --- a/src/main/resources/assets/promenade/blockstates/blush_sakura_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/blush_sakura_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/sapling/blush" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/sapling/blush" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/cornflower_pile.json b/src/main/resources/assets/promenade/blockstates/cornflower_pile.json index 7c23fe5f..44f04dd2 100644 --- a/src/main/resources/assets/promenade/blockstates/cornflower_pile.json +++ b/src/main/resources/assets/promenade/blockstates/cornflower_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/cornflower" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/cornflower" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossom_pile.json b/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossom_pile.json index 15fb3522..17a4d1d6 100644 --- a/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossom_pile.json +++ b/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossom_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/blossom_pile/cotton" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/blossom_pile/cotton" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossoms.json b/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossoms.json index 8b53b344..1e59c2cc 100644 --- a/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossoms.json +++ b/src/main/resources/assets/promenade/blockstates/cotton_sakura_blossoms.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/blossoms/cotton" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/blossoms/cotton" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/cotton_sakura_sapling.json b/src/main/resources/assets/promenade/blockstates/cotton_sakura_sapling.json index 542d349f..98b6d279 100644 --- a/src/main/resources/assets/promenade/blockstates/cotton_sakura_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/cotton_sakura_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/sapling/cotton" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/sapling/cotton" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dandelion_pile.json b/src/main/resources/assets/promenade/blockstates/dandelion_pile.json index b017aa8c..d944b1d6 100644 --- a/src/main/resources/assets/promenade/blockstates/dandelion_pile.json +++ b/src/main/resources/assets/promenade/blockstates/dandelion_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/dandelion" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/dandelion" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_button.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_button.json index 9d76168a..c42eac62 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_button.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_button.json @@ -1,118 +1,118 @@ { - "variants": { - "face=floor,facing=east,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "y": 90 - }, - "face=floor,facing=west,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "y": 270 - }, - "face=floor,facing=south,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "y": 180 - }, - "face=floor,facing=north,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed" - }, - "face=wall,facing=east,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=false": { - "model": "promenade:block/dark_amaranth/button/unpressed", - "x": 180, - "y": 180 - }, - "face=floor,facing=east,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "y": 90 - }, - "face=floor,facing=west,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "y": 270 - }, - "face=floor,facing=south,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "y": 180 - }, - "face=floor,facing=north,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed" - }, - "face=wall,facing=east,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=true": { - "model": "promenade:block/dark_amaranth/button/pressed", - "x": 180, - "y": 180 - } - } + "variants": { + "face=floor,facing=east,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "y": 90 + }, + "face=floor,facing=west,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "y": 270 + }, + "face=floor,facing=south,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "y": 180 + }, + "face=floor,facing=north,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed" + }, + "face=wall,facing=east,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=false": { + "model": "promenade:block/dark_amaranth/button/unpressed", + "x": 180, + "y": 180 + }, + "face=floor,facing=east,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "y": 90 + }, + "face=floor,facing=west,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "y": 270 + }, + "face=floor,facing=south,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "y": 180 + }, + "face=floor,facing=north,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed" + }, + "face=wall,facing=east,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "promenade:block/dark_amaranth/button/pressed", + "x": 180, + "y": 180 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_door.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_door.json index 898b6467..929a99da 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_door.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_door.json @@ -1,124 +1,124 @@ { - "variants": { - "facing=east,half=lower,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/lower/closed" - }, - "facing=east,half=lower,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open", - "y": 90 - }, - "facing=east,half=lower,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/lower/closed" - }, - "facing=east,half=lower,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/lower/open", - "y": 270 - }, - "facing=east,half=upper,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/upper/closed" - }, - "facing=east,half=upper,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/upper/open", - "y": 90 - }, - "facing=east,half=upper,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/upper/closed" - }, - "facing=east,half=upper,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/upper/open", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open" - }, - "facing=north,half=lower,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/lower/open", - "y": 180 - }, - "facing=north,half=upper,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/upper/open" - }, - "facing=north,half=upper,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/upper/open", - "y": 180 - }, - "facing=south,half=lower,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open", - "y": 180 - }, - "facing=south,half=lower,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open" - }, - "facing=south,half=upper,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/upper/open", - "y": 180 - }, - "facing=south,half=upper,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/upper/open" - }, - "facing=west,half=lower,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open", - "y": 270 - }, - "facing=west,half=lower,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/left/lower/open", - "y": 90 - }, - "facing=west,half=upper,hinge=left,open=false": { - "model": "promenade:block/dark_amaranth/door/left/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=left,open=true": { - "model": "promenade:block/dark_amaranth/door/left/upper/open", - "y": 270 - }, - "facing=west,half=upper,hinge=right,open=false": { - "model": "promenade:block/dark_amaranth/door/right/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=right,open=true": { - "model": "promenade:block/dark_amaranth/door/right/upper/open", - "y": 90 - } - } + "variants": { + "facing=east,half=lower,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/lower/closed" + }, + "facing=east,half=lower,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/lower/closed" + }, + "facing=east,half=lower,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/lower/open", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/upper/closed" + }, + "facing=east,half=upper,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/upper/open", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/upper/closed" + }, + "facing=east,half=upper,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/upper/open", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open" + }, + "facing=north,half=lower,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/lower/open", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/upper/open" + }, + "facing=north,half=upper,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/upper/open", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open" + }, + "facing=south,half=upper,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/upper/open", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/upper/open" + }, + "facing=west,half=lower,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/left/lower/open", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false": { + "model": "promenade:block/dark_amaranth/door/left/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true": { + "model": "promenade:block/dark_amaranth/door/left/upper/open", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false": { + "model": "promenade:block/dark_amaranth/door/right/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true": { + "model": "promenade:block/dark_amaranth/door/right/upper/open", + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence.json index 907d60c1..68b48db0 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence.json @@ -1,48 +1,48 @@ { - "multipart": [ - { - "apply": { - "model": "promenade:block/dark_amaranth/fence/post" - } - }, - { - "when": { - "north": "true" - }, - "apply": { - "model": "promenade:block/dark_amaranth/fence/side", - "uvlock": true - } - }, - { - "when": { - "east": "true" - }, - "apply": { - "model": "promenade:block/dark_amaranth/fence/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "true" - }, - "apply": { - "model": "promenade:block/dark_amaranth/fence/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "true" - }, - "apply": { - "model": "promenade:block/dark_amaranth/fence/side", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "apply": { + "model": "promenade:block/dark_amaranth/fence/post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "promenade:block/dark_amaranth/fence/side", + "uvlock": true + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "promenade:block/dark_amaranth/fence/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "promenade:block/dark_amaranth/fence/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "promenade:block/dark_amaranth/fence/side", + "y": 270, + "uvlock": true + } + } + ] } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence_gate.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence_gate.json index be84755e..479fb960 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence_gate.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fence_gate.json @@ -1,80 +1,80 @@ { - "variants": { - "facing=south,in_wall=false,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/close", - "uvlock": true - }, - "facing=west,in_wall=false,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=false,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/open", - "uvlock": true - }, - "facing=west,in_wall=false,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/open", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/close", - "uvlock": true - }, - "facing=west,in_wall=true,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=false": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/open", - "uvlock": true - }, - "facing=west,in_wall=true,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=true": { - "model": "promenade:block/dark_amaranth/fence_gate/wall/open", - "uvlock": true, - "y": 270 - } - } + "variants": { + "facing=south,in_wall=false,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/close", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=false,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/open", + "uvlock": true + }, + "facing=west,in_wall=false,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/open", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/close", + "uvlock": true + }, + "facing=west,in_wall=true,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=false": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/open", + "uvlock": true + }, + "facing=west,in_wall=true,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=true": { + "model": "promenade:block/dark_amaranth/fence_gate/wall/open", + "uvlock": true, + "y": 270 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fungus.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fungus.json index 2b65d751..21bc4bfd 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_fungus.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_fungus.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/dark_amaranth/fungus" - } - } + "variants": { + "": { + "model": "promenade:block/dark_amaranth/fungus" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_hyphae.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_hyphae.json index 9bdb8f7a..080d41ab 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_hyphae.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_hyphae.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/dark_amaranth/hyphae" - }, - "axis=z": { - "model": "promenade:block/dark_amaranth/hyphae", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/dark_amaranth/hyphae", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/dark_amaranth/hyphae" + }, + "axis=z": { + "model": "promenade:block/dark_amaranth/hyphae", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/dark_amaranth/hyphae", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_planks.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_planks.json index 878e5f7d..99fae50a 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_planks.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_planks.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/dark_amaranth/planks" - } - } + "variants": { + "": { + "model": "promenade:block/dark_amaranth/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_pressure_plate.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_pressure_plate.json index 7cc4bfa8..49b11407 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_pressure_plate.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_pressure_plate.json @@ -1,10 +1,10 @@ { - "variants": { - "powered=false": { - "model": "promenade:block/dark_amaranth/pressure_plate/unpressed" - }, - "powered=true": { - "model": "promenade:block/dark_amaranth/pressure_plate/pressed" - } - } + "variants": { + "powered=false": { + "model": "promenade:block/dark_amaranth/pressure_plate/unpressed" + }, + "powered=true": { + "model": "promenade:block/dark_amaranth/pressure_plate/pressed" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_roots.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_roots.json index ede08ae2..d486cda5 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_roots.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_roots.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/dark_amaranth/roots" - } - } + "variants": { + "": { + "model": "promenade:block/dark_amaranth/roots" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_slab.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_slab.json index de83e73b..e6b23c44 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_slab.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/dark_amaranth/slab/bottom" - }, - "type=top": { - "model": "promenade:block/dark_amaranth/slab/top" - }, - "type=double": { - "model": "promenade:block/dark_amaranth/planks" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/dark_amaranth/slab/bottom" + }, + "type=top": { + "model": "promenade:block/dark_amaranth/slab/top" + }, + "type=double": { + "model": "promenade:block/dark_amaranth/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_stairs.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_stairs.json index b30ac22e..9aff2596 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/dark_amaranth/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/dark_amaranth/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/dark_amaranth/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/dark_amaranth/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/dark_amaranth/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/dark_amaranth/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_stem.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_stem.json index d0ff2d81..7dd08b6c 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_stem.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_stem.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/dark_amaranth/stem" - }, - "axis=z": { - "model": "promenade:block/dark_amaranth/stem", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/dark_amaranth/stem", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/dark_amaranth/stem" + }, + "axis=z": { + "model": "promenade:block/dark_amaranth/stem", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/dark_amaranth/stem", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_trapdoor.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_trapdoor.json index a7bf4c22..b71e74e9 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_trapdoor.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_trapdoor.json @@ -1,69 +1,69 @@ { - "variants": { - "facing=north,half=bottom,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/bottom" - }, - "facing=south,half=bottom,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", - "y": 180 - }, - "facing=east,half=bottom,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", - "y": 90 - }, - "facing=west,half=bottom,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", - "y": 270 - }, - "facing=north,half=top,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/top" - }, - "facing=south,half=top,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/top", - "y": 180 - }, - "facing=east,half=top,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/top", - "y": 90 - }, - "facing=west,half=top,open=false": { - "model": "promenade:block/dark_amaranth/trapdoor/close/top", - "y": 270 - }, - "facing=north,half=bottom,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open" - }, - "facing=south,half=bottom,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "y": 180 - }, - "facing=east,half=bottom,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "y": 90 - }, - "facing=west,half=bottom,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "y": 270 - }, - "facing=north,half=top,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "x": 180, - "y": 180 - }, - "facing=south,half=top,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "x": 180, - "y": 0 - }, - "facing=east,half=top,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "x": 180, - "y": 270 - }, - "facing=west,half=top,open=true": { - "model": "promenade:block/dark_amaranth/trapdoor/open", - "x": 180, - "y": 90 - } - } + "variants": { + "facing=north,half=bottom,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/bottom" + }, + "facing=south,half=bottom,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", + "y": 180 + }, + "facing=east,half=bottom,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", + "y": 90 + }, + "facing=west,half=bottom,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/bottom", + "y": 270 + }, + "facing=north,half=top,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/top" + }, + "facing=south,half=top,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/top", + "y": 180 + }, + "facing=east,half=top,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/top", + "y": 90 + }, + "facing=west,half=top,open=false": { + "model": "promenade:block/dark_amaranth/trapdoor/close/top", + "y": 270 + }, + "facing=north,half=bottom,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open" + }, + "facing=south,half=bottom,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "y": 180 + }, + "facing=east,half=bottom,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "y": 90 + }, + "facing=west,half=bottom,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "y": 270 + }, + "facing=north,half=top,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "x": 180, + "y": 180 + }, + "facing=south,half=top,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "x": 180, + "y": 0 + }, + "facing=east,half=top,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "x": 180, + "y": 270 + }, + "facing=west,half=top,open=true": { + "model": "promenade:block/dark_amaranth/trapdoor/open", + "x": 180, + "y": 90 + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/dark_amaranth_wart_block.json b/src/main/resources/assets/promenade/blockstates/dark_amaranth_wart_block.json index 6e55ea81..716e4cc7 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_amaranth_wart_block.json +++ b/src/main/resources/assets/promenade/blockstates/dark_amaranth_wart_block.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/dark_amaranth/wart_block" - } - } + "variants": { + "": { + "model": "promenade:block/dark_amaranth/wart_block" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/dark_oak_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/dark_oak_leaf_pile.json index b06cc655..5eac9c5b 100644 --- a/src/main/resources/assets/promenade/blockstates/dark_oak_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/dark_oak_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/dark_oak_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/dark_oak_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/flowering_azalea_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/flowering_azalea_leaf_pile.json index c22e4d7b..f0fb19a6 100644 --- a/src/main/resources/assets/promenade/blockstates/flowering_azalea_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/flowering_azalea_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/flowering_azalea_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/flowering_azalea_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaf_pile.json index 898ce336..c4b27488 100644 --- a/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/leaf_pile/fulvous" - } - } + "variants": { + "": { + "model": "promenade:block/maple/leaf_pile/fulvous" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaves.json b/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaves.json index 14a1f051..75a5b3fb 100644 --- a/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/fulvous_maple_leaves.json @@ -1,49 +1,49 @@ { - "variants": { - "distance=1,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/regular" - }, - "distance=2,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/regular" - }, - "distance=3,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/regular" - }, - "distance=4,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=5,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=6,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=7,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=8,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=9,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=10,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=11,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=12,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=13,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "distance=14,persistent=false": { - "model": "promenade:block/maple/leaves/fulvous/mixed" - }, - "persistent=true": { - "model": "promenade:block/maple/leaves/fulvous/regular" - } - } + "variants": { + "distance=1,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/regular" + }, + "distance=2,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/regular" + }, + "distance=3,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/regular" + }, + "distance=4,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=5,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=6,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=7,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=8,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=9,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=10,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=11,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=12,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=13,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "distance=14,persistent=false": { + "model": "promenade:block/maple/leaves/fulvous/mixed" + }, + "persistent=true": { + "model": "promenade:block/maple/leaves/fulvous/regular" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/fulvous_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/fulvous_maple_sapling.json index f71842c0..5418c6aa 100644 --- a/src/main/resources/assets/promenade/blockstates/fulvous_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/fulvous_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/sapling/fulvous" - } - } + "variants": { + "": { + "model": "promenade:block/maple/sapling/fulvous" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/jungle_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/jungle_leaf_pile.json index 651f5374..c2295d49 100644 --- a/src/main/resources/assets/promenade/blockstates/jungle_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/jungle_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/jungle_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/jungle_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/lily_of_the_valley_pile.json b/src/main/resources/assets/promenade/blockstates/lily_of_the_valley_pile.json index e10a0867..80110baf 100644 --- a/src/main/resources/assets/promenade/blockstates/lily_of_the_valley_pile.json +++ b/src/main/resources/assets/promenade/blockstates/lily_of_the_valley_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/lily_of_the_valley" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/lily_of_the_valley" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/mangrove_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/mangrove_leaf_pile.json index 9925a610..b91d46a1 100644 --- a/src/main/resources/assets/promenade/blockstates/mangrove_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/mangrove_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/mangrove_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/mangrove_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/maple_button.json b/src/main/resources/assets/promenade/blockstates/maple_button.json index 5bc77439..a574fb6d 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_button.json +++ b/src/main/resources/assets/promenade/blockstates/maple_button.json @@ -1,118 +1,118 @@ { - "variants": { - "face=floor,facing=east,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "y": 90 - }, - "face=floor,facing=west,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "y": 270 - }, - "face=floor,facing=south,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "y": 180 - }, - "face=floor,facing=north,powered=false": { - "model": "promenade:block/maple/button/unpressed" - }, - "face=wall,facing=east,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=false": { - "model": "promenade:block/maple/button/unpressed", - "x": 180, - "y": 180 - }, - "face=floor,facing=east,powered=true": { - "model": "promenade:block/maple/button/pressed", - "y": 90 - }, - "face=floor,facing=west,powered=true": { - "model": "promenade:block/maple/button/pressed", - "y": 270 - }, - "face=floor,facing=south,powered=true": { - "model": "promenade:block/maple/button/pressed", - "y": 180 - }, - "face=floor,facing=north,powered=true": { - "model": "promenade:block/maple/button/pressed" - }, - "face=wall,facing=east,powered=true": { - "model": "promenade:block/maple/button/pressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=true": { - "model": "promenade:block/maple/button/pressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=true": { - "model": "promenade:block/maple/button/pressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=true": { - "model": "promenade:block/maple/button/pressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=true": { - "model": "promenade:block/maple/button/pressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=true": { - "model": "promenade:block/maple/button/pressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=true": { - "model": "promenade:block/maple/button/pressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=true": { - "model": "promenade:block/maple/button/pressed", - "x": 180, - "y": 180 - } - } + "variants": { + "face=floor,facing=east,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "y": 90 + }, + "face=floor,facing=west,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "y": 270 + }, + "face=floor,facing=south,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "y": 180 + }, + "face=floor,facing=north,powered=false": { + "model": "promenade:block/maple/button/unpressed" + }, + "face=wall,facing=east,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=false": { + "model": "promenade:block/maple/button/unpressed", + "x": 180, + "y": 180 + }, + "face=floor,facing=east,powered=true": { + "model": "promenade:block/maple/button/pressed", + "y": 90 + }, + "face=floor,facing=west,powered=true": { + "model": "promenade:block/maple/button/pressed", + "y": 270 + }, + "face=floor,facing=south,powered=true": { + "model": "promenade:block/maple/button/pressed", + "y": 180 + }, + "face=floor,facing=north,powered=true": { + "model": "promenade:block/maple/button/pressed" + }, + "face=wall,facing=east,powered=true": { + "model": "promenade:block/maple/button/pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=true": { + "model": "promenade:block/maple/button/pressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=true": { + "model": "promenade:block/maple/button/pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=true": { + "model": "promenade:block/maple/button/pressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=true": { + "model": "promenade:block/maple/button/pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=true": { + "model": "promenade:block/maple/button/pressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=true": { + "model": "promenade:block/maple/button/pressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "promenade:block/maple/button/pressed", + "x": 180, + "y": 180 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_door.json b/src/main/resources/assets/promenade/blockstates/maple_door.json index 700260bb..c018be17 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_door.json +++ b/src/main/resources/assets/promenade/blockstates/maple_door.json @@ -1,124 +1,124 @@ { - "variants": { - "facing=east,half=lower,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/lower/closed" - }, - "facing=east,half=lower,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/lower/open", - "y": 90 - }, - "facing=east,half=lower,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/lower/closed" - }, - "facing=east,half=lower,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/lower/open", - "y": 270 - }, - "facing=east,half=upper,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/upper/closed" - }, - "facing=east,half=upper,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/upper/open", - "y": 90 - }, - "facing=east,half=upper,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/upper/closed" - }, - "facing=east,half=upper,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/upper/open", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/lower/open" - }, - "facing=north,half=lower,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/lower/open", - "y": 180 - }, - "facing=north,half=upper,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/upper/open" - }, - "facing=north,half=upper,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/upper/open", - "y": 180 - }, - "facing=south,half=lower,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/lower/open", - "y": 180 - }, - "facing=south,half=lower,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=right,open=true": { - "model": "promenade:block/maple/door/left/lower/open" - }, - "facing=south,half=upper,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/upper/open", - "y": 180 - }, - "facing=south,half=upper,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/upper/open" - }, - "facing=west,half=lower,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/lower/open", - "y": 270 - }, - "facing=west,half=lower,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=right,open=true": { - "model": "promenade:block/maple/door/left/lower/open", - "y": 90 - }, - "facing=west,half=upper,hinge=left,open=false": { - "model": "promenade:block/maple/door/left/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=left,open=true": { - "model": "promenade:block/maple/door/left/upper/open", - "y": 270 - }, - "facing=west,half=upper,hinge=right,open=false": { - "model": "promenade:block/maple/door/right/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=right,open=true": { - "model": "promenade:block/maple/door/right/upper/open", - "y": 90 - } - } + "variants": { + "facing=east,half=lower,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/lower/closed" + }, + "facing=east,half=lower,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/lower/open", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/lower/closed" + }, + "facing=east,half=lower,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/lower/open", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/upper/closed" + }, + "facing=east,half=upper,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/upper/open", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/upper/closed" + }, + "facing=east,half=upper,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/upper/open", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/lower/open" + }, + "facing=north,half=lower,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/lower/open", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/upper/open" + }, + "facing=north,half=upper,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/upper/open", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/lower/open", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true": { + "model": "promenade:block/maple/door/left/lower/open" + }, + "facing=south,half=upper,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/upper/open", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/upper/open" + }, + "facing=west,half=lower,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/lower/open", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true": { + "model": "promenade:block/maple/door/left/lower/open", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false": { + "model": "promenade:block/maple/door/left/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true": { + "model": "promenade:block/maple/door/left/upper/open", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false": { + "model": "promenade:block/maple/door/right/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true": { + "model": "promenade:block/maple/door/right/upper/open", + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_fence.json b/src/main/resources/assets/promenade/blockstates/maple_fence.json index b4890122..e840a426 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_fence.json +++ b/src/main/resources/assets/promenade/blockstates/maple_fence.json @@ -1,48 +1,48 @@ { - "multipart": [ - { - "apply": { - "model": "promenade:block/maple/fence/post" - } - }, - { - "when": { - "north": "true" - }, - "apply": { - "model": "promenade:block/maple/fence/side", - "uvlock": true - } - }, - { - "when": { - "east": "true" - }, - "apply": { - "model": "promenade:block/maple/fence/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "true" - }, - "apply": { - "model": "promenade:block/maple/fence/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "true" - }, - "apply": { - "model": "promenade:block/maple/fence/side", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "apply": { + "model": "promenade:block/maple/fence/post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "promenade:block/maple/fence/side", + "uvlock": true + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "promenade:block/maple/fence/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "promenade:block/maple/fence/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "promenade:block/maple/fence/side", + "y": 270, + "uvlock": true + } + } + ] } diff --git a/src/main/resources/assets/promenade/blockstates/maple_fence_gate.json b/src/main/resources/assets/promenade/blockstates/maple_fence_gate.json index 27b3ca3b..415df534 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_fence_gate.json +++ b/src/main/resources/assets/promenade/blockstates/maple_fence_gate.json @@ -1,80 +1,80 @@ { - "variants": { - "facing=south,in_wall=false,open=false": { - "model": "promenade:block/maple/fence_gate/close", - "uvlock": true - }, - "facing=west,in_wall=false,open=false": { - "model": "promenade:block/maple/fence_gate/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=false": { - "model": "promenade:block/maple/fence_gate/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=false": { - "model": "promenade:block/maple/fence_gate/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=false,open=true": { - "model": "promenade:block/maple/fence_gate/open", - "uvlock": true - }, - "facing=west,in_wall=false,open=true": { - "model": "promenade:block/maple/fence_gate/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=true": { - "model": "promenade:block/maple/fence_gate/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=true": { - "model": "promenade:block/maple/fence_gate/open", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=false": { - "model": "promenade:block/maple/fence_gate/wall/close", - "uvlock": true - }, - "facing=west,in_wall=true,open=false": { - "model": "promenade:block/maple/fence_gate/wall/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=false": { - "model": "promenade:block/maple/fence_gate/wall/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=false": { - "model": "promenade:block/maple/fence_gate/wall/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=true": { - "model": "promenade:block/maple/fence_gate/wall/open", - "uvlock": true - }, - "facing=west,in_wall=true,open=true": { - "model": "promenade:block/maple/fence_gate/wall/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=true": { - "model": "promenade:block/maple/fence_gate/wall/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=true": { - "model": "promenade:block/maple/fence_gate/wall/open", - "uvlock": true, - "y": 270 - } - } + "variants": { + "facing=south,in_wall=false,open=false": { + "model": "promenade:block/maple/fence_gate/close", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "promenade:block/maple/fence_gate/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=false": { + "model": "promenade:block/maple/fence_gate/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=false": { + "model": "promenade:block/maple/fence_gate/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=false,open=true": { + "model": "promenade:block/maple/fence_gate/open", + "uvlock": true + }, + "facing=west,in_wall=false,open=true": { + "model": "promenade:block/maple/fence_gate/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=true": { + "model": "promenade:block/maple/fence_gate/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=true": { + "model": "promenade:block/maple/fence_gate/open", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=false": { + "model": "promenade:block/maple/fence_gate/wall/close", + "uvlock": true + }, + "facing=west,in_wall=true,open=false": { + "model": "promenade:block/maple/fence_gate/wall/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=false": { + "model": "promenade:block/maple/fence_gate/wall/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=false": { + "model": "promenade:block/maple/fence_gate/wall/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=true": { + "model": "promenade:block/maple/fence_gate/wall/open", + "uvlock": true + }, + "facing=west,in_wall=true,open=true": { + "model": "promenade:block/maple/fence_gate/wall/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=true": { + "model": "promenade:block/maple/fence_gate/wall/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=true": { + "model": "promenade:block/maple/fence_gate/wall/open", + "uvlock": true, + "y": 270 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_log.json b/src/main/resources/assets/promenade/blockstates/maple_log.json index ff66c870..1e6531b5 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_log.json +++ b/src/main/resources/assets/promenade/blockstates/maple_log.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/maple/log" - }, - "axis=z": { - "model": "promenade:block/maple/log", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/maple/log", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/maple/log" + }, + "axis=z": { + "model": "promenade:block/maple/log", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/maple/log", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_planks.json b/src/main/resources/assets/promenade/blockstates/maple_planks.json index 166495bf..472893a9 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_planks.json +++ b/src/main/resources/assets/promenade/blockstates/maple_planks.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/planks" - } - } + "variants": { + "": { + "model": "promenade:block/maple/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_pressure_plate.json b/src/main/resources/assets/promenade/blockstates/maple_pressure_plate.json index dd17d6ce..ee75be96 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_pressure_plate.json +++ b/src/main/resources/assets/promenade/blockstates/maple_pressure_plate.json @@ -1,10 +1,10 @@ { - "variants": { - "powered=false": { - "model": "promenade:block/maple/pressure_plate/unpressed" - }, - "powered=true": { - "model": "promenade:block/maple/pressure_plate/pressed" - } - } + "variants": { + "powered=false": { + "model": "promenade:block/maple/pressure_plate/unpressed" + }, + "powered=true": { + "model": "promenade:block/maple/pressure_plate/pressed" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/maple_slab.json b/src/main/resources/assets/promenade/blockstates/maple_slab.json index e197f35c..02a1851f 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_slab.json +++ b/src/main/resources/assets/promenade/blockstates/maple_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/maple/slab/bottom" - }, - "type=top": { - "model": "promenade:block/maple/slab/top" - }, - "type=double": { - "model": "promenade:block/maple/planks" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/maple/slab/bottom" + }, + "type=top": { + "model": "promenade:block/maple/slab/top" + }, + "type=double": { + "model": "promenade:block/maple/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/maple_stairs.json b/src/main/resources/assets/promenade/blockstates/maple_stairs.json index 5573976c..f442c5ce 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/maple_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/maple/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/maple/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/maple/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/maple/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/maple/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/maple/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/maple/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/maple/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/maple_trapdoor.json b/src/main/resources/assets/promenade/blockstates/maple_trapdoor.json index 2a1262f5..99008be3 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_trapdoor.json +++ b/src/main/resources/assets/promenade/blockstates/maple_trapdoor.json @@ -1,69 +1,69 @@ { - "variants": { - "facing=north,half=bottom,open=false": { - "model": "promenade:block/maple/trapdoor/close/bottom" - }, - "facing=south,half=bottom,open=false": { - "model": "promenade:block/maple/trapdoor/close/bottom", - "y": 180 - }, - "facing=east,half=bottom,open=false": { - "model": "promenade:block/maple/trapdoor/close/bottom", - "y": 90 - }, - "facing=west,half=bottom,open=false": { - "model": "promenade:block/maple/trapdoor/close/bottom", - "y": 270 - }, - "facing=north,half=top,open=false": { - "model": "promenade:block/maple/trapdoor/close/top" - }, - "facing=south,half=top,open=false": { - "model": "promenade:block/maple/trapdoor/close/top", - "y": 180 - }, - "facing=east,half=top,open=false": { - "model": "promenade:block/maple/trapdoor/close/top", - "y": 90 - }, - "facing=west,half=top,open=false": { - "model": "promenade:block/maple/trapdoor/close/top", - "y": 270 - }, - "facing=north,half=bottom,open=true": { - "model": "promenade:block/maple/trapdoor/open" - }, - "facing=south,half=bottom,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "y": 180 - }, - "facing=east,half=bottom,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "y": 90 - }, - "facing=west,half=bottom,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "y": 270 - }, - "facing=north,half=top,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "x": 180, - "y": 180 - }, - "facing=south,half=top,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "x": 180, - "y": 0 - }, - "facing=east,half=top,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "x": 180, - "y": 270 - }, - "facing=west,half=top,open=true": { - "model": "promenade:block/maple/trapdoor/open", - "x": 180, - "y": 90 - } - } + "variants": { + "facing=north,half=bottom,open=false": { + "model": "promenade:block/maple/trapdoor/close/bottom" + }, + "facing=south,half=bottom,open=false": { + "model": "promenade:block/maple/trapdoor/close/bottom", + "y": 180 + }, + "facing=east,half=bottom,open=false": { + "model": "promenade:block/maple/trapdoor/close/bottom", + "y": 90 + }, + "facing=west,half=bottom,open=false": { + "model": "promenade:block/maple/trapdoor/close/bottom", + "y": 270 + }, + "facing=north,half=top,open=false": { + "model": "promenade:block/maple/trapdoor/close/top" + }, + "facing=south,half=top,open=false": { + "model": "promenade:block/maple/trapdoor/close/top", + "y": 180 + }, + "facing=east,half=top,open=false": { + "model": "promenade:block/maple/trapdoor/close/top", + "y": 90 + }, + "facing=west,half=top,open=false": { + "model": "promenade:block/maple/trapdoor/close/top", + "y": 270 + }, + "facing=north,half=bottom,open=true": { + "model": "promenade:block/maple/trapdoor/open" + }, + "facing=south,half=bottom,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "y": 180 + }, + "facing=east,half=bottom,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "y": 90 + }, + "facing=west,half=bottom,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "y": 270 + }, + "facing=north,half=top,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "x": 180, + "y": 180 + }, + "facing=south,half=top,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "x": 180, + "y": 0 + }, + "facing=east,half=top,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "x": 180, + "y": 270 + }, + "facing=west,half=top,open=true": { + "model": "promenade:block/maple/trapdoor/open", + "x": 180, + "y": 90 + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/maple_wood.json b/src/main/resources/assets/promenade/blockstates/maple_wood.json index 228e5088..e5b48f4b 100644 --- a/src/main/resources/assets/promenade/blockstates/maple_wood.json +++ b/src/main/resources/assets/promenade/blockstates/maple_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/maple/wood" - }, - "axis=z": { - "model": "promenade:block/maple/wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/maple/wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/maple/wood" + }, + "axis=z": { + "model": "promenade:block/maple/wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/maple/wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/mikado_maple_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/mikado_maple_leaf_pile.json index 6b90cfed..c2932522 100644 --- a/src/main/resources/assets/promenade/blockstates/mikado_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/mikado_maple_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/leaf_pile/mikado" - } - } + "variants": { + "": { + "model": "promenade:block/maple/leaf_pile/mikado" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/mikado_maple_leaves.json b/src/main/resources/assets/promenade/blockstates/mikado_maple_leaves.json index 32b8483d..9f839704 100644 --- a/src/main/resources/assets/promenade/blockstates/mikado_maple_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/mikado_maple_leaves.json @@ -1,49 +1,49 @@ { - "variants": { - "distance=1,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/regular" - }, - "distance=2,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/regular" - }, - "distance=3,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/regular" - }, - "distance=4,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=5,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=6,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=7,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=8,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=9,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=10,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=11,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=12,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=13,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "distance=14,persistent=false": { - "model": "promenade:block/maple/leaves/mikado/mixed" - }, - "persistent=true": { - "model": "promenade:block/maple/leaves/mikado/regular" - } - } + "variants": { + "distance=1,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/regular" + }, + "distance=2,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/regular" + }, + "distance=3,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/regular" + }, + "distance=4,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=5,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=6,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=7,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=8,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=9,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=10,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=11,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=12,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=13,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "distance=14,persistent=false": { + "model": "promenade:block/maple/leaves/mikado/mixed" + }, + "persistent=true": { + "model": "promenade:block/maple/leaves/mikado/regular" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/mikado_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/mikado_maple_sapling.json index 48d8c9b9..739ac8ac 100644 --- a/src/main/resources/assets/promenade/blockstates/mikado_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/mikado_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/sapling/mikado" - } - } + "variants": { + "": { + "model": "promenade:block/maple/sapling/mikado" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/oak_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/oak_leaf_pile.json index a54224e7..b37d3891 100644 --- a/src/main/resources/assets/promenade/blockstates/oak_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/oak_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/oak_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/oak_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/orange_tulip_pile.json b/src/main/resources/assets/promenade/blockstates/orange_tulip_pile.json index 915dc157..4acde6e5 100644 --- a/src/main/resources/assets/promenade/blockstates/orange_tulip_pile.json +++ b/src/main/resources/assets/promenade/blockstates/orange_tulip_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/orange_tulip" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/orange_tulip" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/oxeye_daisy_pile.json b/src/main/resources/assets/promenade/blockstates/oxeye_daisy_pile.json index 4823ebfc..c43267bc 100644 --- a/src/main/resources/assets/promenade/blockstates/oxeye_daisy_pile.json +++ b/src/main/resources/assets/promenade/blockstates/oxeye_daisy_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/oxeye_daisy" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/oxeye_daisy" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/palm_button.json b/src/main/resources/assets/promenade/blockstates/palm_button.json index 2922acba..a8c4dfc2 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_button.json +++ b/src/main/resources/assets/promenade/blockstates/palm_button.json @@ -1,118 +1,118 @@ { - "variants": { - "face=floor,facing=east,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "y": 90 - }, - "face=floor,facing=west,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "y": 270 - }, - "face=floor,facing=south,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "y": 180 - }, - "face=floor,facing=north,powered=false": { - "model": "promenade:block/palm/button/unpressed" - }, - "face=wall,facing=east,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=false": { - "model": "promenade:block/palm/button/unpressed", - "x": 180, - "y": 180 - }, - "face=floor,facing=east,powered=true": { - "model": "promenade:block/palm/button/pressed", - "y": 90 - }, - "face=floor,facing=west,powered=true": { - "model": "promenade:block/palm/button/pressed", - "y": 270 - }, - "face=floor,facing=south,powered=true": { - "model": "promenade:block/palm/button/pressed", - "y": 180 - }, - "face=floor,facing=north,powered=true": { - "model": "promenade:block/palm/button/pressed" - }, - "face=wall,facing=east,powered=true": { - "model": "promenade:block/palm/button/pressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=true": { - "model": "promenade:block/palm/button/pressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=true": { - "model": "promenade:block/palm/button/pressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=true": { - "model": "promenade:block/palm/button/pressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=true": { - "model": "promenade:block/palm/button/pressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=true": { - "model": "promenade:block/palm/button/pressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=true": { - "model": "promenade:block/palm/button/pressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=true": { - "model": "promenade:block/palm/button/pressed", - "x": 180, - "y": 180 - } - } + "variants": { + "face=floor,facing=east,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "y": 90 + }, + "face=floor,facing=west,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "y": 270 + }, + "face=floor,facing=south,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "y": 180 + }, + "face=floor,facing=north,powered=false": { + "model": "promenade:block/palm/button/unpressed" + }, + "face=wall,facing=east,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=false": { + "model": "promenade:block/palm/button/unpressed", + "x": 180, + "y": 180 + }, + "face=floor,facing=east,powered=true": { + "model": "promenade:block/palm/button/pressed", + "y": 90 + }, + "face=floor,facing=west,powered=true": { + "model": "promenade:block/palm/button/pressed", + "y": 270 + }, + "face=floor,facing=south,powered=true": { + "model": "promenade:block/palm/button/pressed", + "y": 180 + }, + "face=floor,facing=north,powered=true": { + "model": "promenade:block/palm/button/pressed" + }, + "face=wall,facing=east,powered=true": { + "model": "promenade:block/palm/button/pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=true": { + "model": "promenade:block/palm/button/pressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=true": { + "model": "promenade:block/palm/button/pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=true": { + "model": "promenade:block/palm/button/pressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=true": { + "model": "promenade:block/palm/button/pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=true": { + "model": "promenade:block/palm/button/pressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=true": { + "model": "promenade:block/palm/button/pressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "promenade:block/palm/button/pressed", + "x": 180, + "y": 180 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_door.json b/src/main/resources/assets/promenade/blockstates/palm_door.json index 4c4e5c25..d0c9ce5a 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_door.json +++ b/src/main/resources/assets/promenade/blockstates/palm_door.json @@ -1,124 +1,124 @@ { - "variants": { - "facing=east,half=lower,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/lower/closed" - }, - "facing=east,half=lower,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/lower/open", - "y": 90 - }, - "facing=east,half=lower,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/lower/closed" - }, - "facing=east,half=lower,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/lower/open", - "y": 270 - }, - "facing=east,half=upper,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/upper/closed" - }, - "facing=east,half=upper,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/upper/open", - "y": 90 - }, - "facing=east,half=upper,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/upper/closed" - }, - "facing=east,half=upper,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/upper/open", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/lower/open" - }, - "facing=north,half=lower,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/lower/open", - "y": 180 - }, - "facing=north,half=upper,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/upper/open" - }, - "facing=north,half=upper,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/upper/open", - "y": 180 - }, - "facing=south,half=lower,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/lower/open", - "y": 180 - }, - "facing=south,half=lower,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=right,open=true": { - "model": "promenade:block/palm/door/left/lower/open" - }, - "facing=south,half=upper,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/upper/open", - "y": 180 - }, - "facing=south,half=upper,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/upper/open" - }, - "facing=west,half=lower,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/lower/open", - "y": 270 - }, - "facing=west,half=lower,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=right,open=true": { - "model": "promenade:block/palm/door/left/lower/open", - "y": 90 - }, - "facing=west,half=upper,hinge=left,open=false": { - "model": "promenade:block/palm/door/left/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=left,open=true": { - "model": "promenade:block/palm/door/left/upper/open", - "y": 270 - }, - "facing=west,half=upper,hinge=right,open=false": { - "model": "promenade:block/palm/door/right/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=right,open=true": { - "model": "promenade:block/palm/door/right/upper/open", - "y": 90 - } - } + "variants": { + "facing=east,half=lower,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/lower/closed" + }, + "facing=east,half=lower,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/lower/open", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/lower/closed" + }, + "facing=east,half=lower,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/lower/open", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/upper/closed" + }, + "facing=east,half=upper,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/upper/open", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/upper/closed" + }, + "facing=east,half=upper,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/upper/open", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/lower/open" + }, + "facing=north,half=lower,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/lower/open", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/upper/open" + }, + "facing=north,half=upper,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/upper/open", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/lower/open", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true": { + "model": "promenade:block/palm/door/left/lower/open" + }, + "facing=south,half=upper,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/upper/open", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/upper/open" + }, + "facing=west,half=lower,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/lower/open", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true": { + "model": "promenade:block/palm/door/left/lower/open", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false": { + "model": "promenade:block/palm/door/left/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true": { + "model": "promenade:block/palm/door/left/upper/open", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false": { + "model": "promenade:block/palm/door/right/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true": { + "model": "promenade:block/palm/door/right/upper/open", + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_fence.json b/src/main/resources/assets/promenade/blockstates/palm_fence.json index d4779270..bdc6be31 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_fence.json +++ b/src/main/resources/assets/promenade/blockstates/palm_fence.json @@ -1,48 +1,48 @@ { - "multipart": [ - { - "apply": { - "model": "promenade:block/palm/fence/post" - } - }, - { - "when": { - "north": "true" - }, - "apply": { - "model": "promenade:block/palm/fence/side", - "uvlock": true - } - }, - { - "when": { - "east": "true" - }, - "apply": { - "model": "promenade:block/palm/fence/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "true" - }, - "apply": { - "model": "promenade:block/palm/fence/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "true" - }, - "apply": { - "model": "promenade:block/palm/fence/side", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "apply": { + "model": "promenade:block/palm/fence/post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "promenade:block/palm/fence/side", + "uvlock": true + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "promenade:block/palm/fence/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "promenade:block/palm/fence/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "promenade:block/palm/fence/side", + "y": 270, + "uvlock": true + } + } + ] } diff --git a/src/main/resources/assets/promenade/blockstates/palm_fence_gate.json b/src/main/resources/assets/promenade/blockstates/palm_fence_gate.json index 057bdaa0..d02b5b8d 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_fence_gate.json +++ b/src/main/resources/assets/promenade/blockstates/palm_fence_gate.json @@ -1,80 +1,80 @@ { - "variants": { - "facing=south,in_wall=false,open=false": { - "model": "promenade:block/palm/fence_gate/close", - "uvlock": true - }, - "facing=west,in_wall=false,open=false": { - "model": "promenade:block/palm/fence_gate/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=false": { - "model": "promenade:block/palm/fence_gate/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=false": { - "model": "promenade:block/palm/fence_gate/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=false,open=true": { - "model": "promenade:block/palm/fence_gate/open", - "uvlock": true - }, - "facing=west,in_wall=false,open=true": { - "model": "promenade:block/palm/fence_gate/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=true": { - "model": "promenade:block/palm/fence_gate/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=true": { - "model": "promenade:block/palm/fence_gate/open", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=false": { - "model": "promenade:block/palm/fence_gate/wall/close", - "uvlock": true - }, - "facing=west,in_wall=true,open=false": { - "model": "promenade:block/palm/fence_gate/wall/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=false": { - "model": "promenade:block/palm/fence_gate/wall/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=false": { - "model": "promenade:block/palm/fence_gate/wall/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=true": { - "model": "promenade:block/palm/fence_gate/wall/open", - "uvlock": true - }, - "facing=west,in_wall=true,open=true": { - "model": "promenade:block/palm/fence_gate/wall/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=true": { - "model": "promenade:block/palm/fence_gate/wall/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=true": { - "model": "promenade:block/palm/fence_gate/wall/open", - "uvlock": true, - "y": 270 - } - } + "variants": { + "facing=south,in_wall=false,open=false": { + "model": "promenade:block/palm/fence_gate/close", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "promenade:block/palm/fence_gate/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=false": { + "model": "promenade:block/palm/fence_gate/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=false": { + "model": "promenade:block/palm/fence_gate/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=false,open=true": { + "model": "promenade:block/palm/fence_gate/open", + "uvlock": true + }, + "facing=west,in_wall=false,open=true": { + "model": "promenade:block/palm/fence_gate/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=true": { + "model": "promenade:block/palm/fence_gate/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=true": { + "model": "promenade:block/palm/fence_gate/open", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=false": { + "model": "promenade:block/palm/fence_gate/wall/close", + "uvlock": true + }, + "facing=west,in_wall=true,open=false": { + "model": "promenade:block/palm/fence_gate/wall/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=false": { + "model": "promenade:block/palm/fence_gate/wall/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=false": { + "model": "promenade:block/palm/fence_gate/wall/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=true": { + "model": "promenade:block/palm/fence_gate/wall/open", + "uvlock": true + }, + "facing=west,in_wall=true,open=true": { + "model": "promenade:block/palm/fence_gate/wall/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=true": { + "model": "promenade:block/palm/fence_gate/wall/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=true": { + "model": "promenade:block/palm/fence_gate/wall/open", + "uvlock": true, + "y": 270 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_hanging_leaves.json b/src/main/resources/assets/promenade/blockstates/palm_hanging_leaves.json index 9fc32e3f..d09b841c 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_hanging_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/palm_hanging_leaves.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/hanging_leaves" - } - } + "variants": { + "": { + "model": "promenade:block/palm/hanging_leaves" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/palm_leaf_pile.json index 30a5c98f..b9d372d8 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/palm_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/leaf_pile" - } - } + "variants": { + "": { + "model": "promenade:block/palm/leaf_pile" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/palm_leaves.json b/src/main/resources/assets/promenade/blockstates/palm_leaves.json index 87b94445..b1c7e3a8 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/palm_leaves.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/leaves" - } - } + "variants": { + "": { + "model": "promenade:block/palm/leaves" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_log.json b/src/main/resources/assets/promenade/blockstates/palm_log.json index 53ba4428..70954a9c 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_log.json +++ b/src/main/resources/assets/promenade/blockstates/palm_log.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/palm/log" - }, - "axis=z": { - "model": "promenade:block/palm/log", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/palm/log", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/palm/log" + }, + "axis=z": { + "model": "promenade:block/palm/log", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/palm/log", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_planks.json b/src/main/resources/assets/promenade/blockstates/palm_planks.json index 5e62a4c0..5721ae48 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_planks.json +++ b/src/main/resources/assets/promenade/blockstates/palm_planks.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/planks" - } - } + "variants": { + "": { + "model": "promenade:block/palm/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_pressure_plate.json b/src/main/resources/assets/promenade/blockstates/palm_pressure_plate.json index 15310ad9..d868be98 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_pressure_plate.json +++ b/src/main/resources/assets/promenade/blockstates/palm_pressure_plate.json @@ -1,10 +1,10 @@ { - "variants": { - "powered=false": { - "model": "promenade:block/palm/pressure_plate/unpressed" - }, - "powered=true": { - "model": "promenade:block/palm/pressure_plate/pressed" - } - } + "variants": { + "powered=false": { + "model": "promenade:block/palm/pressure_plate/unpressed" + }, + "powered=true": { + "model": "promenade:block/palm/pressure_plate/pressed" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/palm_sapling.json b/src/main/resources/assets/promenade/blockstates/palm_sapling.json index ddda1ff2..dccbbb5a 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/palm_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/sapling" - } - } + "variants": { + "": { + "model": "promenade:block/palm/sapling" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_slab.json b/src/main/resources/assets/promenade/blockstates/palm_slab.json index 1cd27d15..fa2ccc59 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_slab.json +++ b/src/main/resources/assets/promenade/blockstates/palm_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/palm/slab/bottom" - }, - "type=top": { - "model": "promenade:block/palm/slab/top" - }, - "type=double": { - "model": "promenade:block/palm/planks" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/palm/slab/bottom" + }, + "type=top": { + "model": "promenade:block/palm/slab/top" + }, + "type=double": { + "model": "promenade:block/palm/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/palm_stairs.json b/src/main/resources/assets/promenade/blockstates/palm_stairs.json index 67a9c6fa..491c3098 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/palm_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/palm/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/palm/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/palm/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/palm/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/palm/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/palm/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/palm/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/palm/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/palm_trapdoor.json b/src/main/resources/assets/promenade/blockstates/palm_trapdoor.json index 9f41fdcd..81108730 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_trapdoor.json +++ b/src/main/resources/assets/promenade/blockstates/palm_trapdoor.json @@ -1,69 +1,69 @@ { - "variants": { - "facing=north,half=bottom,open=false": { - "model": "promenade:block/palm/trapdoor/close/bottom" - }, - "facing=south,half=bottom,open=false": { - "model": "promenade:block/palm/trapdoor/close/bottom", - "y": 180 - }, - "facing=east,half=bottom,open=false": { - "model": "promenade:block/palm/trapdoor/close/bottom", - "y": 90 - }, - "facing=west,half=bottom,open=false": { - "model": "promenade:block/palm/trapdoor/close/bottom", - "y": 270 - }, - "facing=north,half=top,open=false": { - "model": "promenade:block/palm/trapdoor/close/top" - }, - "facing=south,half=top,open=false": { - "model": "promenade:block/palm/trapdoor/close/top", - "y": 180 - }, - "facing=east,half=top,open=false": { - "model": "promenade:block/palm/trapdoor/close/top", - "y": 90 - }, - "facing=west,half=top,open=false": { - "model": "promenade:block/palm/trapdoor/close/top", - "y": 270 - }, - "facing=north,half=bottom,open=true": { - "model": "promenade:block/palm/trapdoor/open" - }, - "facing=south,half=bottom,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "y": 180 - }, - "facing=east,half=bottom,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "y": 90 - }, - "facing=west,half=bottom,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "y": 270 - }, - "facing=north,half=top,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "x": 180, - "y": 180 - }, - "facing=south,half=top,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "x": 180, - "y": 0 - }, - "facing=east,half=top,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "x": 180, - "y": 270 - }, - "facing=west,half=top,open=true": { - "model": "promenade:block/palm/trapdoor/open", - "x": 180, - "y": 90 - } - } + "variants": { + "facing=north,half=bottom,open=false": { + "model": "promenade:block/palm/trapdoor/close/bottom" + }, + "facing=south,half=bottom,open=false": { + "model": "promenade:block/palm/trapdoor/close/bottom", + "y": 180 + }, + "facing=east,half=bottom,open=false": { + "model": "promenade:block/palm/trapdoor/close/bottom", + "y": 90 + }, + "facing=west,half=bottom,open=false": { + "model": "promenade:block/palm/trapdoor/close/bottom", + "y": 270 + }, + "facing=north,half=top,open=false": { + "model": "promenade:block/palm/trapdoor/close/top" + }, + "facing=south,half=top,open=false": { + "model": "promenade:block/palm/trapdoor/close/top", + "y": 180 + }, + "facing=east,half=top,open=false": { + "model": "promenade:block/palm/trapdoor/close/top", + "y": 90 + }, + "facing=west,half=top,open=false": { + "model": "promenade:block/palm/trapdoor/close/top", + "y": 270 + }, + "facing=north,half=bottom,open=true": { + "model": "promenade:block/palm/trapdoor/open" + }, + "facing=south,half=bottom,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "y": 180 + }, + "facing=east,half=bottom,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "y": 90 + }, + "facing=west,half=bottom,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "y": 270 + }, + "facing=north,half=top,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "x": 180, + "y": 180 + }, + "facing=south,half=top,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "x": 180, + "y": 0 + }, + "facing=east,half=top,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "x": 180, + "y": 270 + }, + "facing=west,half=top,open=true": { + "model": "promenade:block/palm/trapdoor/open", + "x": 180, + "y": 90 + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/palm_wood.json b/src/main/resources/assets/promenade/blockstates/palm_wood.json index f39b601a..e90aa14a 100644 --- a/src/main/resources/assets/promenade/blockstates/palm_wood.json +++ b/src/main/resources/assets/promenade/blockstates/palm_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/palm/wood" - }, - "axis=z": { - "model": "promenade:block/palm/wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/palm/wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/palm/wood" + }, + "axis=z": { + "model": "promenade:block/palm/wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/palm/wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/pink_tulip_pile.json b/src/main/resources/assets/promenade/blockstates/pink_tulip_pile.json index cdf01d98..38e98220 100644 --- a/src/main/resources/assets/promenade/blockstates/pink_tulip_pile.json +++ b/src/main/resources/assets/promenade/blockstates/pink_tulip_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/pink_tulip" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/pink_tulip" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_asphalt.json b/src/main/resources/assets/promenade/blockstates/polished_asphalt.json index 06dd0158..49cf823b 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_asphalt.json +++ b/src/main/resources/assets/promenade/blockstates/polished_asphalt.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/asphalt/polished_block" - } - } + "variants": { + "": { + "model": "promenade:block/asphalt/polished_block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_asphalt_slab.json b/src/main/resources/assets/promenade/blockstates/polished_asphalt_slab.json index 17d12204..41428c4b 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_asphalt_slab.json +++ b/src/main/resources/assets/promenade/blockstates/polished_asphalt_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/asphalt/polished_slab/bottom" - }, - "type=top": { - "model": "promenade:block/asphalt/polished_slab/top" - }, - "type=double": { - "model": "promenade:block/asphalt/polished_block" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/asphalt/polished_slab/bottom" + }, + "type=top": { + "model": "promenade:block/asphalt/polished_slab/top" + }, + "type=double": { + "model": "promenade:block/asphalt/polished_block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_asphalt_stairs.json b/src/main/resources/assets/promenade/blockstates/polished_asphalt_stairs.json index 44461fd6..c3b37bb0 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_asphalt_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/polished_asphalt_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/asphalt/polished_stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/asphalt/polished_stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/asphalt/polished_stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/asphalt/polished_stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/asphalt/polished_stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/asphalt/polished_stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_blunite.json b/src/main/resources/assets/promenade/blockstates/polished_blunite.json index 22ee03a4..271f9bc8 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_blunite.json +++ b/src/main/resources/assets/promenade/blockstates/polished_blunite.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/blunite/polished_block" - } - } + "variants": { + "": { + "model": "promenade:block/blunite/polished_block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_blunite_slab.json b/src/main/resources/assets/promenade/blockstates/polished_blunite_slab.json index 5a3b4848..68716d23 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_blunite_slab.json +++ b/src/main/resources/assets/promenade/blockstates/polished_blunite_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/blunite/polished_slab/bottom" - }, - "type=top": { - "model": "promenade:block/blunite/polished_slab/top" - }, - "type=double": { - "model": "promenade:block/blunite/polished_block" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/blunite/polished_slab/bottom" + }, + "type=top": { + "model": "promenade:block/blunite/polished_slab/top" + }, + "type=double": { + "model": "promenade:block/blunite/polished_block" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/polished_blunite_stairs.json b/src/main/resources/assets/promenade/blockstates/polished_blunite_stairs.json index bb6be877..6f9d2da9 100644 --- a/src/main/resources/assets/promenade/blockstates/polished_blunite_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/polished_blunite_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/blunite/polished_stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/blunite/polished_stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/blunite/polished_stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/blunite/polished_stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/blunite/polished_stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/blunite/polished_stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/poppy_pile.json b/src/main/resources/assets/promenade/blockstates/poppy_pile.json index 1050fff2..8b45042f 100644 --- a/src/main/resources/assets/promenade/blockstates/poppy_pile.json +++ b/src/main/resources/assets/promenade/blockstates/poppy_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/poppy" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/poppy" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_blush_sakura_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_blush_sakura_sapling.json index 670535ed..41e73465 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_blush_sakura_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_blush_sakura_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/potted_sapling/blush" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/potted_sapling/blush" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_cotton_sakura_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_cotton_sakura_sapling.json index 1c9920ac..fee0c46c 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_cotton_sakura_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_cotton_sakura_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/potted_sapling/cotton" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/potted_sapling/cotton" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_dark_amaranth_fungus.json b/src/main/resources/assets/promenade/blockstates/potted_dark_amaranth_fungus.json index fd594803..a56db7e4 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_dark_amaranth_fungus.json +++ b/src/main/resources/assets/promenade/blockstates/potted_dark_amaranth_fungus.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/dark_amaranth/potted_fungus" - } - } + "variants": { + "": { + "model": "promenade:block/dark_amaranth/potted_fungus" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_fulvous_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_fulvous_maple_sapling.json index ab46adc6..6bf1eecf 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_fulvous_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_fulvous_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/potted_sapling/fulvous" - } - } + "variants": { + "": { + "model": "promenade:block/maple/potted_sapling/fulvous" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_mikado_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_mikado_maple_sapling.json index 4b5f0d69..f325f72f 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_mikado_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_mikado_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/potted_sapling/mikado" - } - } + "variants": { + "": { + "model": "promenade:block/maple/potted_sapling/mikado" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_palm_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_palm_sapling.json index aae1b3a7..9e16b924 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_palm_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_palm_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/palm/potted_sapling" - } - } + "variants": { + "": { + "model": "promenade:block/palm/potted_sapling" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_sap_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_sap_maple_sapling.json index ca3f8770..4f0c83ef 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_sap_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_sap_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/potted_sapling/sap" - } - } + "variants": { + "": { + "model": "promenade:block/maple/potted_sapling/sap" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/potted_vermilion_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/potted_vermilion_maple_sapling.json index f37ef511..a62fc3f4 100644 --- a/src/main/resources/assets/promenade/blockstates/potted_vermilion_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/potted_vermilion_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/potted_sapling/vermilion" - } - } + "variants": { + "": { + "model": "promenade:block/maple/potted_sapling/vermilion" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/red_tulip_pile.json b/src/main/resources/assets/promenade/blockstates/red_tulip_pile.json index 7a69d420..48eea8d5 100644 --- a/src/main/resources/assets/promenade/blockstates/red_tulip_pile.json +++ b/src/main/resources/assets/promenade/blockstates/red_tulip_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/red_tulip" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/red_tulip" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sakura_button.json b/src/main/resources/assets/promenade/blockstates/sakura_button.json index afbd2fae..8f16a7cf 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_button.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_button.json @@ -1,118 +1,118 @@ { - "variants": { - "face=floor,facing=east,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "y": 90 - }, - "face=floor,facing=west,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "y": 270 - }, - "face=floor,facing=south,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "y": 180 - }, - "face=floor,facing=north,powered=false": { - "model": "promenade:block/sakura/button/unpressed" - }, - "face=wall,facing=east,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=false": { - "model": "promenade:block/sakura/button/unpressed", - "x": 180, - "y": 180 - }, - "face=floor,facing=east,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "y": 90 - }, - "face=floor,facing=west,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "y": 270 - }, - "face=floor,facing=south,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "y": 180 - }, - "face=floor,facing=north,powered=true": { - "model": "promenade:block/sakura/button/pressed" - }, - "face=wall,facing=east,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "uvlock": true, - "x": 90, - "y": 90 - }, - "face=wall,facing=west,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "uvlock": true, - "x": 90, - "y": 270 - }, - "face=wall,facing=south,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "uvlock": true, - "x": 90, - "y": 180 - }, - "face=wall,facing=north,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "uvlock": true, - "x": 90 - }, - "face=ceiling,facing=east,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "x": 180, - "y": 270 - }, - "face=ceiling,facing=west,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "x": 180, - "y": 90 - }, - "face=ceiling,facing=south,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "x": 180 - }, - "face=ceiling,facing=north,powered=true": { - "model": "promenade:block/sakura/button/pressed", - "x": 180, - "y": 180 - } - } + "variants": { + "face=floor,facing=east,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "y": 90 + }, + "face=floor,facing=west,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "y": 270 + }, + "face=floor,facing=south,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "y": 180 + }, + "face=floor,facing=north,powered=false": { + "model": "promenade:block/sakura/button/unpressed" + }, + "face=wall,facing=east,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=false": { + "model": "promenade:block/sakura/button/unpressed", + "x": 180, + "y": 180 + }, + "face=floor,facing=east,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "y": 90 + }, + "face=floor,facing=west,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "y": 270 + }, + "face=floor,facing=south,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "y": 180 + }, + "face=floor,facing=north,powered=true": { + "model": "promenade:block/sakura/button/pressed" + }, + "face=wall,facing=east,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=west,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=south,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=north,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "uvlock": true, + "x": 90 + }, + "face=ceiling,facing=east,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=west,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=south,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "x": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "promenade:block/sakura/button/pressed", + "x": 180, + "y": 180 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_door.json b/src/main/resources/assets/promenade/blockstates/sakura_door.json index 433581cd..c486a3d4 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_door.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_door.json @@ -1,124 +1,124 @@ { - "variants": { - "facing=east,half=lower,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/lower/closed" - }, - "facing=east,half=lower,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/lower/open", - "y": 90 - }, - "facing=east,half=lower,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/lower/closed" - }, - "facing=east,half=lower,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/lower/open", - "y": 270 - }, - "facing=east,half=upper,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/upper/closed" - }, - "facing=east,half=upper,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/upper/open", - "y": 90 - }, - "facing=east,half=upper,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/upper/closed" - }, - "facing=east,half=upper,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/upper/open", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/lower/open" - }, - "facing=north,half=lower,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/lower/closed", - "y": 270 - }, - "facing=north,half=lower,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/lower/open", - "y": 180 - }, - "facing=north,half=upper,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/upper/open" - }, - "facing=north,half=upper,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/upper/closed", - "y": 270 - }, - "facing=north,half=upper,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/upper/open", - "y": 180 - }, - "facing=south,half=lower,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/lower/open", - "y": 180 - }, - "facing=south,half=lower,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/lower/closed", - "y": 90 - }, - "facing=south,half=lower,hinge=right,open=true": { - "model": "promenade:block/sakura/door/left/lower/open" - }, - "facing=south,half=upper,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/upper/open", - "y": 180 - }, - "facing=south,half=upper,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/upper/closed", - "y": 90 - }, - "facing=south,half=upper,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/upper/open" - }, - "facing=west,half=lower,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/lower/open", - "y": 270 - }, - "facing=west,half=lower,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/lower/closed", - "y": 180 - }, - "facing=west,half=lower,hinge=right,open=true": { - "model": "promenade:block/sakura/door/left/lower/open", - "y": 90 - }, - "facing=west,half=upper,hinge=left,open=false": { - "model": "promenade:block/sakura/door/left/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=left,open=true": { - "model": "promenade:block/sakura/door/left/upper/open", - "y": 270 - }, - "facing=west,half=upper,hinge=right,open=false": { - "model": "promenade:block/sakura/door/right/upper/closed", - "y": 180 - }, - "facing=west,half=upper,hinge=right,open=true": { - "model": "promenade:block/sakura/door/right/upper/open", - "y": 90 - } - } + "variants": { + "facing=east,half=lower,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/lower/closed" + }, + "facing=east,half=lower,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/lower/open", + "y": 90 + }, + "facing=east,half=lower,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/lower/closed" + }, + "facing=east,half=lower,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/lower/open", + "y": 270 + }, + "facing=east,half=upper,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/upper/closed" + }, + "facing=east,half=upper,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/upper/open", + "y": 90 + }, + "facing=east,half=upper,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/upper/closed" + }, + "facing=east,half=upper,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/upper/open", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/lower/open" + }, + "facing=north,half=lower,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/lower/closed", + "y": 270 + }, + "facing=north,half=lower,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/lower/open", + "y": 180 + }, + "facing=north,half=upper,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/upper/open" + }, + "facing=north,half=upper,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/upper/closed", + "y": 270 + }, + "facing=north,half=upper,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/upper/open", + "y": 180 + }, + "facing=south,half=lower,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/lower/open", + "y": 180 + }, + "facing=south,half=lower,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/lower/closed", + "y": 90 + }, + "facing=south,half=lower,hinge=right,open=true": { + "model": "promenade:block/sakura/door/left/lower/open" + }, + "facing=south,half=upper,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/upper/open", + "y": 180 + }, + "facing=south,half=upper,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/upper/closed", + "y": 90 + }, + "facing=south,half=upper,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/upper/open" + }, + "facing=west,half=lower,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/lower/open", + "y": 270 + }, + "facing=west,half=lower,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/lower/closed", + "y": 180 + }, + "facing=west,half=lower,hinge=right,open=true": { + "model": "promenade:block/sakura/door/left/lower/open", + "y": 90 + }, + "facing=west,half=upper,hinge=left,open=false": { + "model": "promenade:block/sakura/door/left/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=left,open=true": { + "model": "promenade:block/sakura/door/left/upper/open", + "y": 270 + }, + "facing=west,half=upper,hinge=right,open=false": { + "model": "promenade:block/sakura/door/right/upper/closed", + "y": 180 + }, + "facing=west,half=upper,hinge=right,open=true": { + "model": "promenade:block/sakura/door/right/upper/open", + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_fence.json b/src/main/resources/assets/promenade/blockstates/sakura_fence.json index 8e0075be..43f6d6f0 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_fence.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_fence.json @@ -1,48 +1,48 @@ { - "multipart": [ - { - "apply": { - "model": "promenade:block/sakura/fence/post" - } - }, - { - "when": { - "north": "true" - }, - "apply": { - "model": "promenade:block/sakura/fence/side", - "uvlock": true - } - }, - { - "when": { - "east": "true" - }, - "apply": { - "model": "promenade:block/sakura/fence/side", - "y": 90, - "uvlock": true - } - }, - { - "when": { - "south": "true" - }, - "apply": { - "model": "promenade:block/sakura/fence/side", - "y": 180, - "uvlock": true - } - }, - { - "when": { - "west": "true" - }, - "apply": { - "model": "promenade:block/sakura/fence/side", - "y": 270, - "uvlock": true - } - } - ] + "multipart": [ + { + "apply": { + "model": "promenade:block/sakura/fence/post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "promenade:block/sakura/fence/side", + "uvlock": true + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "promenade:block/sakura/fence/side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "promenade:block/sakura/fence/side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "promenade:block/sakura/fence/side", + "y": 270, + "uvlock": true + } + } + ] } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_fence_gate.json b/src/main/resources/assets/promenade/blockstates/sakura_fence_gate.json index 4d84c5ce..222c8a84 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_fence_gate.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_fence_gate.json @@ -1,80 +1,80 @@ { - "variants": { - "facing=south,in_wall=false,open=false": { - "model": "promenade:block/sakura/fence_gate/close", - "uvlock": true - }, - "facing=west,in_wall=false,open=false": { - "model": "promenade:block/sakura/fence_gate/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=false": { - "model": "promenade:block/sakura/fence_gate/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=false": { - "model": "promenade:block/sakura/fence_gate/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=false,open=true": { - "model": "promenade:block/sakura/fence_gate/open", - "uvlock": true - }, - "facing=west,in_wall=false,open=true": { - "model": "promenade:block/sakura/fence_gate/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=false,open=true": { - "model": "promenade:block/sakura/fence_gate/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=false,open=true": { - "model": "promenade:block/sakura/fence_gate/open", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=false": { - "model": "promenade:block/sakura/fence_gate/wall/close", - "uvlock": true - }, - "facing=west,in_wall=true,open=false": { - "model": "promenade:block/sakura/fence_gate/wall/close", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=false": { - "model": "promenade:block/sakura/fence_gate/wall/close", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=false": { - "model": "promenade:block/sakura/fence_gate/wall/close", - "uvlock": true, - "y": 270 - }, - "facing=south,in_wall=true,open=true": { - "model": "promenade:block/sakura/fence_gate/wall/open", - "uvlock": true - }, - "facing=west,in_wall=true,open=true": { - "model": "promenade:block/sakura/fence_gate/wall/open", - "uvlock": true, - "y": 90 - }, - "facing=north,in_wall=true,open=true": { - "model": "promenade:block/sakura/fence_gate/wall/open", - "uvlock": true, - "y": 180 - }, - "facing=east,in_wall=true,open=true": { - "model": "promenade:block/sakura/fence_gate/wall/open", - "uvlock": true, - "y": 270 - } - } + "variants": { + "facing=south,in_wall=false,open=false": { + "model": "promenade:block/sakura/fence_gate/close", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "promenade:block/sakura/fence_gate/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=false": { + "model": "promenade:block/sakura/fence_gate/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=false": { + "model": "promenade:block/sakura/fence_gate/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=false,open=true": { + "model": "promenade:block/sakura/fence_gate/open", + "uvlock": true + }, + "facing=west,in_wall=false,open=true": { + "model": "promenade:block/sakura/fence_gate/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=false,open=true": { + "model": "promenade:block/sakura/fence_gate/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=false,open=true": { + "model": "promenade:block/sakura/fence_gate/open", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=false": { + "model": "promenade:block/sakura/fence_gate/wall/close", + "uvlock": true + }, + "facing=west,in_wall=true,open=false": { + "model": "promenade:block/sakura/fence_gate/wall/close", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=false": { + "model": "promenade:block/sakura/fence_gate/wall/close", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=false": { + "model": "promenade:block/sakura/fence_gate/wall/close", + "uvlock": true, + "y": 270 + }, + "facing=south,in_wall=true,open=true": { + "model": "promenade:block/sakura/fence_gate/wall/open", + "uvlock": true + }, + "facing=west,in_wall=true,open=true": { + "model": "promenade:block/sakura/fence_gate/wall/open", + "uvlock": true, + "y": 90 + }, + "facing=north,in_wall=true,open=true": { + "model": "promenade:block/sakura/fence_gate/wall/open", + "uvlock": true, + "y": 180 + }, + "facing=east,in_wall=true,open=true": { + "model": "promenade:block/sakura/fence_gate/wall/open", + "uvlock": true, + "y": 270 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_log.json b/src/main/resources/assets/promenade/blockstates/sakura_log.json index 3f650166..d4bb9aa5 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_log.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_log.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/sakura/log" - }, - "axis=z": { - "model": "promenade:block/sakura/log", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/sakura/log", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/sakura/log" + }, + "axis=z": { + "model": "promenade:block/sakura/log", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/sakura/log", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_planks.json b/src/main/resources/assets/promenade/blockstates/sakura_planks.json index 8804704b..247b3b01 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_planks.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_planks.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/sakura/planks" - } - } + "variants": { + "": { + "model": "promenade:block/sakura/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_pressure_plate.json b/src/main/resources/assets/promenade/blockstates/sakura_pressure_plate.json index 1a7402ad..8a00ba47 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_pressure_plate.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_pressure_plate.json @@ -1,10 +1,10 @@ { - "variants": { - "powered=false": { - "model": "promenade:block/sakura/pressure_plate/unpressed" - }, - "powered=true": { - "model": "promenade:block/sakura/pressure_plate/pressed" - } - } + "variants": { + "powered=false": { + "model": "promenade:block/sakura/pressure_plate/unpressed" + }, + "powered=true": { + "model": "promenade:block/sakura/pressure_plate/pressed" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sakura_slab.json b/src/main/resources/assets/promenade/blockstates/sakura_slab.json index a48a488c..927f8393 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_slab.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_slab.json @@ -1,13 +1,13 @@ { - "variants": { - "type=bottom": { - "model": "promenade:block/sakura/slab/bottom" - }, - "type=top": { - "model": "promenade:block/sakura/slab/top" - }, - "type=double": { - "model": "promenade:block/sakura/planks" - } - } + "variants": { + "type=bottom": { + "model": "promenade:block/sakura/slab/bottom" + }, + "type=top": { + "model": "promenade:block/sakura/slab/top" + }, + "type=double": { + "model": "promenade:block/sakura/planks" + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sakura_stairs.json b/src/main/resources/assets/promenade/blockstates/sakura_stairs.json index 0e512015..46f087ab 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_stairs.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_stairs.json @@ -1,209 +1,209 @@ { - "variants": { - "facing=east,half=bottom,shape=straight": { - "model": "promenade:block/sakura/stairs/straight" - }, - "facing=west,half=bottom,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer" - }, - "facing=west,half=bottom,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer" - }, - "facing=north,half=bottom,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "y": 180, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner" - }, - "facing=west,half=bottom,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=north,half=bottom,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=east,half=bottom,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "y": 270, - "uvlock": true - }, - "facing=west,half=bottom,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "y": 90, - "uvlock": true - }, - "facing=south,half=bottom,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner" - }, - "facing=north,half=bottom,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "y": 180, - "uvlock": true - }, - "facing=east,half=top,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=straight": { - "model": "promenade:block/sakura/stairs/straight", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=outer_right": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=outer_left": { - "model": "promenade:block/sakura/stairs/outer", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=east,half=top,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=west,half=top,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - }, - "facing=south,half=top,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=north,half=top,shape=inner_right": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=east,half=top,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "uvlock": true - }, - "facing=west,half=top,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 180, - "uvlock": true - }, - "facing=south,half=top,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 90, - "uvlock": true - }, - "facing=north,half=top,shape=inner_left": { - "model": "promenade:block/sakura/stairs/inner", - "x": 180, - "y": 270, - "uvlock": true - } - } + "variants": { + "facing=east,half=bottom,shape=straight": { + "model": "promenade:block/sakura/stairs/straight" + }, + "facing=west,half=bottom,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer" + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer" + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "y": 180, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner" + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "y": 270, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner" + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "y": 180, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "promenade:block/sakura/stairs/straight", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "promenade:block/sakura/stairs/outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "promenade:block/sakura/stairs/inner", + "x": 180, + "y": 270, + "uvlock": true + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sakura_trapdoor.json b/src/main/resources/assets/promenade/blockstates/sakura_trapdoor.json index b23600e6..f3a03a84 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_trapdoor.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_trapdoor.json @@ -1,69 +1,69 @@ { - "variants": { - "facing=north,half=bottom,open=false": { - "model": "promenade:block/sakura/trapdoor/close/bottom" - }, - "facing=south,half=bottom,open=false": { - "model": "promenade:block/sakura/trapdoor/close/bottom", - "y": 180 - }, - "facing=east,half=bottom,open=false": { - "model": "promenade:block/sakura/trapdoor/close/bottom", - "y": 90 - }, - "facing=west,half=bottom,open=false": { - "model": "promenade:block/sakura/trapdoor/close/bottom", - "y": 270 - }, - "facing=north,half=top,open=false": { - "model": "promenade:block/sakura/trapdoor/close/top" - }, - "facing=south,half=top,open=false": { - "model": "promenade:block/sakura/trapdoor/close/top", - "y": 180 - }, - "facing=east,half=top,open=false": { - "model": "promenade:block/sakura/trapdoor/close/top", - "y": 90 - }, - "facing=west,half=top,open=false": { - "model": "promenade:block/sakura/trapdoor/close/top", - "y": 270 - }, - "facing=north,half=bottom,open=true": { - "model": "promenade:block/sakura/trapdoor/open" - }, - "facing=south,half=bottom,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "y": 180 - }, - "facing=east,half=bottom,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "y": 90 - }, - "facing=west,half=bottom,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "y": 270 - }, - "facing=north,half=top,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "x": 180, - "y": 180 - }, - "facing=south,half=top,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "x": 180, - "y": 0 - }, - "facing=east,half=top,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "x": 180, - "y": 270 - }, - "facing=west,half=top,open=true": { - "model": "promenade:block/sakura/trapdoor/open", - "x": 180, - "y": 90 - } - } + "variants": { + "facing=north,half=bottom,open=false": { + "model": "promenade:block/sakura/trapdoor/close/bottom" + }, + "facing=south,half=bottom,open=false": { + "model": "promenade:block/sakura/trapdoor/close/bottom", + "y": 180 + }, + "facing=east,half=bottom,open=false": { + "model": "promenade:block/sakura/trapdoor/close/bottom", + "y": 90 + }, + "facing=west,half=bottom,open=false": { + "model": "promenade:block/sakura/trapdoor/close/bottom", + "y": 270 + }, + "facing=north,half=top,open=false": { + "model": "promenade:block/sakura/trapdoor/close/top" + }, + "facing=south,half=top,open=false": { + "model": "promenade:block/sakura/trapdoor/close/top", + "y": 180 + }, + "facing=east,half=top,open=false": { + "model": "promenade:block/sakura/trapdoor/close/top", + "y": 90 + }, + "facing=west,half=top,open=false": { + "model": "promenade:block/sakura/trapdoor/close/top", + "y": 270 + }, + "facing=north,half=bottom,open=true": { + "model": "promenade:block/sakura/trapdoor/open" + }, + "facing=south,half=bottom,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "y": 180 + }, + "facing=east,half=bottom,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "y": 90 + }, + "facing=west,half=bottom,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "y": 270 + }, + "facing=north,half=top,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "x": 180, + "y": 180 + }, + "facing=south,half=top,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "x": 180, + "y": 0 + }, + "facing=east,half=top,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "x": 180, + "y": 270 + }, + "facing=west,half=top,open=true": { + "model": "promenade:block/sakura/trapdoor/open", + "x": 180, + "y": 90 + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sakura_wood.json b/src/main/resources/assets/promenade/blockstates/sakura_wood.json index 25da84ff..247b5203 100644 --- a/src/main/resources/assets/promenade/blockstates/sakura_wood.json +++ b/src/main/resources/assets/promenade/blockstates/sakura_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/sakura/wood" - }, - "axis=z": { - "model": "promenade:block/sakura/wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/sakura/wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/sakura/wood" + }, + "axis=z": { + "model": "promenade:block/sakura/wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/sakura/wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/sap_maple_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/sap_maple_leaf_pile.json index b9752185..adc21d17 100644 --- a/src/main/resources/assets/promenade/blockstates/sap_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/sap_maple_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/leaf_pile/sap" - } - } + "variants": { + "": { + "model": "promenade:block/maple/leaf_pile/sap" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sap_maple_leaves.json b/src/main/resources/assets/promenade/blockstates/sap_maple_leaves.json index 5afbe2eb..e9354e60 100644 --- a/src/main/resources/assets/promenade/blockstates/sap_maple_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/sap_maple_leaves.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/leaves/sap" - } - } + "variants": { + "": { + "model": "promenade:block/maple/leaves/sap" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/sap_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/sap_maple_sapling.json index 5df530d5..17f12f55 100644 --- a/src/main/resources/assets/promenade/blockstates/sap_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/sap_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/sapling/sap" - } - } + "variants": { + "": { + "model": "promenade:block/maple/sapling/sap" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/spruce_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/spruce_leaf_pile.json index 763a68ea..c461f04f 100644 --- a/src/main/resources/assets/promenade/blockstates/spruce_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/spruce_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/spruce_leaf" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/spruce_leaf" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_hyphae.json b/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_hyphae.json index 0d81229f..3f160283 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_hyphae.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_hyphae.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/dark_amaranth/stripped_hyphae" - }, - "axis=z": { - "model": "promenade:block/dark_amaranth/stripped_hyphae", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/dark_amaranth/stripped_hyphae", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/dark_amaranth/stripped_hyphae" + }, + "axis=z": { + "model": "promenade:block/dark_amaranth/stripped_hyphae", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/dark_amaranth/stripped_hyphae", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_stem.json b/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_stem.json index a16fdd5e..6604b9d0 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_stem.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_dark_amaranth_stem.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/dark_amaranth/stripped_stem" - }, - "axis=z": { - "model": "promenade:block/dark_amaranth/stripped_stem", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/dark_amaranth/stripped_stem", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/dark_amaranth/stripped_stem" + }, + "axis=z": { + "model": "promenade:block/dark_amaranth/stripped_stem", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/dark_amaranth/stripped_stem", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_maple_log.json b/src/main/resources/assets/promenade/blockstates/stripped_maple_log.json index 57352bf1..b59d7222 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_maple_log.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_maple_log.json @@ -1,28 +1,28 @@ { - "variants": { - "drip=false,axis=y": { - "model": "promenade:block/maple/stripped_log" - }, - "drip=false,axis=z": { - "model": "promenade:block/maple/stripped_log", - "x": 90 - }, - "drip=false,axis=x": { - "model": "promenade:block/maple/stripped_log", - "x": 90, - "y": 90 - }, - "drip=true,axis=y": { - "model": "promenade:block/maple/stripped_log/drip" - }, - "drip=true,axis=z": { - "model": "promenade:block/maple/stripped_log/drip", - "x": 90 - }, - "drip=true,axis=x": { - "model": "promenade:block/maple/stripped_log/drip", - "x": 90, - "y": 90 - } - } + "variants": { + "drip=false,axis=y": { + "model": "promenade:block/maple/stripped_log" + }, + "drip=false,axis=z": { + "model": "promenade:block/maple/stripped_log", + "x": 90 + }, + "drip=false,axis=x": { + "model": "promenade:block/maple/stripped_log", + "x": 90, + "y": 90 + }, + "drip=true,axis=y": { + "model": "promenade:block/maple/stripped_log/drip" + }, + "drip=true,axis=z": { + "model": "promenade:block/maple/stripped_log/drip", + "x": 90 + }, + "drip=true,axis=x": { + "model": "promenade:block/maple/stripped_log/drip", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_maple_wood.json b/src/main/resources/assets/promenade/blockstates/stripped_maple_wood.json index 43f17d8b..56ce5b7b 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_maple_wood.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_maple_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/maple/stripped_wood" - }, - "axis=z": { - "model": "promenade:block/maple/stripped_wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/maple/stripped_wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/maple/stripped_wood" + }, + "axis=z": { + "model": "promenade:block/maple/stripped_wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/maple/stripped_wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_palm_log.json b/src/main/resources/assets/promenade/blockstates/stripped_palm_log.json index 78cd3cb2..07712d49 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_palm_log.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_palm_log.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/palm/stripped_log" - }, - "axis=z": { - "model": "promenade:block/palm/stripped_log", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/palm/stripped_log", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/palm/stripped_log" + }, + "axis=z": { + "model": "promenade:block/palm/stripped_log", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/palm/stripped_log", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_palm_wood.json b/src/main/resources/assets/promenade/blockstates/stripped_palm_wood.json index 2f7cc457..aa3d5931 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_palm_wood.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_palm_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/palm/stripped_wood" - }, - "axis=z": { - "model": "promenade:block/palm/stripped_wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/palm/stripped_wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/palm/stripped_wood" + }, + "axis=z": { + "model": "promenade:block/palm/stripped_wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/palm/stripped_wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_sakura_log.json b/src/main/resources/assets/promenade/blockstates/stripped_sakura_log.json index 6c3b1ba4..056a0f04 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_sakura_log.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_sakura_log.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/sakura/stripped_log" - }, - "axis=z": { - "model": "promenade:block/sakura/stripped_log", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/sakura/stripped_log", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/sakura/stripped_log" + }, + "axis=z": { + "model": "promenade:block/sakura/stripped_log", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/sakura/stripped_log", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/stripped_sakura_wood.json b/src/main/resources/assets/promenade/blockstates/stripped_sakura_wood.json index 7cf649a8..9f94eeec 100644 --- a/src/main/resources/assets/promenade/blockstates/stripped_sakura_wood.json +++ b/src/main/resources/assets/promenade/blockstates/stripped_sakura_wood.json @@ -1,16 +1,16 @@ { - "variants": { - "axis=y": { - "model": "promenade:block/sakura/stripped_wood" - }, - "axis=z": { - "model": "promenade:block/sakura/stripped_wood", - "x": 90 - }, - "axis=x": { - "model": "promenade:block/sakura/stripped_wood", - "x": 90, - "y": 90 - } - } + "variants": { + "axis=y": { + "model": "promenade:block/sakura/stripped_wood" + }, + "axis=z": { + "model": "promenade:block/sakura/stripped_wood", + "x": 90 + }, + "axis=x": { + "model": "promenade:block/sakura/stripped_wood", + "x": 90, + "y": 90 + } + } } diff --git a/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaf_pile.json b/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaf_pile.json index e28978d3..7a05be14 100644 --- a/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaf_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/leaf_pile/vermilion" - } - } + "variants": { + "": { + "model": "promenade:block/maple/leaf_pile/vermilion" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaves.json b/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaves.json index 7734ac9e..6d290d95 100644 --- a/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaves.json +++ b/src/main/resources/assets/promenade/blockstates/vermilion_maple_leaves.json @@ -1,49 +1,49 @@ { - "variants": { - "distance=1,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/regular" - }, - "distance=2,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/regular" - }, - "distance=3,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/regular" - }, - "distance=4,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=5,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=6,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=7,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=8,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=9,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=10,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=11,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=12,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=13,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "distance=14,persistent=false": { - "model": "promenade:block/maple/leaves/vermilion/mixed" - }, - "persistent=true": { - "model": "promenade:block/maple/leaves/vermilion/regular" - } - } + "variants": { + "distance=1,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/regular" + }, + "distance=2,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/regular" + }, + "distance=3,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/regular" + }, + "distance=4,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=5,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=6,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=7,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=8,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=9,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=10,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=11,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=12,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=13,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "distance=14,persistent=false": { + "model": "promenade:block/maple/leaves/vermilion/mixed" + }, + "persistent=true": { + "model": "promenade:block/maple/leaves/vermilion/regular" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/vermilion_maple_sapling.json b/src/main/resources/assets/promenade/blockstates/vermilion_maple_sapling.json index c0cbe0f4..6e94f1cb 100644 --- a/src/main/resources/assets/promenade/blockstates/vermilion_maple_sapling.json +++ b/src/main/resources/assets/promenade/blockstates/vermilion_maple_sapling.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/maple/sapling/vermilion" - } - } + "variants": { + "": { + "model": "promenade:block/maple/sapling/vermilion" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/white_tulip_pile.json b/src/main/resources/assets/promenade/blockstates/white_tulip_pile.json index ebebe41d..2db6a193 100644 --- a/src/main/resources/assets/promenade/blockstates/white_tulip_pile.json +++ b/src/main/resources/assets/promenade/blockstates/white_tulip_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/white_tulip" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/white_tulip" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/blockstates/wither_rose_pile.json b/src/main/resources/assets/promenade/blockstates/wither_rose_pile.json index 212845de..69a7caf9 100644 --- a/src/main/resources/assets/promenade/blockstates/wither_rose_pile.json +++ b/src/main/resources/assets/promenade/blockstates/wither_rose_pile.json @@ -1,7 +1,7 @@ { - "variants": { - "": { - "model": "promenade:block/vanilla_piles/wither_rose" - } - } + "variants": { + "": { + "model": "promenade:block/vanilla_piles/wither_rose" + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/lang/en_us.json b/src/main/resources/assets/promenade/lang/en_us.json index c5dc1203..e23c2e3e 100644 --- a/src/main/resources/assets/promenade/lang/en_us.json +++ b/src/main/resources/assets/promenade/lang/en_us.json @@ -1,233 +1,211 @@ { - "modmenu.descriptionTranslation.promenade": "Fancy and simplistic animals, biomes, structures and more!", - - "block.promenade.oak_leaf_pile": "Oak Leaf Pile", - "block.promenade.spruce_leaf_pile": "Spruce Leaf Pile", - "block.promenade.birch_leaf_pile": "Birch Leaf Pile", - "block.promenade.jungle_leaf_pile": "Jungle Leaf Pile", - "block.promenade.acacia_leaf_pile": "Acacia Leaf Pile", - "block.promenade.dark_oak_leaf_pile": "Dark Oak Leaf Pile", - "block.promenade.mangrove_leaf_pile": "Mangrove Leaf Pile", - "block.promenade.azalea_leaf_pile": "Azalea Leaf Pile", - "block.promenade.flowering_azalea_leaf_pile": "Flowering Azalea Leaf Pile", - - "block.promenade.dandelion_pile": "Dandelion Pile", - "block.promenade.poppy_pile": "Poppy Pile", - "block.promenade.blue_orchid_pile": "Blue Orchid Pile", - "block.promenade.allium_pile": "Allium Pile", - "block.promenade.azure_bluet_pile": "Azure Bluet Pile", - "block.promenade.red_tulip_pile": "Red Tulip Pile", - "block.promenade.orange_tulip_pile": "Orange Tulip Pile", - "block.promenade.white_tulip_pile": "White Tulip Pile", - "block.promenade.pink_tulip_pile": "Pink Tulip Pile", - "block.promenade.oxeye_daisy_pile": "Oxeye Daisy Pile", - "block.promenade.cornflower_pile": "Cornflower Pile", - "block.promenade.lily_of_the_valley_pile": "Lily of the Valley Pile", - "block.promenade.wither_rose_pile": "Wither Rose Pile", - - "block.promenade.blunite": "Blunite", - "block.promenade.blunite_stairs": "Blunite Stairs", - "block.promenade.blunite_slab": "Blunite Slab", - "block.promenade.blunite_wall": "Blunite Wall", - "block.promenade.blunite_column": "Blunite Column", - "block.promenade.polished_blunite": "Polished Blunite", - "block.promenade.polished_blunite_stairs": "Polished Blunite Stairs", - "block.promenade.polished_blunite_slab": "Polished Blunite Slab", - "block.promenade.asphalt": "Asphalt", - "block.promenade.asphalt_stairs": "Asphalt Stairs", - "block.promenade.asphalt_slab": "Asphalt Slab", - "block.promenade.asphalt_wall": "Asphalt Wall", - "block.promenade.asphalt_column": "Asphalt Column", - "block.promenade.polished_asphalt": "Polished Asphalt", - "block.promenade.polished_asphalt_stairs": "Polished Asphalt Stairs", - "block.promenade.polished_asphalt_slab": "Polished Asphalt Slab", - - "block.promenade.blush_sakura_sapling": "Blush Sakura Sapling", - "block.promenade.potted_blush_sakura_sapling": "Potted Blush Sakura Sapling", - "block.promenade.blush_sakura_blossoms": "Blush Sakura Blossoms", - "block.promenade.blush_sakura_blossom_pile": "Blush Sakura Blossom Pile", - "block.promenade.cotton_sakura_sapling": "Cotton Sakura Sapling", - "block.promenade.potted_cotton_sakura_sapling": "Potted Cotton Sakura Sapling", - "block.promenade.cotton_sakura_blossoms": "Cotton Sakura Blossoms", - "block.promenade.cotton_sakura_blossom_pile": "Cotton Sakura Blossom Pile", - "block.promenade.sakura_planks": "Sakura Planks", - "block.promenade.sakura_log": "Sakura Log", - "block.promenade.stripped_sakura_log": "Stripped Sakura Log", - "block.promenade.sakura_wood": "Sakura Wood", - "block.promenade.stripped_sakura_wood": "Stripped Sakura Wood", - "block.promenade.sakura_pressure_plate": "Sakura Pressure Plate", - "block.promenade.sakura_trapdoor": "Sakura Trapdoor", - "block.promenade.sakura_button": "Sakura Button", - "block.promenade.sakura_stairs": "Sakura Stairs", - "block.promenade.sakura_slab": "Sakura Slab", - "block.promenade.sakura_fence_gate": "Sakura Fence Gate", - "block.promenade.sakura_fence": "Sakura Fence", - "block.promenade.sakura_door": "Sakura Door", - "block.promenade.sakura_sign": "Sakura Sign", - "block.promenade.sakura_wall_sign": "Sakura Wall Sign", - "block.promenade.sakura_hanging_sign": "Sakura Hanging Sign", - "block.promenade.sakura_wall_hanging_sign": "Sakura Wall Hanging Sign", - "item.promenade.sakura_boat": "Sakura Boat", - "item.promenade.sakura_chest_boat": "Sakura Boat with Chest", - - "block.promenade.maple_planks": "Maple Planks", - "block.promenade.maple_log": "Maple Log", - "block.promenade.stripped_maple_log": "Stripped Maple Log", - "block.promenade.maple_wood": "Maple Wood", - "block.promenade.stripped_maple_wood": "Stripped Maple Wood", - "block.promenade.maple_pressure_plate": "Maple Pressure Plate", - "block.promenade.maple_trapdoor": "Maple Trapdoor", - "block.promenade.maple_button": "Maple Button", - "block.promenade.maple_stairs": "Maple Stairs", - "block.promenade.maple_slab": "Maple Slab", - "block.promenade.maple_fence_gate": "Maple Fence Gate", - "block.promenade.maple_fence": "Maple Fence", - "block.promenade.maple_door": "Maple Door", - "block.promenade.maple_sign": "Maple Sign", - "block.promenade.maple_wall_sign": "Maple Wall Sign", - "block.promenade.maple_hanging_sign": "Maple Hanging Sign", - "block.promenade.maple_wall_hanging_sign": "Maple Wall Hanging Sign", - "item.promenade.maple_boat": "Maple Boat", - "item.promenade.maple_chest_boat": "Maple Boat with Chest", - - "block.promenade.vermilion_maple_sapling": "Vermilion Maple Sapling", - "block.promenade.potted_vermilion_maple_sapling": "Potted Vermilion Maple Sapling", - "block.promenade.vermilion_maple_leaves": "Vermilion Maple Leaves", - "block.promenade.vermilion_maple_leaf_pile": "Vermilion Maple Leaf Pile", - "block.promenade.vermilion_carpeted_grass_block": "Vermilion Carpeted Grass Block", - - "block.promenade.fulvous_maple_sapling": "Fulvous Maple Sapling", - "block.promenade.potted_fulvous_maple_sapling": "Potted Fulvous Maple Sapling", - "block.promenade.fulvous_maple_leaves": "Fulvous Maple Leaves", - "block.promenade.fulvous_maple_leaf_pile": "Fulvous Maple Leaf Pile", - "block.promenade.fulvous_carpeted_grass_block": "Fulvous Carpeted Grass Block", - - "block.promenade.mikado_maple_sapling": "Mikado Maple Sapling", - "block.promenade.potted_mikado_maple_sapling": "Potted Mikado Maple Sapling", - "block.promenade.mikado_maple_leaves": "Mikado Maple Leaves", - "block.promenade.mikado_maple_leaf_pile": "Mikado Maple Leaf Pile", - "block.promenade.mikado_carpeted_grass_block": "Mikado Carpeted Grass Block", - - "block.promenade.sap_maple_sapling": "Sap Maple Sapling", - "block.promenade.potted_sap_maple_sapling": "Potted Sap Maple Sapling", - "block.promenade.sap_maple_leaves": "Sap Maple Leaves", - "block.promenade.sap_maple_leaf_pile": "Sap Maple Leaf Pile", - - "block.promenade.palm_planks": "Palm Planks", - "block.promenade.palm_sapling": "Palm Sapling", - "block.promenade.potted_palm_sapling": "Potted Palm Sapling", - "block.promenade.palm_log": "Palm Log", - "block.promenade.stripped_palm_log": "Stripped Palm Log", - "block.promenade.palm_wood": "Palm Wood", - "block.promenade.stripped_palm_wood": "Stripped Palm Wood", - "block.promenade.palm_leaves": "Palm Leaves", - "block.promenade.palm_hanging_leaves": "Palm Hanging Leaves", - "block.promenade.palm_leaf_pile": "Palm Leaf Pile", - "block.promenade.palm_pressure_plate": "Palm Pressure Plate", - "block.promenade.palm_trapdoor": "Palm Trapdoor", - "block.promenade.palm_button": "Palm Button", - "block.promenade.palm_stairs": "Palm Stairs", - "block.promenade.palm_slab": "Palm Slab", - "block.promenade.palm_fence_gate": "Palm Fence Gate", - "block.promenade.palm_fence": "Palm Fence", - "block.promenade.palm_door": "Palm Door", - "block.promenade.palm_sign": "Palm Sign", - "block.promenade.palm_wall_sign": "Palm Wall Sign", - "block.promenade.palm_hanging_sign": "Palm Hanging Sign", - "block.promenade.palm_wall_hanging_sign": "Palm Wall Hanging Sign", - "item.promenade.palm_boat": "Palm Boat", - "item.promenade.palm_chest_boat": "Palm Boat with Chest", - - "block.promenade.moai": "Moai", - - "block.promenade.black_dylium": "Black Dylium", - "block.promenade.dark_amaranth_roots": "Dark Amaranth Roots", - "block.promenade.dark_amaranth_wart_block": "Dark Amaranth Wart Block", - "block.promenade.dark_amaranth_planks": "Dark Amaranth Planks", - "block.promenade.dark_amaranth_fungus": "Dark Amaranth Fungus", - "block.promenade.potted_dark_amaranth_fungus": "Potted Dark Amaranth Fungus", - "block.promenade.dark_amaranth_stem": "Dark Amaranth Stem", - "block.promenade.stripped_dark_amaranth_stem": "Stripped Dark Amaranth Stem", - "block.promenade.dark_amaranth_hyphae": "Dark Amaranth Hyphae", - "block.promenade.stripped_dark_amaranth_hyphae": "Stripped Dark Amaranth Hyphae", - "block.promenade.dark_amaranth_pressure_plate": "Dark Amaranth Pressure Plate", - "block.promenade.dark_amaranth_trapdoor": "Dark Amaranth Trapdoor", - "block.promenade.dark_amaranth_button": "Dark Amaranth Button", - "block.promenade.dark_amaranth_stairs": "Dark Amaranth Stairs", - "block.promenade.dark_amaranth_slab": "Dark Amaranth Slab", - "block.promenade.dark_amaranth_fence_gate": "Dark Amaranth Fence Gate", - "block.promenade.dark_amaranth_fence": "Dark Amaranth Fence", - "block.promenade.dark_amaranth_door": "Dark Amaranth Door", - "block.promenade.dark_amaranth_sign": "Dark Amaranth Sign", - "block.promenade.dark_amaranth_wall_sign": "Dark Amaranth Wall Sign", - "block.promenade.dark_amaranth_hanging_sign": "Dark Amaranth Hanging Sign", - "block.promenade.dark_amaranth_wall_hanging_sign": "Dark Amaranth Wall Hanging Sign", - - "block.promenade.snowy_spruce_leaves": "Snowy Spruce Leaves", - - "block.promenade.blueberry_bush": "Blueberry Bush", - - "item.promenade.blueberries": "Blueberries", - "item.promenade.banana": "Banana", - "item.promenade.apricot": "Apricot", - "item.promenade.mango": "Mango", - "item.promenade.duck": "Raw Duck", - "item.promenade.cooked_duck": "Cooked Duck", - - "item.promenade.maple_syrup_bottle": "Maple Syrup Bottle", - - "item.promenade.capybara_spawn_egg": "Capybara Spawn Egg", - "item.promenade.duck_spawn_egg": "Duck Spawn Egg", - "item.promenade.lush_creeper_spawn_egg": "Lush Creeper Spawn Egg", - "item.promenade.sunken_skeleton_spawn_egg": "Sunken Skeleton Spawn Egg", - - "entity.promenade.capybara": "Capybara", - "entity.promenade.duck": "Duck", - "entity.promenade.lush_creeper": "Lush Creeper", - "entity.promenade.sunken_skeleton": "Sunken Skeleton", - - "biome.promenade.blush_sakura_grove": "Blush Sakura Grove", - "biome.promenade.cotton_sakura_grove": "Cotton Sakura Grove", - "biome.promenade.carnelian_treeway": "Carnelian Treeway", - "biome.promenade.glacarian_taiga": "Glacarian Taiga", - "biome.promenade.dark_amaranth_forest": "Dark Amaranth Forest", - "biome.promenade.tall_dark_amaranth_forest": "Tall Dark Amaranth Forest", - - "subtitles.promenade.entity.capybara.ambient": "Capybara squeaks", - "subtitles.promenade.entity.capybara.hurt": "Capybara hurts", - "subtitles.promenade.entity.capybara.death": "Capybara dies", - "subtitles.promenade.entity.capybara.fart": "Capybara farts", - "subtitles.promenade.entity.duck.ambient": "Duck quacks", - "subtitles.promenade.entity.duck.hurt": "Duck hurts", - "subtitles.promenade.entity.duck.death": "Duck dies", - "subtitles.promenade.entity.sunken_skeleton.ambient": "Sunken Skeleton rattles", - "subtitles.promenade.entity.sunken_skeleton.hurt": "Sunken Skeleton hurts", - "subtitles.promenade.entity.sunken_skeleton.death": "Sunken Skeleton dies", - "subtitles.promenade.entity.sunken_skeleton.shoot": "Sunken Skeleton shoots", - "advancements.promenade.adventure.coral_bleacher_sniping.title": "Coral Bleacher Sniping", - "advancements.promenade.adventure.coral_bleacher_sniping.description": "Kill a sunken skeleton using a crossbow underwater", - "advancements.promenade.adventure.coral_reef_savior.title": "Coral Reef Savior", - "advancements.promenade.adventure.coral_reef_savior.description": "Kill all the types of sunken skeleton with one crossbow shot underwater", - "advancements.promenade.adventure.place_all_sakura_blocks.title": "Minka House Foundations", - "advancements.promenade.adventure.place_all_sakura_blocks.description": "Place down all the different sakura wood blocks in a sakura grove", - "advancements.promenade.husbandry.harvest_maple_syrup.title": "Don't Worry, Be Sappy!", - "advancements.promenade.husbandry.harvest_maple_syrup.description": "Strip a natural Maple tree using an Axe to collect Maple Syrup with a Bottle", - "text.autoconfig.promenade.title": "Promenade Configuration", - "text.autoconfig.promenade.category.biomes": "Biomes", - "text.autoconfig.promenade.category.world_features": "World Features", - "text.autoconfig.promenade.category.structures": "Structures", - "text.autoconfig.promenade.category.animals": "Animals", - "text.autoconfig.promenade.category.monsters": "Monsters", - "text.autoconfig.promenade.option.biomes.carnelian_treeway_weight": "Generation weight of Carnelian Treeways", - "text.autoconfig.promenade.option.biomes.sakura_groves_weight": "Generation weight of Sakura Groves", - "text.autoconfig.promenade.option.biomes.glacarian_taiga_weight": "Generation weight of Glacarian Taigas", - "text.autoconfig.promenade.option.biomes.dark_amaranth_forests_weight": "Generation weight of Dark Amaranth Forests", - "text.autoconfig.promenade.option.world_features.igneous_rock_patches": "Generate patches of new igneous rocks", - "text.autoconfig.promenade.option.world_features.igneous_rock_patches.@Tooltip": "Generate patches of Asphalt and Blunite", - "text.autoconfig.promenade.option.world_features.palms": "Generate Palms", - "text.autoconfig.promenade.option.world_features.blueberry_bushes": "Generate Blueberry Bushes", - "text.autoconfig.promenade.option.animals.capybaras_weight": "Spawning weight of Capybaras", - "text.autoconfig.promenade.option.animals.ducks_weight": "Spawning weight of Ducks", - "text.autoconfig.promenade.option.monsters.lush_creepers_weight": "Spawning weight of Lush Creepers", - "text.autoconfig.promenade.option.monsters.sunken_skeletons_weight": "Spawning weight of Sunken Skeletons" + "modmenu.descriptionTranslation.promenade": "Fancy and simplistic animals, biomes, structures and more!", + "block.promenade.oak_leaf_pile": "Oak Leaf Pile", + "block.promenade.spruce_leaf_pile": "Spruce Leaf Pile", + "block.promenade.birch_leaf_pile": "Birch Leaf Pile", + "block.promenade.jungle_leaf_pile": "Jungle Leaf Pile", + "block.promenade.acacia_leaf_pile": "Acacia Leaf Pile", + "block.promenade.dark_oak_leaf_pile": "Dark Oak Leaf Pile", + "block.promenade.mangrove_leaf_pile": "Mangrove Leaf Pile", + "block.promenade.azalea_leaf_pile": "Azalea Leaf Pile", + "block.promenade.flowering_azalea_leaf_pile": "Flowering Azalea Leaf Pile", + "block.promenade.dandelion_pile": "Dandelion Pile", + "block.promenade.poppy_pile": "Poppy Pile", + "block.promenade.blue_orchid_pile": "Blue Orchid Pile", + "block.promenade.allium_pile": "Allium Pile", + "block.promenade.azure_bluet_pile": "Azure Bluet Pile", + "block.promenade.red_tulip_pile": "Red Tulip Pile", + "block.promenade.orange_tulip_pile": "Orange Tulip Pile", + "block.promenade.white_tulip_pile": "White Tulip Pile", + "block.promenade.pink_tulip_pile": "Pink Tulip Pile", + "block.promenade.oxeye_daisy_pile": "Oxeye Daisy Pile", + "block.promenade.cornflower_pile": "Cornflower Pile", + "block.promenade.lily_of_the_valley_pile": "Lily of the Valley Pile", + "block.promenade.wither_rose_pile": "Wither Rose Pile", + "block.promenade.blunite": "Blunite", + "block.promenade.blunite_stairs": "Blunite Stairs", + "block.promenade.blunite_slab": "Blunite Slab", + "block.promenade.blunite_wall": "Blunite Wall", + "block.promenade.polished_blunite": "Polished Blunite", + "block.promenade.polished_blunite_stairs": "Polished Blunite Stairs", + "block.promenade.polished_blunite_slab": "Polished Blunite Slab", + "block.promenade.asphalt": "Asphalt", + "block.promenade.asphalt_stairs": "Asphalt Stairs", + "block.promenade.asphalt_slab": "Asphalt Slab", + "block.promenade.asphalt_wall": "Asphalt Wall", + "block.promenade.polished_asphalt": "Polished Asphalt", + "block.promenade.polished_asphalt_stairs": "Polished Asphalt Stairs", + "block.promenade.polished_asphalt_slab": "Polished Asphalt Slab", + "block.promenade.blush_sakura_sapling": "Blush Sakura Sapling", + "block.promenade.potted_blush_sakura_sapling": "Potted Blush Sakura Sapling", + "block.promenade.blush_sakura_blossoms": "Blush Sakura Blossoms", + "block.promenade.blush_sakura_blossom_pile": "Blush Sakura Blossom Pile", + "block.promenade.cotton_sakura_sapling": "Cotton Sakura Sapling", + "block.promenade.potted_cotton_sakura_sapling": "Potted Cotton Sakura Sapling", + "block.promenade.cotton_sakura_blossoms": "Cotton Sakura Blossoms", + "block.promenade.cotton_sakura_blossom_pile": "Cotton Sakura Blossom Pile", + "block.promenade.sakura_planks": "Sakura Planks", + "block.promenade.sakura_log": "Sakura Log", + "block.promenade.stripped_sakura_log": "Stripped Sakura Log", + "block.promenade.sakura_wood": "Sakura Wood", + "block.promenade.stripped_sakura_wood": "Stripped Sakura Wood", + "block.promenade.sakura_pressure_plate": "Sakura Pressure Plate", + "block.promenade.sakura_trapdoor": "Sakura Trapdoor", + "block.promenade.sakura_button": "Sakura Button", + "block.promenade.sakura_stairs": "Sakura Stairs", + "block.promenade.sakura_slab": "Sakura Slab", + "block.promenade.sakura_fence_gate": "Sakura Fence Gate", + "block.promenade.sakura_fence": "Sakura Fence", + "block.promenade.sakura_door": "Sakura Door", + "block.promenade.sakura_sign": "Sakura Sign", + "block.promenade.sakura_wall_sign": "Sakura Wall Sign", + "block.promenade.sakura_hanging_sign": "Sakura Hanging Sign", + "block.promenade.sakura_wall_hanging_sign": "Sakura Wall Hanging Sign", + "item.promenade.sakura_boat": "Sakura Boat", + "item.promenade.sakura_chest_boat": "Sakura Boat with Chest", + "block.promenade.maple_planks": "Maple Planks", + "block.promenade.maple_log": "Maple Log", + "block.promenade.stripped_maple_log": "Stripped Maple Log", + "block.promenade.maple_wood": "Maple Wood", + "block.promenade.stripped_maple_wood": "Stripped Maple Wood", + "block.promenade.maple_pressure_plate": "Maple Pressure Plate", + "block.promenade.maple_trapdoor": "Maple Trapdoor", + "block.promenade.maple_button": "Maple Button", + "block.promenade.maple_stairs": "Maple Stairs", + "block.promenade.maple_slab": "Maple Slab", + "block.promenade.maple_fence_gate": "Maple Fence Gate", + "block.promenade.maple_fence": "Maple Fence", + "block.promenade.maple_door": "Maple Door", + "block.promenade.maple_sign": "Maple Sign", + "block.promenade.maple_wall_sign": "Maple Wall Sign", + "block.promenade.maple_hanging_sign": "Maple Hanging Sign", + "block.promenade.maple_wall_hanging_sign": "Maple Wall Hanging Sign", + "item.promenade.maple_boat": "Maple Boat", + "item.promenade.maple_chest_boat": "Maple Boat with Chest", + "block.promenade.vermilion_maple_sapling": "Vermilion Maple Sapling", + "block.promenade.potted_vermilion_maple_sapling": "Potted Vermilion Maple Sapling", + "block.promenade.vermilion_maple_leaves": "Vermilion Maple Leaves", + "block.promenade.vermilion_maple_leaf_pile": "Vermilion Maple Leaf Pile", + "block.promenade.vermilion_carpeted_grass_block": "Vermilion Carpeted Grass Block", + "block.promenade.fulvous_maple_sapling": "Fulvous Maple Sapling", + "block.promenade.potted_fulvous_maple_sapling": "Potted Fulvous Maple Sapling", + "block.promenade.fulvous_maple_leaves": "Fulvous Maple Leaves", + "block.promenade.fulvous_maple_leaf_pile": "Fulvous Maple Leaf Pile", + "block.promenade.fulvous_carpeted_grass_block": "Fulvous Carpeted Grass Block", + "block.promenade.mikado_maple_sapling": "Mikado Maple Sapling", + "block.promenade.potted_mikado_maple_sapling": "Potted Mikado Maple Sapling", + "block.promenade.mikado_maple_leaves": "Mikado Maple Leaves", + "block.promenade.mikado_maple_leaf_pile": "Mikado Maple Leaf Pile", + "block.promenade.mikado_carpeted_grass_block": "Mikado Carpeted Grass Block", + "block.promenade.sap_maple_sapling": "Sap Maple Sapling", + "block.promenade.potted_sap_maple_sapling": "Potted Sap Maple Sapling", + "block.promenade.sap_maple_leaves": "Sap Maple Leaves", + "block.promenade.sap_maple_leaf_pile": "Sap Maple Leaf Pile", + "block.promenade.palm_planks": "Palm Planks", + "block.promenade.palm_sapling": "Palm Sapling", + "block.promenade.potted_palm_sapling": "Potted Palm Sapling", + "block.promenade.palm_log": "Palm Log", + "block.promenade.stripped_palm_log": "Stripped Palm Log", + "block.promenade.palm_wood": "Palm Wood", + "block.promenade.stripped_palm_wood": "Stripped Palm Wood", + "block.promenade.palm_leaves": "Palm Leaves", + "block.promenade.palm_hanging_leaves": "Palm Hanging Leaves", + "block.promenade.palm_leaf_pile": "Palm Leaf Pile", + "block.promenade.palm_pressure_plate": "Palm Pressure Plate", + "block.promenade.palm_trapdoor": "Palm Trapdoor", + "block.promenade.palm_button": "Palm Button", + "block.promenade.palm_stairs": "Palm Stairs", + "block.promenade.palm_slab": "Palm Slab", + "block.promenade.palm_fence_gate": "Palm Fence Gate", + "block.promenade.palm_fence": "Palm Fence", + "block.promenade.palm_door": "Palm Door", + "block.promenade.palm_sign": "Palm Sign", + "block.promenade.palm_wall_sign": "Palm Wall Sign", + "block.promenade.palm_hanging_sign": "Palm Hanging Sign", + "block.promenade.palm_wall_hanging_sign": "Palm Wall Hanging Sign", + "item.promenade.palm_boat": "Palm Boat", + "item.promenade.palm_chest_boat": "Palm Boat with Chest", + "block.promenade.moai": "Moai", + "block.promenade.black_dylium": "Black Dylium", + "block.promenade.dark_amaranth_roots": "Dark Amaranth Roots", + "block.promenade.dark_amaranth_wart_block": "Dark Amaranth Wart Block", + "block.promenade.dark_amaranth_planks": "Dark Amaranth Planks", + "block.promenade.dark_amaranth_fungus": "Dark Amaranth Fungus", + "block.promenade.potted_dark_amaranth_fungus": "Potted Dark Amaranth Fungus", + "block.promenade.dark_amaranth_stem": "Dark Amaranth Stem", + "block.promenade.stripped_dark_amaranth_stem": "Stripped Dark Amaranth Stem", + "block.promenade.dark_amaranth_hyphae": "Dark Amaranth Hyphae", + "block.promenade.stripped_dark_amaranth_hyphae": "Stripped Dark Amaranth Hyphae", + "block.promenade.dark_amaranth_pressure_plate": "Dark Amaranth Pressure Plate", + "block.promenade.dark_amaranth_trapdoor": "Dark Amaranth Trapdoor", + "block.promenade.dark_amaranth_button": "Dark Amaranth Button", + "block.promenade.dark_amaranth_stairs": "Dark Amaranth Stairs", + "block.promenade.dark_amaranth_slab": "Dark Amaranth Slab", + "block.promenade.dark_amaranth_fence_gate": "Dark Amaranth Fence Gate", + "block.promenade.dark_amaranth_fence": "Dark Amaranth Fence", + "block.promenade.dark_amaranth_door": "Dark Amaranth Door", + "block.promenade.dark_amaranth_sign": "Dark Amaranth Sign", + "block.promenade.dark_amaranth_wall_sign": "Dark Amaranth Wall Sign", + "block.promenade.dark_amaranth_hanging_sign": "Dark Amaranth Hanging Sign", + "block.promenade.dark_amaranth_wall_hanging_sign": "Dark Amaranth Wall Hanging Sign", + "block.promenade.snowy_spruce_leaves": "Snowy Spruce Leaves", + "block.promenade.blueberry_bush": "Blueberry Bush", + "item.promenade.blueberries": "Blueberries", + "item.promenade.banana": "Banana", + "item.promenade.apricot": "Apricot", + "item.promenade.mango": "Mango", + "item.promenade.duck": "Raw Duck", + "item.promenade.cooked_duck": "Cooked Duck", + "item.promenade.maple_syrup_bottle": "Maple Syrup Bottle", + "item.promenade.capybara_spawn_egg": "Capybara Spawn Egg", + "item.promenade.duck_spawn_egg": "Duck Spawn Egg", + "item.promenade.lush_creeper_spawn_egg": "Lush Creeper Spawn Egg", + "item.promenade.sunken_skeleton_spawn_egg": "Sunken Skeleton Spawn Egg", + "entity.promenade.capybara": "Capybara", + "entity.promenade.duck": "Duck", + "entity.promenade.lush_creeper": "Lush Creeper", + "entity.promenade.sunken_skeleton": "Sunken Skeleton", + "biome.promenade.blush_sakura_grove": "Blush Sakura Grove", + "biome.promenade.cotton_sakura_grove": "Cotton Sakura Grove", + "biome.promenade.carnelian_treeway": "Carnelian Treeway", + "biome.promenade.glacarian_taiga": "Glacarian Taiga", + "biome.promenade.dark_amaranth_forest": "Dark Amaranth Forest", + "biome.promenade.tall_dark_amaranth_forest": "Tall Dark Amaranth Forest", + "subtitles.promenade.entity.capybara.ambient": "Capybara squeaks", + "subtitles.promenade.entity.capybara.hurt": "Capybara hurts", + "subtitles.promenade.entity.capybara.death": "Capybara dies", + "subtitles.promenade.entity.capybara.fart": "Capybara farts", + "subtitles.promenade.entity.duck.ambient": "Duck quacks", + "subtitles.promenade.entity.duck.hurt": "Duck hurts", + "subtitles.promenade.entity.duck.death": "Duck dies", + "subtitles.promenade.entity.sunken_skeleton.ambient": "Sunken Skeleton rattles", + "subtitles.promenade.entity.sunken_skeleton.hurt": "Sunken Skeleton hurts", + "subtitles.promenade.entity.sunken_skeleton.death": "Sunken Skeleton dies", + "subtitles.promenade.entity.sunken_skeleton.shoot": "Sunken Skeleton shoots", + "advancements.promenade.adventure.coral_bleacher_sniping.title": "Coral Bleacher Sniping", + "advancements.promenade.adventure.coral_bleacher_sniping.description": "Kill a sunken skeleton using a crossbow underwater", + "advancements.promenade.adventure.coral_reef_savior.title": "Coral Reef Savior", + "advancements.promenade.adventure.coral_reef_savior.description": "Kill all the types of sunken skeleton with one crossbow shot underwater", + "advancements.promenade.adventure.place_all_sakura_blocks.title": "Minka House Foundations", + "advancements.promenade.adventure.place_all_sakura_blocks.description": "Place down all the different sakura wood blocks in a sakura grove", + "advancements.promenade.husbandry.harvest_maple_syrup.title": "Don't Worry, Be Sappy!", + "advancements.promenade.husbandry.harvest_maple_syrup.description": "Strip a natural Maple tree using an Axe to collect Maple Syrup with a Bottle", + "text.autoconfig.promenade.title": "Promenade Configuration", + "text.autoconfig.promenade.category.biomes": "Biomes", + "text.autoconfig.promenade.category.world_features": "World Features", + "text.autoconfig.promenade.category.structures": "Structures", + "text.autoconfig.promenade.category.animals": "Animals", + "text.autoconfig.promenade.category.monsters": "Monsters", + "text.autoconfig.promenade.option.biomes.carnelian_treeway_weight": "Generation weight of Carnelian Treeways", + "text.autoconfig.promenade.option.biomes.sakura_groves_weight": "Generation weight of Sakura Groves", + "text.autoconfig.promenade.option.biomes.glacarian_taiga_weight": "Generation weight of Glacarian Taigas", + "text.autoconfig.promenade.option.biomes.dark_amaranth_forests_weight": "Generation weight of Dark Amaranth Forests", + "text.autoconfig.promenade.option.world_features.igneous_rock_patches": "Generate patches of new igneous rocks", + "text.autoconfig.promenade.option.world_features.igneous_rock_patches.@Tooltip": "Generate patches of Asphalt and Blunite", + "text.autoconfig.promenade.option.world_features.palms": "Generate Palms", + "text.autoconfig.promenade.option.world_features.blueberry_bushes": "Generate Blueberry Bushes", + "text.autoconfig.promenade.option.animals.capybaras_weight": "Spawning weight of Capybaras", + "text.autoconfig.promenade.option.animals.ducks_weight": "Spawning weight of Ducks", + "text.autoconfig.promenade.option.monsters.lush_creepers_weight": "Spawning weight of Lush Creepers", + "text.autoconfig.promenade.option.monsters.sunken_skeletons_weight": "Spawning weight of Sunken Skeletons" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/block.json b/src/main/resources/assets/promenade/models/block/asphalt/block.json index 286df4d3..9a9623f5 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/block.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/block.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/asphalt/block" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/asphalt/block" + } } diff --git a/src/main/resources/assets/promenade/models/block/asphalt/column/center.json b/src/main/resources/assets/promenade/models/block/asphalt/column/center.json deleted file mode 100644 index b9fc6ed0..00000000 --- a/src/main/resources/assets/promenade/models/block/asphalt/column/center.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_center", - "textures": { - "all": "promenade:block/asphalt/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/column/end.json b/src/main/resources/assets/promenade/models/block/asphalt/column/end.json deleted file mode 100644 index 706a40db..00000000 --- a/src/main/resources/assets/promenade/models/block/asphalt/column/end.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_end", - "textures": { - "all": "promenade:block/asphalt/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_block.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_block.json index fa866c07..e1e5e028 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_block.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_block.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/asphalt/polished_block" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/asphalt/polished_block" + } } diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/bottom.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/bottom.json index 08484bfb..b0249180 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/asphalt/polished_block", - "top": "promenade:block/asphalt/polished_block", - "side": "promenade:block/asphalt/polished_block" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/asphalt/polished_block", + "top": "promenade:block/asphalt/polished_block", + "side": "promenade:block/asphalt/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/top.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/top.json index b74cf07c..ac82e24f 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/top.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/asphalt/polished_block", - "top": "promenade:block/asphalt/polished_block", - "side": "promenade:block/asphalt/polished_block" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/asphalt/polished_block", + "top": "promenade:block/asphalt/polished_block", + "side": "promenade:block/asphalt/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/inner.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/inner.json index 329cfb9c..42a928b1 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/asphalt/polished_block", - "top": "promenade:block/asphalt/polished_block", - "side": "promenade:block/asphalt/polished_block" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/asphalt/polished_block", + "top": "promenade:block/asphalt/polished_block", + "side": "promenade:block/asphalt/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/outer.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/outer.json index 4d100b8d..3d06b7dc 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/asphalt/polished_block", - "top": "promenade:block/asphalt/polished_block", - "side": "promenade:block/asphalt/polished_block" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/asphalt/polished_block", + "top": "promenade:block/asphalt/polished_block", + "side": "promenade:block/asphalt/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/straight.json b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/straight.json index 36256cc5..47a45512 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/polished_stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/asphalt/polished_block", - "top": "promenade:block/asphalt/polished_block", - "side": "promenade:block/asphalt/polished_block" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/asphalt/polished_block", + "top": "promenade:block/asphalt/polished_block", + "side": "promenade:block/asphalt/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/slab/bottom.json b/src/main/resources/assets/promenade/models/block/asphalt/slab/bottom.json index ce71bdc4..0a15ff30 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/asphalt/block", - "top": "promenade:block/asphalt/block", - "side": "promenade:block/asphalt/block" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/asphalt/block", + "top": "promenade:block/asphalt/block", + "side": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/slab/top.json b/src/main/resources/assets/promenade/models/block/asphalt/slab/top.json index f6074be3..daf94906 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/asphalt/block", - "top": "promenade:block/asphalt/block", - "side": "promenade:block/asphalt/block" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/asphalt/block", + "top": "promenade:block/asphalt/block", + "side": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/stairs/inner.json b/src/main/resources/assets/promenade/models/block/asphalt/stairs/inner.json index 98f480be..64b204af 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/asphalt/block", - "top": "promenade:block/asphalt/block", - "side": "promenade:block/asphalt/block" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/asphalt/block", + "top": "promenade:block/asphalt/block", + "side": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/stairs/outer.json b/src/main/resources/assets/promenade/models/block/asphalt/stairs/outer.json index c5acee89..ffa5841d 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/asphalt/block", - "top": "promenade:block/asphalt/block", - "side": "promenade:block/asphalt/block" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/asphalt/block", + "top": "promenade:block/asphalt/block", + "side": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/stairs/straight.json b/src/main/resources/assets/promenade/models/block/asphalt/stairs/straight.json index 198eaf8d..5f58ba7e 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/asphalt/block", - "top": "promenade:block/asphalt/block", - "side": "promenade:block/asphalt/block" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/asphalt/block", + "top": "promenade:block/asphalt/block", + "side": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/wall/post.json b/src/main/resources/assets/promenade/models/block/asphalt/wall/post.json index 3dc539a8..897c3685 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/wall/post.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/wall/post.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_post", - "textures": { - "wall": "promenade:block/asphalt/block" - } + "parent": "block/template_wall_post", + "textures": { + "wall": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/wall/side.json b/src/main/resources/assets/promenade/models/block/asphalt/wall/side.json index 72feff22..7c1b5812 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/wall/side.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/wall/side.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_side", - "textures": { - "wall": "promenade:block/asphalt/block" - } + "parent": "block/template_wall_side", + "textures": { + "wall": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/asphalt/wall/side_tall.json b/src/main/resources/assets/promenade/models/block/asphalt/wall/side_tall.json index 344af3d6..68bee599 100644 --- a/src/main/resources/assets/promenade/models/block/asphalt/wall/side_tall.json +++ b/src/main/resources/assets/promenade/models/block/asphalt/wall/side_tall.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_side_tall", - "textures": { - "wall": "promenade:block/asphalt/block" - } + "parent": "block/template_wall_side_tall", + "textures": { + "wall": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/black_dylium/1.json b/src/main/resources/assets/promenade/models/block/black_dylium/1.json index 31a7c783..67abb07d 100644 --- a/src/main/resources/assets/promenade/models/block/black_dylium/1.json +++ b/src/main/resources/assets/promenade/models/block/black_dylium/1.json @@ -1,8 +1,8 @@ { - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "top": "promenade:block/black_dylium/top", - "bottom": "minecraft:block/end_stone", - "side": "promenade:block/black_dylium/side/1" - } + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "promenade:block/black_dylium/top", + "bottom": "minecraft:block/end_stone", + "side": "promenade:block/black_dylium/side/1" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/black_dylium/2.json b/src/main/resources/assets/promenade/models/block/black_dylium/2.json index 003a471f..50cb41c0 100644 --- a/src/main/resources/assets/promenade/models/block/black_dylium/2.json +++ b/src/main/resources/assets/promenade/models/block/black_dylium/2.json @@ -1,8 +1,8 @@ { - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "top": "promenade:block/black_dylium/top", - "bottom": "minecraft:block/end_stone", - "side": "promenade:block/black_dylium/side/2" - } + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "promenade:block/black_dylium/top", + "bottom": "minecraft:block/end_stone", + "side": "promenade:block/black_dylium/side/2" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/black_dylium/3.json b/src/main/resources/assets/promenade/models/block/black_dylium/3.json index b20b68df..5877d37c 100644 --- a/src/main/resources/assets/promenade/models/block/black_dylium/3.json +++ b/src/main/resources/assets/promenade/models/block/black_dylium/3.json @@ -1,8 +1,8 @@ { - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "top": "promenade:block/black_dylium/top", - "bottom": "minecraft:block/end_stone", - "side": "promenade:block/black_dylium/side/3" - } + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "promenade:block/black_dylium/top", + "bottom": "minecraft:block/end_stone", + "side": "promenade:block/black_dylium/side/3" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/black_dylium/4.json b/src/main/resources/assets/promenade/models/block/black_dylium/4.json index 399cc5bf..32278417 100644 --- a/src/main/resources/assets/promenade/models/block/black_dylium/4.json +++ b/src/main/resources/assets/promenade/models/block/black_dylium/4.json @@ -1,8 +1,8 @@ { - "parent": "minecraft:block/cube_bottom_top", - "textures": { - "top": "promenade:block/black_dylium/top", - "bottom": "minecraft:block/end_stone", - "side": "promenade:block/black_dylium/side/4" - } + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "promenade:block/black_dylium/top", + "bottom": "minecraft:block/end_stone", + "side": "promenade:block/black_dylium/side/4" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blueberry_bush/0.json b/src/main/resources/assets/promenade/models/block/blueberry_bush/0.json index b6bfa162..b32a136e 100644 --- a/src/main/resources/assets/promenade/models/block/blueberry_bush/0.json +++ b/src/main/resources/assets/promenade/models/block/blueberry_bush/0.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/blueberry_bush/0" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/blueberry_bush/0" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blueberry_bush/1.json b/src/main/resources/assets/promenade/models/block/blueberry_bush/1.json index 9b0e37ac..7fa3b025 100644 --- a/src/main/resources/assets/promenade/models/block/blueberry_bush/1.json +++ b/src/main/resources/assets/promenade/models/block/blueberry_bush/1.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/blueberry_bush/1" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/blueberry_bush/1" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blueberry_bush/2.json b/src/main/resources/assets/promenade/models/block/blueberry_bush/2.json index 9b530d62..e5fb6d0e 100644 --- a/src/main/resources/assets/promenade/models/block/blueberry_bush/2.json +++ b/src/main/resources/assets/promenade/models/block/blueberry_bush/2.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/blueberry_bush/2" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/blueberry_bush/2" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blueberry_bush/3.json b/src/main/resources/assets/promenade/models/block/blueberry_bush/3.json index 54a12ce1..d7493d8f 100644 --- a/src/main/resources/assets/promenade/models/block/blueberry_bush/3.json +++ b/src/main/resources/assets/promenade/models/block/blueberry_bush/3.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/blueberry_bush/3" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/blueberry_bush/3" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/block.json b/src/main/resources/assets/promenade/models/block/blunite/block.json index 0471956f..c9566975 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/block.json +++ b/src/main/resources/assets/promenade/models/block/blunite/block.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/blunite/block" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/blunite/block" + } } diff --git a/src/main/resources/assets/promenade/models/block/blunite/column/center.json b/src/main/resources/assets/promenade/models/block/blunite/column/center.json deleted file mode 100644 index 42a09b68..00000000 --- a/src/main/resources/assets/promenade/models/block/blunite/column/center.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_center", - "textures": { - "all": "promenade:block/blunite/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/column/end.json b/src/main/resources/assets/promenade/models/block/blunite/column/end.json deleted file mode 100644 index c25d4466..00000000 --- a/src/main/resources/assets/promenade/models/block/blunite/column/end.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_end", - "textures": { - "all": "promenade:block/blunite/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_block.json b/src/main/resources/assets/promenade/models/block/blunite/polished_block.json index 05797c57..fe83f40d 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_block.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_block.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/blunite/polished_block" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/blunite/polished_block" + } } diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_slab/bottom.json b/src/main/resources/assets/promenade/models/block/blunite/polished_slab/bottom.json index b5ef7baa..d8aca8ca 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/blunite/polished_block", - "top": "promenade:block/blunite/polished_block", - "side": "promenade:block/blunite/polished_block" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/blunite/polished_block", + "top": "promenade:block/blunite/polished_block", + "side": "promenade:block/blunite/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_slab/top.json b/src/main/resources/assets/promenade/models/block/blunite/polished_slab/top.json index e30c4795..7ba3aa62 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_slab/top.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/blunite/polished_block", - "top": "promenade:block/blunite/polished_block", - "side": "promenade:block/blunite/polished_block" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/blunite/polished_block", + "top": "promenade:block/blunite/polished_block", + "side": "promenade:block/blunite/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/inner.json b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/inner.json index 75ad697a..5913832f 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/blunite/polished_block", - "top": "promenade:block/blunite/polished_block", - "side": "promenade:block/blunite/polished_block" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/blunite/polished_block", + "top": "promenade:block/blunite/polished_block", + "side": "promenade:block/blunite/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/outer.json b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/outer.json index 3a386846..6f989125 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/blunite/polished_block", - "top": "promenade:block/blunite/polished_block", - "side": "promenade:block/blunite/polished_block" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/blunite/polished_block", + "top": "promenade:block/blunite/polished_block", + "side": "promenade:block/blunite/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/straight.json b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/straight.json index c963c759..6557042a 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/blunite/polished_stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/blunite/polished_block", - "top": "promenade:block/blunite/polished_block", - "side": "promenade:block/blunite/polished_block" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/blunite/polished_block", + "top": "promenade:block/blunite/polished_block", + "side": "promenade:block/blunite/polished_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/slab/bottom.json b/src/main/resources/assets/promenade/models/block/blunite/slab/bottom.json index 9b40eca3..8a45649a 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/blunite/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/blunite/block", - "top": "promenade:block/blunite/block", - "side": "promenade:block/blunite/block" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/blunite/block", + "top": "promenade:block/blunite/block", + "side": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/slab/top.json b/src/main/resources/assets/promenade/models/block/blunite/slab/top.json index 563b139a..683f2f93 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/blunite/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/blunite/block", - "top": "promenade:block/blunite/block", - "side": "promenade:block/blunite/block" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/blunite/block", + "top": "promenade:block/blunite/block", + "side": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/stairs/inner.json b/src/main/resources/assets/promenade/models/block/blunite/stairs/inner.json index 47a5b9b2..00e29383 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/blunite/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/blunite/block", - "top": "promenade:block/blunite/block", - "side": "promenade:block/blunite/block" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/blunite/block", + "top": "promenade:block/blunite/block", + "side": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/stairs/outer.json b/src/main/resources/assets/promenade/models/block/blunite/stairs/outer.json index f7d0d691..3526484c 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/blunite/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/blunite/block", - "top": "promenade:block/blunite/block", - "side": "promenade:block/blunite/block" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/blunite/block", + "top": "promenade:block/blunite/block", + "side": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/stairs/straight.json b/src/main/resources/assets/promenade/models/block/blunite/stairs/straight.json index 652db586..e2e220d0 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/blunite/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/blunite/block", - "top": "promenade:block/blunite/block", - "side": "promenade:block/blunite/block" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/blunite/block", + "top": "promenade:block/blunite/block", + "side": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/wall/post.json b/src/main/resources/assets/promenade/models/block/blunite/wall/post.json index 32bf959d..86911daa 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/wall/post.json +++ b/src/main/resources/assets/promenade/models/block/blunite/wall/post.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_post", - "textures": { - "wall": "promenade:block/blunite/block" - } + "parent": "block/template_wall_post", + "textures": { + "wall": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/wall/side.json b/src/main/resources/assets/promenade/models/block/blunite/wall/side.json index 1d89970a..f6f373d8 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/wall/side.json +++ b/src/main/resources/assets/promenade/models/block/blunite/wall/side.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_side", - "textures": { - "wall": "promenade:block/blunite/block" - } + "parent": "block/template_wall_side", + "textures": { + "wall": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/blunite/wall/side_tall.json b/src/main/resources/assets/promenade/models/block/blunite/wall/side_tall.json index 1a60ff13..bc3cc542 100644 --- a/src/main/resources/assets/promenade/models/block/blunite/wall/side_tall.json +++ b/src/main/resources/assets/promenade/models/block/blunite/wall/side_tall.json @@ -1,6 +1,6 @@ { - "parent": "block/template_wall_side_tall", - "textures": { - "wall": "promenade:block/blunite/block" - } + "parent": "block/template_wall_side_tall", + "textures": { + "wall": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/bottom_snowy_leaves.json b/src/main/resources/assets/promenade/models/block/bottom_snowy_leaves.json index 40209c3d..f3d9e1d5 100644 --- a/src/main/resources/assets/promenade/models/block/bottom_snowy_leaves.json +++ b/src/main/resources/assets/promenade/models/block/bottom_snowy_leaves.json @@ -5,68 +5,134 @@ }, "elements": [ { - "from": [0, 0, 0], - "to": [16, 16, 16], + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], "faces": { "up": { "texture": "#snowy", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "up" }, "down": { "texture": "#normal", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "down", "tintindex": 0 }, "north": { "texture": "#normal", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "north", "tintindex": 0 }, "south": { "texture": "#normal", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "south", "tintindex": 0 }, "west": { "texture": "#normal", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "west", "tintindex": 0 }, "east": { "texture": "#normal", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "east", "tintindex": 0 } } }, { - "from": [0, 0, 0], - "to": [16, 16, 16], + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], "faces": { "north": { "texture": "#side_overlay", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "north" }, "south": { "texture": "#side_overlay", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "south" }, "west": { "texture": "#side_overlay", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "west" }, "east": { "texture": "#side_overlay", - "uv": [0, 0, 16, 16], + "uv": [ + 0, + 0, + 16, + 16 + ], "cullface": "east" } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/button/pressed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/button/pressed.json index 3dc945f3..a3c75947 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/button/pressed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/button/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button_pressed", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/button_pressed", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/button/unpressed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/button/unpressed.json index 74c3d853..883570cc 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/button/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/button/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/button", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/closed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/closed.json index cfd7e1d3..bc4a6828 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/open.json index 8395ed81..e4c9726a 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left_open", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/closed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/closed.json index d8e899e6..978f97b4 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/open.json index 38ee5579..36044efb 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/left/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left_open", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/closed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/closed.json index 209fea35..d0662bba 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/open.json index bbc0b27c..474c2ddb 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right_open", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/closed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/closed.json index 461d9de2..7f9856e2 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/open.json index 11bf7d68..addd100c 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/door/right/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right_open", - "textures": { - "bottom": "promenade:block/dark_amaranth/door/bottom", - "top": "promenade:block/dark_amaranth/door/top" - } + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "promenade:block/dark_amaranth/door/bottom", + "top": "promenade:block/dark_amaranth/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/post.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/post.json index 17581a15..b8294857 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/post.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/post.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_post", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/fence_post", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/side.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/side.json index ced26303..e9daa387 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/side.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence/side.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_side", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/fence_side", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/close.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/close.json index d1df78b5..6b1d11d2 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/close.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/template_fence_gate", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/open.json index 7ece5c10..c9c28f93 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_open", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/template_fence_gate_open", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/close.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/close.json index 6b35bfec..80638c7e 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/close.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/template_fence_gate_wall", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/open.json index 10b9b2e7..c699ce7e 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fence_gate/wall/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall_open", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/template_fence_gate_wall_open", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/fungus.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/fungus.json index 306e265d..c6fc66c3 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/fungus.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/fungus.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/dark_amaranth/fungus" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/dark_amaranth/fungus" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/hyphae.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/hyphae.json index 26eb1e5b..b3b42b5f 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/hyphae.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/hyphae.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/dark_amaranth/stem/side", - "side": "promenade:block/dark_amaranth/stem/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/dark_amaranth/stem/side", + "side": "promenade:block/dark_amaranth/stem/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/planks.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/planks.json index 4544da95..6d4d2eac 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/planks.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/planks.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/dark_amaranth/planks" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/potted_fungus.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/potted_fungus.json index de616afb..38f51267 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/potted_fungus.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/potted_fungus.json @@ -1,6 +1,6 @@ { - "parent": "block/flower_pot_cross", - "textures": { - "plant": "promenade:block/dark_amaranth/fungus" - } + "parent": "block/flower_pot_cross", + "textures": { + "plant": "promenade:block/dark_amaranth/fungus" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/pressed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/pressed.json index 7ae15524..4f0a6830 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/pressed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_down", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/pressure_plate_down", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/unpressed.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/unpressed.json index 3c3220c0..9a3de231 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/pressure_plate/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_up", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/pressure_plate_up", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/roots.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/roots.json index 86a06a02..57676357 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/roots.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/roots.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cross", - "textures": { - "cross": "promenade:block/dark_amaranth/roots" - } + "parent": "minecraft:block/cross", + "textures": { + "cross": "promenade:block/dark_amaranth/roots" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/bottom.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/bottom.json index 95f5193a..1d8fc19d 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/dark_amaranth/planks", - "top": "promenade:block/dark_amaranth/planks", - "side": "promenade:block/dark_amaranth/planks" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/dark_amaranth/planks", + "top": "promenade:block/dark_amaranth/planks", + "side": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/top.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/top.json index f44be5bd..9a2f53ad 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/dark_amaranth/planks", - "top": "promenade:block/dark_amaranth/planks", - "side": "promenade:block/dark_amaranth/planks" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/dark_amaranth/planks", + "top": "promenade:block/dark_amaranth/planks", + "side": "promenade:block/dark_amaranth/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/inner.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/inner.json index ef669470..0a148466 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/dark_amaranth/planks", - "top": "promenade:block/dark_amaranth/planks", - "side": "promenade:block/dark_amaranth/planks" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/dark_amaranth/planks", + "top": "promenade:block/dark_amaranth/planks", + "side": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/outer.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/outer.json index 319c1985..7857ddd0 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/dark_amaranth/planks", - "top": "promenade:block/dark_amaranth/planks", - "side": "promenade:block/dark_amaranth/planks" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/dark_amaranth/planks", + "top": "promenade:block/dark_amaranth/planks", + "side": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/straight.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/straight.json index 920c9e27..41e1df63 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/dark_amaranth/planks", - "top": "promenade:block/dark_amaranth/planks", - "side": "promenade:block/dark_amaranth/planks" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/dark_amaranth/planks", + "top": "promenade:block/dark_amaranth/planks", + "side": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stem.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stem.json index 9899a882..bae11a52 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stem.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stem.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/dark_amaranth/stem/top", - "side": "promenade:block/dark_amaranth/stem/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/dark_amaranth/stem/top", + "side": "promenade:block/dark_amaranth/stem/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_hyphae.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_hyphae.json index 88fbf945..79016589 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_hyphae.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_hyphae.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/dark_amaranth/stripped_stem/side", - "side": "promenade:block/dark_amaranth/stripped_stem/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/dark_amaranth/stripped_stem/side", + "side": "promenade:block/dark_amaranth/stripped_stem/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_stem.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_stem.json index 9fe89b8a..d4a52697 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_stem.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/stripped_stem.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/dark_amaranth/stripped_stem/top", - "side": "promenade:block/dark_amaranth/stripped_stem/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/dark_amaranth/stripped_stem/top", + "side": "promenade:block/dark_amaranth/stripped_stem/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/bottom.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/bottom.json index dd635976..3b19ff35 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/bottom.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/bottom.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_bottom", - "textures": { - "texture": "promenade:block/dark_amaranth/trapdoor" - } + "parent": "block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "promenade:block/dark_amaranth/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/top.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/top.json index 83ab78da..4240bc05 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/top.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/close/top.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_top", - "textures": { - "texture": "promenade:block/dark_amaranth/trapdoor" - } + "parent": "block/template_orientable_trapdoor_top", + "textures": { + "texture": "promenade:block/dark_amaranth/trapdoor" + } } diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/open.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/open.json index 173725f6..d63a5dc6 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/open.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/trapdoor/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_open", - "textures": { - "texture": "promenade:block/dark_amaranth/trapdoor" - } + "parent": "block/template_orientable_trapdoor_open", + "textures": { + "texture": "promenade:block/dark_amaranth/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/dark_amaranth/wart_block.json b/src/main/resources/assets/promenade/models/block/dark_amaranth/wart_block.json index 2c512eb7..a2af7225 100644 --- a/src/main/resources/assets/promenade/models/block/dark_amaranth/wart_block.json +++ b/src/main/resources/assets/promenade/models/block/dark_amaranth/wart_block.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/dark_amaranth/wart_block" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/dark_amaranth/wart_block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/button/pressed.json b/src/main/resources/assets/promenade/models/block/maple/button/pressed.json index 661da22c..f8adf9e3 100644 --- a/src/main/resources/assets/promenade/models/block/maple/button/pressed.json +++ b/src/main/resources/assets/promenade/models/block/maple/button/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button_pressed", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/button_pressed", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/button/unpressed.json b/src/main/resources/assets/promenade/models/block/maple/button/unpressed.json index a438faf1..6aa98890 100644 --- a/src/main/resources/assets/promenade/models/block/maple/button/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/maple/button/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/button", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/door/left/lower/closed.json b/src/main/resources/assets/promenade/models/block/maple/door/left/lower/closed.json index 05b243b3..e003ddda 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/left/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/left/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/left/lower/open.json b/src/main/resources/assets/promenade/models/block/maple/door/left/lower/open.json index 653f8f1d..ae715c65 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/left/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/left/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left_open", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/left/upper/closed.json b/src/main/resources/assets/promenade/models/block/maple/door/left/upper/closed.json index 70356ddf..798534a2 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/left/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/left/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/left/upper/open.json b/src/main/resources/assets/promenade/models/block/maple/door/left/upper/open.json index 19b039a6..d5a62171 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/left/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/left/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left_open", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/right/lower/closed.json b/src/main/resources/assets/promenade/models/block/maple/door/right/lower/closed.json index cfc74815..491b7b95 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/right/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/right/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/right/lower/open.json b/src/main/resources/assets/promenade/models/block/maple/door/right/lower/open.json index 7b7f449d..aac0ed6b 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/right/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/right/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right_open", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/right/upper/closed.json b/src/main/resources/assets/promenade/models/block/maple/door/right/upper/closed.json index 9088cf35..714d63fa 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/right/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/right/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/door/right/upper/open.json b/src/main/resources/assets/promenade/models/block/maple/door/right/upper/open.json index 20b97672..7e671dbd 100644 --- a/src/main/resources/assets/promenade/models/block/maple/door/right/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/door/right/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right_open", - "textures": { - "bottom": "promenade:block/maple/door/bottom", - "top": "promenade:block/maple/door/top" - } + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "promenade:block/maple/door/bottom", + "top": "promenade:block/maple/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/fence/post.json b/src/main/resources/assets/promenade/models/block/maple/fence/post.json index c529aacb..42773cfa 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence/post.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence/post.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/fence_post", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "minecraft:block/fence_post", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/fence/side.json b/src/main/resources/assets/promenade/models/block/maple/fence/side.json index b7f7c6be..bd2d2378 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence/side.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence/side.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/fence_side", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "minecraft:block/fence_side", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/fence_gate/close.json b/src/main/resources/assets/promenade/models/block/maple/fence_gate/close.json index eacd0ab2..2cda1500 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence_gate/close.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence_gate/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/template_fence_gate", + "textures": { + "texture": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/fence_gate/open.json b/src/main/resources/assets/promenade/models/block/maple/fence_gate/open.json index 18ed549f..e2527f65 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence_gate/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence_gate/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_open", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/template_fence_gate_open", + "textures": { + "texture": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/close.json b/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/close.json index 766bb648..381e3ef4 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/close.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/template_fence_gate_wall", + "textures": { + "texture": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/open.json b/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/open.json index cc18a290..3c80b85d 100644 --- a/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/fence_gate/wall/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall_open", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/template_fence_gate_wall_open", + "textures": { + "texture": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/fulvous.json b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/fulvous.json index f71a05e3..795984e6 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/fulvous.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/fulvous.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/maple/leaves/fulvous/mixed" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/maple/leaves/fulvous/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/mikado.json b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/mikado.json index 4f7e6c59..3ca4a7ac 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/mikado.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/mikado.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/maple/leaves/mikado/mixed" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/maple/leaves/mikado/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/sap.json b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/sap.json index 6bbfa8e6..208e46fc 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/sap.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/sap.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/maple/leaves/sap" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/maple/leaves/sap" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/vermilion.json b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/vermilion.json index af4a6dbc..61faa9ef 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaf_pile/vermilion.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaf_pile/vermilion.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/maple/leaves/vermilion/mixed" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/maple/leaves/vermilion/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/mixed.json b/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/mixed.json index 1fd2b54a..a8fca1db 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/mixed.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/mixed.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/fulvous/mixed" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/fulvous/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/regular.json b/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/regular.json index ec34063b..9f19bbed 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/regular.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/fulvous/regular.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/fulvous/regular" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/fulvous/regular" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/mixed.json b/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/mixed.json index 79f8f33b..3912ff1d 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/mixed.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/mixed.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/mikado/mixed" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/mikado/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/regular.json b/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/regular.json index cc77aaf4..45539b8e 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/regular.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/mikado/regular.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/mikado/regular" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/mikado/regular" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/sap.json b/src/main/resources/assets/promenade/models/block/maple/leaves/sap.json index 8adfd48f..c0b48ce1 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/sap.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/sap.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/sap" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/sap" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/mixed.json b/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/mixed.json index c511ae01..7a7c468f 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/mixed.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/mixed.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/vermilion/mixed" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/vermilion/mixed" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/regular.json b/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/regular.json index 5fe68d52..58c98fab 100644 --- a/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/regular.json +++ b/src/main/resources/assets/promenade/models/block/maple/leaves/vermilion/regular.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/maple/leaves/vermilion/regular" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/maple/leaves/vermilion/regular" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/log.json b/src/main/resources/assets/promenade/models/block/maple/log.json index 568fba1a..26be980b 100644 --- a/src/main/resources/assets/promenade/models/block/maple/log.json +++ b/src/main/resources/assets/promenade/models/block/maple/log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/maple/log/top", - "side": "promenade:block/maple/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/maple/log/top", + "side": "promenade:block/maple/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/planks.json b/src/main/resources/assets/promenade/models/block/maple/planks.json index 0497ca7f..84644fc0 100644 --- a/src/main/resources/assets/promenade/models/block/maple/planks.json +++ b/src/main/resources/assets/promenade/models/block/maple/planks.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/maple/planks" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/fulvous.json b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/fulvous.json index 307c2f6b..f7256721 100644 --- a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/fulvous.json +++ b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/fulvous.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "promenade:block/maple/sapling/fulvous" - } + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "promenade:block/maple/sapling/fulvous" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/mikado.json b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/mikado.json index bd99a9ab..581c8b09 100644 --- a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/mikado.json +++ b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/mikado.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "promenade:block/maple/sapling/mikado" - } + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "promenade:block/maple/sapling/mikado" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/sap.json b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/sap.json index 4a2fa84b..f7a0355e 100644 --- a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/sap.json +++ b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/sap.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "promenade:block/maple/sapling/sap" - } + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "promenade:block/maple/sapling/sap" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/vermilion.json b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/vermilion.json index c07cc80e..9800f43c 100644 --- a/src/main/resources/assets/promenade/models/block/maple/potted_sapling/vermilion.json +++ b/src/main/resources/assets/promenade/models/block/maple/potted_sapling/vermilion.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "promenade:block/maple/sapling/vermilion" - } + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "promenade:block/maple/sapling/vermilion" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/pressure_plate/pressed.json b/src/main/resources/assets/promenade/models/block/maple/pressure_plate/pressed.json index f5994af4..808eb462 100644 --- a/src/main/resources/assets/promenade/models/block/maple/pressure_plate/pressed.json +++ b/src/main/resources/assets/promenade/models/block/maple/pressure_plate/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_down", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/pressure_plate_down", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/pressure_plate/unpressed.json b/src/main/resources/assets/promenade/models/block/maple/pressure_plate/unpressed.json index ec3fa1cd..45aba4ff 100644 --- a/src/main/resources/assets/promenade/models/block/maple/pressure_plate/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/maple/pressure_plate/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_up", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/pressure_plate_up", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/sapling/fulvous.json b/src/main/resources/assets/promenade/models/block/maple/sapling/fulvous.json index 9628b54c..85b3dd3b 100644 --- a/src/main/resources/assets/promenade/models/block/maple/sapling/fulvous.json +++ b/src/main/resources/assets/promenade/models/block/maple/sapling/fulvous.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cross", - "textures": { - "cross": "promenade:block/maple/sapling/fulvous" - } + "parent": "minecraft:block/cross", + "textures": { + "cross": "promenade:block/maple/sapling/fulvous" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/sapling/mikado.json b/src/main/resources/assets/promenade/models/block/maple/sapling/mikado.json index 679a7e12..33fbd62c 100644 --- a/src/main/resources/assets/promenade/models/block/maple/sapling/mikado.json +++ b/src/main/resources/assets/promenade/models/block/maple/sapling/mikado.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cross", - "textures": { - "cross": "promenade:block/maple/sapling/mikado" - } + "parent": "minecraft:block/cross", + "textures": { + "cross": "promenade:block/maple/sapling/mikado" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/sapling/sap.json b/src/main/resources/assets/promenade/models/block/maple/sapling/sap.json index fe60fdbe..a448a69c 100644 --- a/src/main/resources/assets/promenade/models/block/maple/sapling/sap.json +++ b/src/main/resources/assets/promenade/models/block/maple/sapling/sap.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cross", - "textures": { - "cross": "promenade:block/maple/sapling/sap" - } + "parent": "minecraft:block/cross", + "textures": { + "cross": "promenade:block/maple/sapling/sap" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/sapling/vermilion.json b/src/main/resources/assets/promenade/models/block/maple/sapling/vermilion.json index e2af086e..bf210d81 100644 --- a/src/main/resources/assets/promenade/models/block/maple/sapling/vermilion.json +++ b/src/main/resources/assets/promenade/models/block/maple/sapling/vermilion.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/cross", - "textures": { - "cross": "promenade:block/maple/sapling/vermilion" - } + "parent": "minecraft:block/cross", + "textures": { + "cross": "promenade:block/maple/sapling/vermilion" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/slab/bottom.json b/src/main/resources/assets/promenade/models/block/maple/slab/bottom.json index c5f42417..53659efc 100644 --- a/src/main/resources/assets/promenade/models/block/maple/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/maple/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/maple/planks", - "top": "promenade:block/maple/planks", - "side": "promenade:block/maple/planks" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/maple/planks", + "top": "promenade:block/maple/planks", + "side": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/slab/top.json b/src/main/resources/assets/promenade/models/block/maple/slab/top.json index 1a59bc83..611f0193 100644 --- a/src/main/resources/assets/promenade/models/block/maple/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/maple/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/maple/planks", - "top": "promenade:block/maple/planks", - "side": "promenade:block/maple/planks" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/maple/planks", + "top": "promenade:block/maple/planks", + "side": "promenade:block/maple/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/stairs/inner.json b/src/main/resources/assets/promenade/models/block/maple/stairs/inner.json index 1979522e..915aa285 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/maple/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/maple/planks", - "top": "promenade:block/maple/planks", - "side": "promenade:block/maple/planks" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/maple/planks", + "top": "promenade:block/maple/planks", + "side": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/stairs/outer.json b/src/main/resources/assets/promenade/models/block/maple/stairs/outer.json index b893d0e5..2c0fa6f7 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/maple/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/maple/planks", - "top": "promenade:block/maple/planks", - "side": "promenade:block/maple/planks" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/maple/planks", + "top": "promenade:block/maple/planks", + "side": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/stairs/straight.json b/src/main/resources/assets/promenade/models/block/maple/stairs/straight.json index 4c2a9212..b2deab77 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/maple/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/maple/planks", - "top": "promenade:block/maple/planks", - "side": "promenade:block/maple/planks" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/maple/planks", + "top": "promenade:block/maple/planks", + "side": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/stripped_log.json b/src/main/resources/assets/promenade/models/block/maple/stripped_log.json index c6f79134..fb12a018 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stripped_log.json +++ b/src/main/resources/assets/promenade/models/block/maple/stripped_log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/maple/stripped_log/top", - "side": "promenade:block/maple/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/maple/stripped_log/top", + "side": "promenade:block/maple/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/stripped_log/drip.json b/src/main/resources/assets/promenade/models/block/maple/stripped_log/drip.json index 9d923e9b..b6d2dd0f 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stripped_log/drip.json +++ b/src/main/resources/assets/promenade/models/block/maple/stripped_log/drip.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/maple/stripped_log/top", - "side": "promenade:block/maple/stripped_log/side/drip" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/maple/stripped_log/top", + "side": "promenade:block/maple/stripped_log/side/drip" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/stripped_wood.json b/src/main/resources/assets/promenade/models/block/maple/stripped_wood.json index b011ce86..f4140b43 100644 --- a/src/main/resources/assets/promenade/models/block/maple/stripped_wood.json +++ b/src/main/resources/assets/promenade/models/block/maple/stripped_wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/maple/stripped_log/side", - "side": "promenade:block/maple/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/maple/stripped_log/side", + "side": "promenade:block/maple/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/bottom.json b/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/bottom.json index dab0859e..d12c3d5c 100644 --- a/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/bottom.json +++ b/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/bottom.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_bottom", - "textures": { - "texture": "promenade:block/maple/trapdoor" - } + "parent": "block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "promenade:block/maple/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/top.json b/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/top.json index d682bc08..60e993f3 100644 --- a/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/top.json +++ b/src/main/resources/assets/promenade/models/block/maple/trapdoor/close/top.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_top", - "textures": { - "texture": "promenade:block/maple/trapdoor" - } + "parent": "block/template_orientable_trapdoor_top", + "textures": { + "texture": "promenade:block/maple/trapdoor" + } } diff --git a/src/main/resources/assets/promenade/models/block/maple/trapdoor/open.json b/src/main/resources/assets/promenade/models/block/maple/trapdoor/open.json index 26d3db21..62c6f66c 100644 --- a/src/main/resources/assets/promenade/models/block/maple/trapdoor/open.json +++ b/src/main/resources/assets/promenade/models/block/maple/trapdoor/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_open", - "textures": { - "texture": "promenade:block/maple/trapdoor" - } + "parent": "block/template_orientable_trapdoor_open", + "textures": { + "texture": "promenade:block/maple/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/maple/wood.json b/src/main/resources/assets/promenade/models/block/maple/wood.json index 6e491bc7..1177ffa5 100644 --- a/src/main/resources/assets/promenade/models/block/maple/wood.json +++ b/src/main/resources/assets/promenade/models/block/maple/wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/maple/log/side", - "side": "promenade:block/maple/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/maple/log/side", + "side": "promenade:block/maple/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/moai.json b/src/main/resources/assets/promenade/models/block/moai.json index b41e717a..913d9c72 100644 --- a/src/main/resources/assets/promenade/models/block/moai.json +++ b/src/main/resources/assets/promenade/models/block/moai.json @@ -7,8 +7,16 @@ }, "elements": [ { - "from": [0, 0, 0], - "to": [16, 16, 16], + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], "faces": { "down": { "texture": "#down", @@ -31,7 +39,12 @@ "cullface": "east" }, "west": { - "uv": [16, 0, 0, 16], + "uv": [ + 16, + 0, + 0, + 16 + ], "texture": "#side", "cullface": "west" } diff --git a/src/main/resources/assets/promenade/models/block/palm/button/pressed.json b/src/main/resources/assets/promenade/models/block/palm/button/pressed.json index 58c45856..f9201cfe 100644 --- a/src/main/resources/assets/promenade/models/block/palm/button/pressed.json +++ b/src/main/resources/assets/promenade/models/block/palm/button/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button_pressed", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/button_pressed", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/button/unpressed.json b/src/main/resources/assets/promenade/models/block/palm/button/unpressed.json index df49cf33..7ff017bf 100644 --- a/src/main/resources/assets/promenade/models/block/palm/button/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/palm/button/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/button", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/door/left/lower/closed.json b/src/main/resources/assets/promenade/models/block/palm/door/left/lower/closed.json index 14050270..79b8cda7 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/left/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/left/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/left/lower/open.json b/src/main/resources/assets/promenade/models/block/palm/door/left/lower/open.json index d7c84f76..15164923 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/left/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/left/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left_open", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/left/upper/closed.json b/src/main/resources/assets/promenade/models/block/palm/door/left/upper/closed.json index 00499445..733a4932 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/left/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/left/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/left/upper/open.json b/src/main/resources/assets/promenade/models/block/palm/door/left/upper/open.json index a4346edc..6defb227 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/left/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/left/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left_open", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/right/lower/closed.json b/src/main/resources/assets/promenade/models/block/palm/door/right/lower/closed.json index 919a66d2..131ba649 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/right/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/right/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/right/lower/open.json b/src/main/resources/assets/promenade/models/block/palm/door/right/lower/open.json index 03f7bf83..12dad7af 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/right/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/right/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right_open", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/right/upper/closed.json b/src/main/resources/assets/promenade/models/block/palm/door/right/upper/closed.json index 66e92870..8f7fc1bd 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/right/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/right/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/door/right/upper/open.json b/src/main/resources/assets/promenade/models/block/palm/door/right/upper/open.json index 9c0a1323..12e24bd2 100644 --- a/src/main/resources/assets/promenade/models/block/palm/door/right/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/door/right/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right_open", - "textures": { - "bottom": "promenade:block/palm/door/bottom", - "top": "promenade:block/palm/door/top" - } + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "promenade:block/palm/door/bottom", + "top": "promenade:block/palm/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/fence/post.json b/src/main/resources/assets/promenade/models/block/palm/fence/post.json index 9917cea1..bf34ec40 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence/post.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence/post.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_post", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/fence_post", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/fence/side.json b/src/main/resources/assets/promenade/models/block/palm/fence/side.json index 0924418f..de8f102d 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence/side.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence/side.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_side", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/fence_side", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/fence_gate/close.json b/src/main/resources/assets/promenade/models/block/palm/fence_gate/close.json index 17d25347..06551134 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence_gate/close.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence_gate/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/template_fence_gate", + "textures": { + "texture": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/fence_gate/open.json b/src/main/resources/assets/promenade/models/block/palm/fence_gate/open.json index e24f881d..775e7c84 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence_gate/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence_gate/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_open", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/template_fence_gate_open", + "textures": { + "texture": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/close.json b/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/close.json index b21d65b1..0564d534 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/close.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/template_fence_gate_wall", + "textures": { + "texture": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/open.json b/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/open.json index b2bd25bc..1f9909e1 100644 --- a/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/fence_gate/wall/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall_open", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/template_fence_gate_wall_open", + "textures": { + "texture": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/leaf_pile.json b/src/main/resources/assets/promenade/models/block/palm/leaf_pile.json index 4ff4c449..ab5c774d 100644 --- a/src/main/resources/assets/promenade/models/block/palm/leaf_pile.json +++ b/src/main/resources/assets/promenade/models/block/palm/leaf_pile.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/palm/leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/palm/leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/leaves.json b/src/main/resources/assets/promenade/models/block/palm/leaves.json index 4b27d73b..67236948 100644 --- a/src/main/resources/assets/promenade/models/block/palm/leaves.json +++ b/src/main/resources/assets/promenade/models/block/palm/leaves.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/palm/leaves" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/palm/leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/log.json b/src/main/resources/assets/promenade/models/block/palm/log.json index 4493bf63..c4b9f2fd 100644 --- a/src/main/resources/assets/promenade/models/block/palm/log.json +++ b/src/main/resources/assets/promenade/models/block/palm/log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/palm/log/top", - "side": "promenade:block/palm/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/palm/log/top", + "side": "promenade:block/palm/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/planks.json b/src/main/resources/assets/promenade/models/block/palm/planks.json index 84a91057..1ddf2cb7 100644 --- a/src/main/resources/assets/promenade/models/block/palm/planks.json +++ b/src/main/resources/assets/promenade/models/block/palm/planks.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/palm/planks" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/potted_sapling.json b/src/main/resources/assets/promenade/models/block/palm/potted_sapling.json index fef87489..eedd561f 100644 --- a/src/main/resources/assets/promenade/models/block/palm/potted_sapling.json +++ b/src/main/resources/assets/promenade/models/block/palm/potted_sapling.json @@ -1,6 +1,6 @@ { - "parent": "block/flower_pot_cross", - "textures": { - "plant": "promenade:block/palm/sapling" - } + "parent": "block/flower_pot_cross", + "textures": { + "plant": "promenade:block/palm/sapling" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/pressure_plate/pressed.json b/src/main/resources/assets/promenade/models/block/palm/pressure_plate/pressed.json index 32b5b36c..450bb60d 100644 --- a/src/main/resources/assets/promenade/models/block/palm/pressure_plate/pressed.json +++ b/src/main/resources/assets/promenade/models/block/palm/pressure_plate/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_down", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/pressure_plate_down", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/pressure_plate/unpressed.json b/src/main/resources/assets/promenade/models/block/palm/pressure_plate/unpressed.json index 279387ac..b1322957 100644 --- a/src/main/resources/assets/promenade/models/block/palm/pressure_plate/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/palm/pressure_plate/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_up", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/pressure_plate_up", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/sapling.json b/src/main/resources/assets/promenade/models/block/palm/sapling.json index a9347e48..bca55f24 100644 --- a/src/main/resources/assets/promenade/models/block/palm/sapling.json +++ b/src/main/resources/assets/promenade/models/block/palm/sapling.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/palm/sapling" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/palm/sapling" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/slab/bottom.json b/src/main/resources/assets/promenade/models/block/palm/slab/bottom.json index 6c8728ee..134b6d1a 100644 --- a/src/main/resources/assets/promenade/models/block/palm/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/palm/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/palm/planks", - "top": "promenade:block/palm/planks", - "side": "promenade:block/palm/planks" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/palm/planks", + "top": "promenade:block/palm/planks", + "side": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/slab/top.json b/src/main/resources/assets/promenade/models/block/palm/slab/top.json index b1ed30af..8938272f 100644 --- a/src/main/resources/assets/promenade/models/block/palm/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/palm/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/palm/planks", - "top": "promenade:block/palm/planks", - "side": "promenade:block/palm/planks" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/palm/planks", + "top": "promenade:block/palm/planks", + "side": "promenade:block/palm/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/stairs/inner.json b/src/main/resources/assets/promenade/models/block/palm/stairs/inner.json index 76d03370..ba4765b1 100644 --- a/src/main/resources/assets/promenade/models/block/palm/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/palm/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/palm/planks", - "top": "promenade:block/palm/planks", - "side": "promenade:block/palm/planks" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/palm/planks", + "top": "promenade:block/palm/planks", + "side": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/stairs/outer.json b/src/main/resources/assets/promenade/models/block/palm/stairs/outer.json index b9d6beca..23ebf1c3 100644 --- a/src/main/resources/assets/promenade/models/block/palm/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/palm/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/palm/planks", - "top": "promenade:block/palm/planks", - "side": "promenade:block/palm/planks" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/palm/planks", + "top": "promenade:block/palm/planks", + "side": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/stairs/straight.json b/src/main/resources/assets/promenade/models/block/palm/stairs/straight.json index aa266029..318b47f3 100644 --- a/src/main/resources/assets/promenade/models/block/palm/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/palm/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/palm/planks", - "top": "promenade:block/palm/planks", - "side": "promenade:block/palm/planks" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/palm/planks", + "top": "promenade:block/palm/planks", + "side": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/stripped_log.json b/src/main/resources/assets/promenade/models/block/palm/stripped_log.json index ef78af63..54ddf539 100644 --- a/src/main/resources/assets/promenade/models/block/palm/stripped_log.json +++ b/src/main/resources/assets/promenade/models/block/palm/stripped_log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/palm/stripped_log/top", - "side": "promenade:block/palm/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/palm/stripped_log/top", + "side": "promenade:block/palm/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/stripped_wood.json b/src/main/resources/assets/promenade/models/block/palm/stripped_wood.json index b3b135e8..09defb4f 100644 --- a/src/main/resources/assets/promenade/models/block/palm/stripped_wood.json +++ b/src/main/resources/assets/promenade/models/block/palm/stripped_wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/palm/stripped_log/side", - "side": "promenade:block/palm/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/palm/stripped_log/side", + "side": "promenade:block/palm/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/bottom.json b/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/bottom.json index 5ab9eb3b..096a2607 100644 --- a/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/bottom.json +++ b/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/bottom.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_bottom", - "textures": { - "texture": "promenade:block/palm/trapdoor" - } + "parent": "block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "promenade:block/palm/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/top.json b/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/top.json index 4ec68840..e7358ad9 100644 --- a/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/top.json +++ b/src/main/resources/assets/promenade/models/block/palm/trapdoor/close/top.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_top", - "textures": { - "texture": "promenade:block/palm/trapdoor" - } + "parent": "block/template_orientable_trapdoor_top", + "textures": { + "texture": "promenade:block/palm/trapdoor" + } } diff --git a/src/main/resources/assets/promenade/models/block/palm/trapdoor/open.json b/src/main/resources/assets/promenade/models/block/palm/trapdoor/open.json index ec615bd3..fec2f8cb 100644 --- a/src/main/resources/assets/promenade/models/block/palm/trapdoor/open.json +++ b/src/main/resources/assets/promenade/models/block/palm/trapdoor/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_open", - "textures": { - "texture": "promenade:block/palm/trapdoor" - } + "parent": "block/template_orientable_trapdoor_open", + "textures": { + "texture": "promenade:block/palm/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/palm/wood.json b/src/main/resources/assets/promenade/models/block/palm/wood.json index 9928efbd..115a10ba 100644 --- a/src/main/resources/assets/promenade/models/block/palm/wood.json +++ b/src/main/resources/assets/promenade/models/block/palm/wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/palm/log/side", - "side": "promenade:block/palm/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/palm/log/side", + "side": "promenade:block/palm/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/pile.json b/src/main/resources/assets/promenade/models/block/pile.json index 0df4b9ac..d9e41a90 100644 --- a/src/main/resources/assets/promenade/models/block/pile.json +++ b/src/main/resources/assets/promenade/models/block/pile.json @@ -1,220 +1,220 @@ { - "parent": "block/thin_block", - "ambientocclusion": false, - "textures": { - "particle": "#pile" - }, - "elements": [ - { - "from": [ - -1, - 3.3, - 0 - ], - "to": [ - 7, - 3.3, - 16 - ], - "shade": false, - "rotation": { - "angle": 22.5, - "axis": "z", - "origin": [ - 8, - 3.3, - 8 - ] - }, - "faces": { - "up": { - "uv": [ - 0, - 0, - 6, - 16 - ], - "texture": "#pile", - "tintindex": 0 - }, - "down": { - "uv": [ - 0, - 0, - 6, - 16 - ], - "texture": "#pile", - "tintindex": 0 - } - } - }, - { - "from": [ - 9, - 3.3, - 0 - ], - "to": [ - 17, - 3.3, - 16 - ], - "shade": false, - "rotation": { - "angle": -22.5, - "axis": "z", - "origin": [ - 8, - 3.3, - 8 - ] - }, - "faces": { - "up": { - "uv": [ - 10, - 0, - 16, - 16 - ], - "texture": "#pile", - "tintindex": 0 - }, - "down": { - "uv": [ - 10, - 0, - 16, - 16 - ], - "texture": "#pile", - "tintindex": 0 - } - } - }, - { - "from": [ - 0, - 3.3, - -1 - ], - "to": [ - 16, - 3.3, - 7 - ], - "shade": false, - "rotation": { - "angle": -22.5, - "axis": "x", - "origin": [ - 8, - 3.3, - 8 - ] - }, - "faces": { - "up": { - "uv": [ - 0, - 0, - 16, - 6 - ], - "texture": "#pile", - "tintindex": 0 - }, - "down": { - "uv": [ - 0, - 0, - 16, - 6 - ], - "texture": "#pile", - "tintindex": 0 - } - } - }, - { - "from": [ - 7, - 2.9, - 7 - ], - "to": [ - 9, - 2.9, - 9 - ], - "shade": false, - "faces": { - "up": { - "uv": [ - 7, - 7, - 9, - 9 - ], - "texture": "#pile", - "tintindex": 0 - }, - "down": { - "uv": [ - 7, - 7, - 9, - 9 - ], - "texture": "#pile", - "tintindex": 0 - } - } - }, - { - "from": [ - 0, - 3.3, - 9 - ], - "to": [ - 16, - 3.3, - 17 - ], - "shade": false, - "rotation": { - "angle": 22.5, - "axis": "x", - "origin": [ - 8, - 3.3, - 8 - ] - }, - "faces": { - "up": { - "uv": [ - 0, - 10, - 16, - 16 - ], - "texture": "#pile", - "tintindex": 0 - }, - "down": { - "uv": [ - 0, - 10, - 16, - 16 - ], - "texture": "#pile", - "tintindex": 0 - } - } - } - ] + "parent": "block/thin_block", + "ambientocclusion": false, + "textures": { + "particle": "#pile" + }, + "elements": [ + { + "from": [ + -1, + 3.3, + 0 + ], + "to": [ + 7, + 3.3, + 16 + ], + "shade": false, + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 8, + 3.3, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 0, + 0, + 6, + 16 + ], + "texture": "#pile", + "tintindex": 0 + }, + "down": { + "uv": [ + 0, + 0, + 6, + 16 + ], + "texture": "#pile", + "tintindex": 0 + } + } + }, + { + "from": [ + 9, + 3.3, + 0 + ], + "to": [ + 17, + 3.3, + 16 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 8, + 3.3, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 10, + 0, + 16, + 16 + ], + "texture": "#pile", + "tintindex": 0 + }, + "down": { + "uv": [ + 10, + 0, + 16, + 16 + ], + "texture": "#pile", + "tintindex": 0 + } + } + }, + { + "from": [ + 0, + 3.3, + -1 + ], + "to": [ + 16, + 3.3, + 7 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 3.3, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 0, + 0, + 16, + 6 + ], + "texture": "#pile", + "tintindex": 0 + }, + "down": { + "uv": [ + 0, + 0, + 16, + 6 + ], + "texture": "#pile", + "tintindex": 0 + } + } + }, + { + "from": [ + 7, + 2.9, + 7 + ], + "to": [ + 9, + 2.9, + 9 + ], + "shade": false, + "faces": { + "up": { + "uv": [ + 7, + 7, + 9, + 9 + ], + "texture": "#pile", + "tintindex": 0 + }, + "down": { + "uv": [ + 7, + 7, + 9, + 9 + ], + "texture": "#pile", + "tintindex": 0 + } + } + }, + { + "from": [ + 0, + 3.3, + 9 + ], + "to": [ + 16, + 3.3, + 17 + ], + "shade": false, + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 3.3, + 8 + ] + }, + "faces": { + "up": { + "uv": [ + 0, + 10, + 16, + 16 + ], + "texture": "#pile", + "tintindex": 0 + }, + "down": { + "uv": [ + 0, + 10, + 16, + 16 + ], + "texture": "#pile", + "tintindex": 0 + } + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/blush.json b/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/blush.json index 03b137ff..42cefaf6 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/blush.json +++ b/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/blush.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/sakura/blossoms/blush" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/sakura/blossoms/blush" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/cotton.json b/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/cotton.json index 053e62dd..b53de83a 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/cotton.json +++ b/src/main/resources/assets/promenade/models/block/sakura/blossom_pile/cotton.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/sakura/blossoms/cotton" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/sakura/blossoms/cotton" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/blossoms/blush.json b/src/main/resources/assets/promenade/models/block/sakura/blossoms/blush.json index 14f1ee56..e184f452 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/blossoms/blush.json +++ b/src/main/resources/assets/promenade/models/block/sakura/blossoms/blush.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/sakura/blossoms/blush" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/sakura/blossoms/blush" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/blossoms/cotton.json b/src/main/resources/assets/promenade/models/block/sakura/blossoms/cotton.json index 73a7879e..ecc21e22 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/blossoms/cotton.json +++ b/src/main/resources/assets/promenade/models/block/sakura/blossoms/cotton.json @@ -1,6 +1,6 @@ { - "parent": "minecraft:block/leaves", - "textures": { - "all": "promenade:block/sakura/blossoms/cotton" - } + "parent": "minecraft:block/leaves", + "textures": { + "all": "promenade:block/sakura/blossoms/cotton" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/button/pressed.json b/src/main/resources/assets/promenade/models/block/sakura/button/pressed.json index 5d81d7d4..7af6db01 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/button/pressed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/button/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button_pressed", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/button_pressed", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/button/unpressed.json b/src/main/resources/assets/promenade/models/block/sakura/button/unpressed.json index 0a02ff6d..b3bb0f6d 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/button/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/button/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/button", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/button", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/closed.json b/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/closed.json index b0ac6f43..7c578be7 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_bottom_left", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/open.json b/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/open.json index ec0ecd1a..5e5da2a3 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/left/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_left_open", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_bottom_left_open", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/closed.json b/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/closed.json index b876aba1..6e59525b 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_top_left", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/open.json b/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/open.json index 3409453e..67708642 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/left/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_left_open", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_top_left_open", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/closed.json b/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/closed.json index be2cb364..a13742be 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/closed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_bottom_right", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/open.json b/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/open.json index b12d5943..84f0eef3 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/right/lower/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_bottom_right_open", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_bottom_right_open", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/closed.json b/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/closed.json index 865d841b..6886f816 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/closed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/closed.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_top_right", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/open.json b/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/open.json index 98f7dfd2..38209823 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/door/right/upper/open.json @@ -1,7 +1,7 @@ { - "parent": "minecraft:block/door_top_right_open", - "textures": { - "bottom": "promenade:block/sakura/door/bottom", - "top": "promenade:block/sakura/door/top" - } + "parent": "minecraft:block/door_top_right_open", + "textures": { + "bottom": "promenade:block/sakura/door/bottom", + "top": "promenade:block/sakura/door/top" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence/post.json b/src/main/resources/assets/promenade/models/block/sakura/fence/post.json index dd7f09bd..ba3c77f4 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence/post.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence/post.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_post", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/fence_post", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence/side.json b/src/main/resources/assets/promenade/models/block/sakura/fence/side.json index f2ad28cb..a5c742dc 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence/side.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence/side.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_side", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/fence_side", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/close.json b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/close.json index 94e65f72..e7ccb89d 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/close.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/template_fence_gate", + "textures": { + "texture": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/open.json b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/open.json index df0d4070..73d9261a 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_open", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/template_fence_gate_open", + "textures": { + "texture": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/close.json b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/close.json index a25523c7..daba0fcf 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/close.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/close.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/template_fence_gate_wall", + "textures": { + "texture": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/open.json b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/open.json index f7685176..110f8cb0 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/fence_gate/wall/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_fence_gate_wall_open", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/template_fence_gate_wall_open", + "textures": { + "texture": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/log.json b/src/main/resources/assets/promenade/models/block/sakura/log.json index 0bc06f1d..473d5263 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/log.json +++ b/src/main/resources/assets/promenade/models/block/sakura/log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/sakura/log/top", - "side": "promenade:block/sakura/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/sakura/log/top", + "side": "promenade:block/sakura/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/planks.json b/src/main/resources/assets/promenade/models/block/sakura/planks.json index 91ff2bba..5cfcbd2e 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/planks.json +++ b/src/main/resources/assets/promenade/models/block/sakura/planks.json @@ -1,6 +1,6 @@ { - "parent": "block/cube_all", - "textures": { - "all": "promenade:block/sakura/planks" - } + "parent": "block/cube_all", + "textures": { + "all": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/blush.json b/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/blush.json index 29ea180f..02d9e0df 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/blush.json +++ b/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/blush.json @@ -1,6 +1,6 @@ { - "parent": "block/flower_pot_cross", - "textures": { - "plant": "promenade:block/sakura/sapling/blush" - } + "parent": "block/flower_pot_cross", + "textures": { + "plant": "promenade:block/sakura/sapling/blush" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/cotton.json b/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/cotton.json index 8f0cf496..03901f69 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/cotton.json +++ b/src/main/resources/assets/promenade/models/block/sakura/potted_sapling/cotton.json @@ -1,6 +1,6 @@ { - "parent": "block/flower_pot_cross", - "textures": { - "plant": "promenade:block/sakura/sapling/cotton" - } + "parent": "block/flower_pot_cross", + "textures": { + "plant": "promenade:block/sakura/sapling/cotton" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/pressed.json b/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/pressed.json index e1cce0a4..ea194b40 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/pressed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/pressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_down", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/pressure_plate_down", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/unpressed.json b/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/unpressed.json index d5513d30..a5a21689 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/unpressed.json +++ b/src/main/resources/assets/promenade/models/block/sakura/pressure_plate/unpressed.json @@ -1,6 +1,6 @@ { - "parent": "block/pressure_plate_up", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/pressure_plate_up", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/sapling/blush.json b/src/main/resources/assets/promenade/models/block/sakura/sapling/blush.json index cad9d516..9d72903e 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/sapling/blush.json +++ b/src/main/resources/assets/promenade/models/block/sakura/sapling/blush.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/sakura/sapling/blush" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/sakura/sapling/blush" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/sapling/cotton.json b/src/main/resources/assets/promenade/models/block/sakura/sapling/cotton.json index 736be1fb..ed1f2778 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/sapling/cotton.json +++ b/src/main/resources/assets/promenade/models/block/sakura/sapling/cotton.json @@ -1,6 +1,6 @@ { - "parent": "block/cross", - "textures": { - "cross": "promenade:block/sakura/sapling/cotton" - } + "parent": "block/cross", + "textures": { + "cross": "promenade:block/sakura/sapling/cotton" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/slab/bottom.json b/src/main/resources/assets/promenade/models/block/sakura/slab/bottom.json index 28f3b30a..a44467f9 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/slab/bottom.json +++ b/src/main/resources/assets/promenade/models/block/sakura/slab/bottom.json @@ -1,8 +1,8 @@ { - "parent": "block/slab", - "textures": { - "bottom": "promenade:block/sakura/planks", - "top": "promenade:block/sakura/planks", - "side": "promenade:block/sakura/planks" - } + "parent": "block/slab", + "textures": { + "bottom": "promenade:block/sakura/planks", + "top": "promenade:block/sakura/planks", + "side": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/slab/top.json b/src/main/resources/assets/promenade/models/block/sakura/slab/top.json index 8cab500f..51d86450 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/slab/top.json +++ b/src/main/resources/assets/promenade/models/block/sakura/slab/top.json @@ -1,8 +1,8 @@ { - "parent": "block/slab_top", - "textures": { - "bottom": "promenade:block/sakura/planks", - "top": "promenade:block/sakura/planks", - "side": "promenade:block/sakura/planks" - } + "parent": "block/slab_top", + "textures": { + "bottom": "promenade:block/sakura/planks", + "top": "promenade:block/sakura/planks", + "side": "promenade:block/sakura/planks" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/stairs/inner.json b/src/main/resources/assets/promenade/models/block/sakura/stairs/inner.json index 2b203263..ce8dfdcb 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/stairs/inner.json +++ b/src/main/resources/assets/promenade/models/block/sakura/stairs/inner.json @@ -1,8 +1,8 @@ { - "parent": "block/inner_stairs", - "textures": { - "bottom": "promenade:block/sakura/planks", - "top": "promenade:block/sakura/planks", - "side": "promenade:block/sakura/planks" - } + "parent": "block/inner_stairs", + "textures": { + "bottom": "promenade:block/sakura/planks", + "top": "promenade:block/sakura/planks", + "side": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/stairs/outer.json b/src/main/resources/assets/promenade/models/block/sakura/stairs/outer.json index 025042aa..30be3efe 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/stairs/outer.json +++ b/src/main/resources/assets/promenade/models/block/sakura/stairs/outer.json @@ -1,8 +1,8 @@ { - "parent": "block/outer_stairs", - "textures": { - "bottom": "promenade:block/sakura/planks", - "top": "promenade:block/sakura/planks", - "side": "promenade:block/sakura/planks" - } + "parent": "block/outer_stairs", + "textures": { + "bottom": "promenade:block/sakura/planks", + "top": "promenade:block/sakura/planks", + "side": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/stairs/straight.json b/src/main/resources/assets/promenade/models/block/sakura/stairs/straight.json index e56bfd2e..69312038 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/stairs/straight.json +++ b/src/main/resources/assets/promenade/models/block/sakura/stairs/straight.json @@ -1,8 +1,8 @@ { - "parent": "block/stairs", - "textures": { - "bottom": "promenade:block/sakura/planks", - "top": "promenade:block/sakura/planks", - "side": "promenade:block/sakura/planks" - } + "parent": "block/stairs", + "textures": { + "bottom": "promenade:block/sakura/planks", + "top": "promenade:block/sakura/planks", + "side": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/stripped_log.json b/src/main/resources/assets/promenade/models/block/sakura/stripped_log.json index 435c0940..5a7f47c0 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/stripped_log.json +++ b/src/main/resources/assets/promenade/models/block/sakura/stripped_log.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/sakura/stripped_log/top", - "side": "promenade:block/sakura/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/sakura/stripped_log/top", + "side": "promenade:block/sakura/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/stripped_wood.json b/src/main/resources/assets/promenade/models/block/sakura/stripped_wood.json index 1c7606ea..ff87626f 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/stripped_wood.json +++ b/src/main/resources/assets/promenade/models/block/sakura/stripped_wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/sakura/stripped_log/side", - "side": "promenade:block/sakura/stripped_log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/sakura/stripped_log/side", + "side": "promenade:block/sakura/stripped_log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/bottom.json b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/bottom.json index 24895791..fcb1796f 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/bottom.json +++ b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/bottom.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_bottom", - "textures": { - "texture": "promenade:block/sakura/trapdoor" - } + "parent": "block/template_orientable_trapdoor_bottom", + "textures": { + "texture": "promenade:block/sakura/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/top.json b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/top.json index 91c02532..cec23297 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/top.json +++ b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/close/top.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_top", - "textures": { - "texture": "promenade:block/sakura/trapdoor" - } + "parent": "block/template_orientable_trapdoor_top", + "textures": { + "texture": "promenade:block/sakura/trapdoor" + } } diff --git a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/open.json b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/open.json index fc691a1f..e6c0b13b 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/trapdoor/open.json +++ b/src/main/resources/assets/promenade/models/block/sakura/trapdoor/open.json @@ -1,6 +1,6 @@ { - "parent": "block/template_orientable_trapdoor_open", - "textures": { - "texture": "promenade:block/sakura/trapdoor" - } + "parent": "block/template_orientable_trapdoor_open", + "textures": { + "texture": "promenade:block/sakura/trapdoor" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/sakura/wood.json b/src/main/resources/assets/promenade/models/block/sakura/wood.json index e663356b..809d4b18 100644 --- a/src/main/resources/assets/promenade/models/block/sakura/wood.json +++ b/src/main/resources/assets/promenade/models/block/sakura/wood.json @@ -1,7 +1,7 @@ { - "parent": "block/cube_column", - "textures": { - "end": "promenade:block/sakura/log/side", - "side": "promenade:block/sakura/log/side" - } + "parent": "block/cube_column", + "textures": { + "end": "promenade:block/sakura/log/side", + "side": "promenade:block/sakura/log/side" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/acacia_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/acacia_leaf.json index cbd73cdd..307d68ea 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/acacia_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/acacia_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/acacia_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/acacia_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/allium.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/allium.json index 37133cf8..75afbff4 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/allium.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/allium.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/allium" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/allium" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/azalea_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/azalea_leaf.json index 35f525ea..1bd93641 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/azalea_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/azalea_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/azalea_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/azalea_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/azure_bluet.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/azure_bluet.json index 4dfefaa4..8c32eb9e 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/azure_bluet.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/azure_bluet.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/azure_bluet" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/azure_bluet" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/birch_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/birch_leaf.json index dc957540..e3fd29d6 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/birch_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/birch_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/birch_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/birch_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/blue_orchid.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/blue_orchid.json index ef7ebcfc..98580af1 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/blue_orchid.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/blue_orchid.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/blue_orchid" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/blue_orchid" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/cornflower.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/cornflower.json index fa60f5ff..f02b0f39 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/cornflower.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/cornflower.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/cornflower" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/cornflower" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/dandelion.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/dandelion.json index 814e5589..e8fb312f 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/dandelion.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/dandelion.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/dandelion" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/dandelion" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/dark_oak_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/dark_oak_leaf.json index 932bd1ad..65383d9b 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/dark_oak_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/dark_oak_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/dark_oak_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/dark_oak_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/flowering_azalea_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/flowering_azalea_leaf.json index c09425f9..3c1e7aaf 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/flowering_azalea_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/flowering_azalea_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/flowering_azalea_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/flowering_azalea_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/jungle_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/jungle_leaf.json index 619ce658..adc03eee 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/jungle_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/jungle_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/jungle_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/jungle_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/lily_of_the_valley.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/lily_of_the_valley.json index bced2b1e..97002a93 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/lily_of_the_valley.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/lily_of_the_valley.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/lily_of_the_valley" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/lily_of_the_valley" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/mangrove_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/mangrove_leaf.json index d9a73cd8..24a01b4c 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/mangrove_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/mangrove_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/mangrove_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/mangrove_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/oak_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/oak_leaf.json index 3447fb83..6cb14894 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/oak_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/oak_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/oak_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/oak_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/orange_tulip.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/orange_tulip.json index d930d6ba..8c5b3a7c 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/orange_tulip.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/orange_tulip.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/orange_tulip" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/orange_tulip" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/oxeye_daisy.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/oxeye_daisy.json index f5e88f67..b767a70f 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/oxeye_daisy.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/oxeye_daisy.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/oxeye_daisy" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/oxeye_daisy" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/pink_tulip.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/pink_tulip.json index d21369e4..69a9acfc 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/pink_tulip.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/pink_tulip.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/pink_tulip" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/pink_tulip" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/poppy.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/poppy.json index a719c57b..6040fdf8 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/poppy.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/poppy.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/poppy" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/poppy" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/red_tulip.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/red_tulip.json index bc4cdd51..718aac89 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/red_tulip.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/red_tulip.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/red_tulip" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/red_tulip" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/spruce_leaf.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/spruce_leaf.json index 1f669cd5..5ea3e903 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/spruce_leaf.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/spruce_leaf.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "minecraft:block/spruce_leaves" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "minecraft:block/spruce_leaves" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/white_tulip.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/white_tulip.json index c2c85ed3..adda95d5 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/white_tulip.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/white_tulip.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/white_tulip" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/white_tulip" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/block/vanilla_piles/wither_rose.json b/src/main/resources/assets/promenade/models/block/vanilla_piles/wither_rose.json index 9e256472..bcc58e6a 100644 --- a/src/main/resources/assets/promenade/models/block/vanilla_piles/wither_rose.json +++ b/src/main/resources/assets/promenade/models/block/vanilla_piles/wither_rose.json @@ -1,6 +1,6 @@ { - "parent": "promenade:block/pile", - "textures": { - "pile": "promenade:block/vanilla_piles/wither_rose" - } + "parent": "promenade:block/pile", + "textures": { + "pile": "promenade:block/vanilla_piles/wither_rose" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/acacia_leaf_pile.json b/src/main/resources/assets/promenade/models/item/acacia_leaf_pile.json index 7d4a3ffa..7dd830c7 100644 --- a/src/main/resources/assets/promenade/models/item/acacia_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/acacia_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/acacia_leaf" + "parent": "promenade:block/vanilla_piles/acacia_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/allium_pile.json b/src/main/resources/assets/promenade/models/item/allium_pile.json index c4d3c0c8..f3748871 100644 --- a/src/main/resources/assets/promenade/models/item/allium_pile.json +++ b/src/main/resources/assets/promenade/models/item/allium_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/allium" + "parent": "promenade:block/vanilla_piles/allium" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/apricot.json b/src/main/resources/assets/promenade/models/item/apricot.json index a4d6ec43..89fa435e 100644 --- a/src/main/resources/assets/promenade/models/item/apricot.json +++ b/src/main/resources/assets/promenade/models/item/apricot.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/apricot" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/apricot" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/asphalt.json b/src/main/resources/assets/promenade/models/item/asphalt.json index 549cd4cc..631ad54a 100644 --- a/src/main/resources/assets/promenade/models/item/asphalt.json +++ b/src/main/resources/assets/promenade/models/item/asphalt.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/block" + "parent": "promenade:block/asphalt/block" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/asphalt_column.json b/src/main/resources/assets/promenade/models/item/asphalt_column.json deleted file mode 100644 index 3d008692..00000000 --- a/src/main/resources/assets/promenade/models/item/asphalt_column.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_inventory", - "textures": { - "all": "promenade:block/asphalt/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/asphalt_slab.json b/src/main/resources/assets/promenade/models/item/asphalt_slab.json index 968f92b9..d489cf5d 100644 --- a/src/main/resources/assets/promenade/models/item/asphalt_slab.json +++ b/src/main/resources/assets/promenade/models/item/asphalt_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/slab/bottom" + "parent": "promenade:block/asphalt/slab/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/asphalt_stairs.json b/src/main/resources/assets/promenade/models/item/asphalt_stairs.json index 0ac2fa97..9bc32274 100644 --- a/src/main/resources/assets/promenade/models/item/asphalt_stairs.json +++ b/src/main/resources/assets/promenade/models/item/asphalt_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/stairs/straight" + "parent": "promenade:block/asphalt/stairs/straight" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/asphalt_wall.json b/src/main/resources/assets/promenade/models/item/asphalt_wall.json index e3736c97..e72c62e2 100644 --- a/src/main/resources/assets/promenade/models/item/asphalt_wall.json +++ b/src/main/resources/assets/promenade/models/item/asphalt_wall.json @@ -1,6 +1,6 @@ { - "parent": "block/wall_inventory", - "textures": { - "wall": "promenade:block/asphalt/block" - } + "parent": "block/wall_inventory", + "textures": { + "wall": "promenade:block/asphalt/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/azalea_leaf_pile.json b/src/main/resources/assets/promenade/models/item/azalea_leaf_pile.json index 3de748d4..f2da54fd 100644 --- a/src/main/resources/assets/promenade/models/item/azalea_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/azalea_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/azalea_leaf" + "parent": "promenade:block/vanilla_piles/azalea_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/azure_bluet_pile.json b/src/main/resources/assets/promenade/models/item/azure_bluet_pile.json index 07bafd4b..56c9e617 100644 --- a/src/main/resources/assets/promenade/models/item/azure_bluet_pile.json +++ b/src/main/resources/assets/promenade/models/item/azure_bluet_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/azure_bluet" + "parent": "promenade:block/vanilla_piles/azure_bluet" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/banana.json b/src/main/resources/assets/promenade/models/item/banana.json index fb147af3..ffcd32c4 100644 --- a/src/main/resources/assets/promenade/models/item/banana.json +++ b/src/main/resources/assets/promenade/models/item/banana.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/banana" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/banana" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/birch_leaf_pile.json b/src/main/resources/assets/promenade/models/item/birch_leaf_pile.json index 51059a05..6b619979 100644 --- a/src/main/resources/assets/promenade/models/item/birch_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/birch_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/birch_leaf" + "parent": "promenade:block/vanilla_piles/birch_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/black_dylium.json b/src/main/resources/assets/promenade/models/item/black_dylium.json index 4205e6fd..8415a7c9 100644 --- a/src/main/resources/assets/promenade/models/item/black_dylium.json +++ b/src/main/resources/assets/promenade/models/item/black_dylium.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/black_dylium/1" + "parent": "promenade:block/black_dylium/1" } diff --git a/src/main/resources/assets/promenade/models/item/blue_orchid_pile.json b/src/main/resources/assets/promenade/models/item/blue_orchid_pile.json index 1600c4cf..2844aa6d 100644 --- a/src/main/resources/assets/promenade/models/item/blue_orchid_pile.json +++ b/src/main/resources/assets/promenade/models/item/blue_orchid_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/blue_orchid" + "parent": "promenade:block/vanilla_piles/blue_orchid" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blueberries.json b/src/main/resources/assets/promenade/models/item/blueberries.json index 44c1c56a..5f4390ca 100644 --- a/src/main/resources/assets/promenade/models/item/blueberries.json +++ b/src/main/resources/assets/promenade/models/item/blueberries.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/blueberries" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/blueberries" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blunite.json b/src/main/resources/assets/promenade/models/item/blunite.json index 513b1b0f..99107156 100644 --- a/src/main/resources/assets/promenade/models/item/blunite.json +++ b/src/main/resources/assets/promenade/models/item/blunite.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/block" + "parent": "promenade:block/blunite/block" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blunite_column.json b/src/main/resources/assets/promenade/models/item/blunite_column.json deleted file mode 100644 index 19719ef5..00000000 --- a/src/main/resources/assets/promenade/models/item/blunite_column.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "columns:block/column_inventory", - "textures": { - "all": "promenade:block/blunite/block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blunite_slab.json b/src/main/resources/assets/promenade/models/item/blunite_slab.json index 3f056184..f891c075 100644 --- a/src/main/resources/assets/promenade/models/item/blunite_slab.json +++ b/src/main/resources/assets/promenade/models/item/blunite_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/slab/bottom" + "parent": "promenade:block/blunite/slab/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blunite_stairs.json b/src/main/resources/assets/promenade/models/item/blunite_stairs.json index 07c2a287..27d2cb80 100644 --- a/src/main/resources/assets/promenade/models/item/blunite_stairs.json +++ b/src/main/resources/assets/promenade/models/item/blunite_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/stairs/straight" + "parent": "promenade:block/blunite/stairs/straight" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blunite_wall.json b/src/main/resources/assets/promenade/models/item/blunite_wall.json index c933600f..83637f5f 100644 --- a/src/main/resources/assets/promenade/models/item/blunite_wall.json +++ b/src/main/resources/assets/promenade/models/item/blunite_wall.json @@ -1,6 +1,6 @@ { - "parent": "block/wall_inventory", - "textures": { - "wall": "promenade:block/blunite/block" - } + "parent": "block/wall_inventory", + "textures": { + "wall": "promenade:block/blunite/block" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blush_sakura_blossom_pile.json b/src/main/resources/assets/promenade/models/item/blush_sakura_blossom_pile.json index 2aa0a991..e1e6c384 100644 --- a/src/main/resources/assets/promenade/models/item/blush_sakura_blossom_pile.json +++ b/src/main/resources/assets/promenade/models/item/blush_sakura_blossom_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/blossom_pile/blush" + "parent": "promenade:block/sakura/blossom_pile/blush" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blush_sakura_blossoms.json b/src/main/resources/assets/promenade/models/item/blush_sakura_blossoms.json index 25270b62..1e63f7d1 100644 --- a/src/main/resources/assets/promenade/models/item/blush_sakura_blossoms.json +++ b/src/main/resources/assets/promenade/models/item/blush_sakura_blossoms.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/blossoms/blush" + "parent": "promenade:block/sakura/blossoms/blush" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/blush_sakura_sapling.json b/src/main/resources/assets/promenade/models/item/blush_sakura_sapling.json index 69dff700..7181ced3 100644 --- a/src/main/resources/assets/promenade/models/item/blush_sakura_sapling.json +++ b/src/main/resources/assets/promenade/models/item/blush_sakura_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/sakura/sapling/blush" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/sakura/sapling/blush" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/cooked_duck.json b/src/main/resources/assets/promenade/models/item/cooked_duck.json index d39fec89..536f3486 100644 --- a/src/main/resources/assets/promenade/models/item/cooked_duck.json +++ b/src/main/resources/assets/promenade/models/item/cooked_duck.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/cooked_duck" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/cooked_duck" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/cornflower_pile.json b/src/main/resources/assets/promenade/models/item/cornflower_pile.json index 74056769..3aacc053 100644 --- a/src/main/resources/assets/promenade/models/item/cornflower_pile.json +++ b/src/main/resources/assets/promenade/models/item/cornflower_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/cornflower" + "parent": "promenade:block/vanilla_piles/cornflower" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/cotton_sakura_blossom_pile.json b/src/main/resources/assets/promenade/models/item/cotton_sakura_blossom_pile.json index 1264e7fc..a53e209c 100644 --- a/src/main/resources/assets/promenade/models/item/cotton_sakura_blossom_pile.json +++ b/src/main/resources/assets/promenade/models/item/cotton_sakura_blossom_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/blossom_pile/cotton" + "parent": "promenade:block/sakura/blossom_pile/cotton" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/cotton_sakura_blossoms.json b/src/main/resources/assets/promenade/models/item/cotton_sakura_blossoms.json index 967e989e..f1bda114 100644 --- a/src/main/resources/assets/promenade/models/item/cotton_sakura_blossoms.json +++ b/src/main/resources/assets/promenade/models/item/cotton_sakura_blossoms.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/blossoms/cotton" + "parent": "promenade:block/sakura/blossoms/cotton" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/cotton_sakura_sapling.json b/src/main/resources/assets/promenade/models/item/cotton_sakura_sapling.json index de89c09a..7c4755bb 100644 --- a/src/main/resources/assets/promenade/models/item/cotton_sakura_sapling.json +++ b/src/main/resources/assets/promenade/models/item/cotton_sakura_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/sakura/sapling/cotton" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/sakura/sapling/cotton" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dandelion_pile.json b/src/main/resources/assets/promenade/models/item/dandelion_pile.json index 7f334af8..f3c2061f 100644 --- a/src/main/resources/assets/promenade/models/item/dandelion_pile.json +++ b/src/main/resources/assets/promenade/models/item/dandelion_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/dandelion" + "parent": "promenade:block/vanilla_piles/dandelion" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_button.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_button.json index f5dbe977..8b5ab619 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_button.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_button.json @@ -1,6 +1,6 @@ { - "parent": "block/button_inventory", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/button_inventory", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_door.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_door.json index 97d4107b..c8570dde 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_door.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_door.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/dark_amaranth/door" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/dark_amaranth/door" + } } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_fence.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_fence.json index bce8432d..150c938c 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_fence.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_fence.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_inventory", - "textures": { - "texture": "promenade:block/dark_amaranth/planks" - } + "parent": "block/fence_inventory", + "textures": { + "texture": "promenade:block/dark_amaranth/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_fence_gate.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_fence_gate.json index f0272fb4..98ce0a79 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_fence_gate.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_fence_gate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/fence_gate/close" + "parent": "promenade:block/dark_amaranth/fence_gate/close" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_fungus.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_fungus.json index 619ae946..ed5359e2 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_fungus.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_fungus.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/dark_amaranth/fungus" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/dark_amaranth/fungus" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_hanging_sign.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_hanging_sign.json index f1657af6..0597de81 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_hanging_sign.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_hanging_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/dark_amaranth/hanging_sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/dark_amaranth/hanging_sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_hyphae.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_hyphae.json index 4fe877b2..14f5ad63 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_hyphae.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_hyphae.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/hyphae" + "parent": "promenade:block/dark_amaranth/hyphae" } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_planks.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_planks.json index 9bac5931..a64db6a0 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_planks.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_planks.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/planks" + "parent": "promenade:block/dark_amaranth/planks" } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_pressure_plate.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_pressure_plate.json index 4a092784..ed88335d 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_pressure_plate.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_pressure_plate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/pressure_plate/unpressed" + "parent": "promenade:block/dark_amaranth/pressure_plate/unpressed" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_roots.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_roots.json index 491e2a6f..df8a23d7 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_roots.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_roots.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/dark_amaranth/roots" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/dark_amaranth/roots" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_sign.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_sign.json index 78cde531..6719b82e 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_sign.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/dark_amaranth/sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/dark_amaranth/sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_slab.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_slab.json index 9a30e6c5..c95ba713 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_slab.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/slab/bottom" + "parent": "promenade:block/dark_amaranth/slab/bottom" } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_stairs.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_stairs.json index 78c291df..d618da15 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_stairs.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/stairs/straight" + "parent": "promenade:block/dark_amaranth/stairs/straight" } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_stem.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_stem.json index cae0ea7d..86f56dbb 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_stem.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_stem.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/stem" + "parent": "promenade:block/dark_amaranth/stem" } diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_trapdoor.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_trapdoor.json index 51d7879f..b3f23e76 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_trapdoor.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_trapdoor.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/trapdoor/close/bottom" + "parent": "promenade:block/dark_amaranth/trapdoor/close/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/dark_amaranth_wart_block.json b/src/main/resources/assets/promenade/models/item/dark_amaranth_wart_block.json index 66a9f101..8a3f2b44 100644 --- a/src/main/resources/assets/promenade/models/item/dark_amaranth_wart_block.json +++ b/src/main/resources/assets/promenade/models/item/dark_amaranth_wart_block.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/wart_block" + "parent": "promenade:block/dark_amaranth/wart_block" } diff --git a/src/main/resources/assets/promenade/models/item/dark_oak_leaf_pile.json b/src/main/resources/assets/promenade/models/item/dark_oak_leaf_pile.json index f8c1e9df..d81c7b93 100644 --- a/src/main/resources/assets/promenade/models/item/dark_oak_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/dark_oak_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/dark_oak_leaf" + "parent": "promenade:block/vanilla_piles/dark_oak_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/duck.json b/src/main/resources/assets/promenade/models/item/duck.json index 41304134..d7aa200e 100644 --- a/src/main/resources/assets/promenade/models/item/duck.json +++ b/src/main/resources/assets/promenade/models/item/duck.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/duck" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/duck" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/duck_spawn_egg.json b/src/main/resources/assets/promenade/models/item/duck_spawn_egg.json index debcb565..fb8b11e6 100644 --- a/src/main/resources/assets/promenade/models/item/duck_spawn_egg.json +++ b/src/main/resources/assets/promenade/models/item/duck_spawn_egg.json @@ -1,3 +1,3 @@ { - "parent": "item/template_spawn_egg" + "parent": "item/template_spawn_egg" } diff --git a/src/main/resources/assets/promenade/models/item/flowering_azalea_leaf_pile.json b/src/main/resources/assets/promenade/models/item/flowering_azalea_leaf_pile.json index e1a0f039..bab757d5 100644 --- a/src/main/resources/assets/promenade/models/item/flowering_azalea_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/flowering_azalea_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/flowering_azalea_leaf" + "parent": "promenade:block/vanilla_piles/flowering_azalea_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/fulvous_carpeted_grass_block.json b/src/main/resources/assets/promenade/models/item/fulvous_carpeted_grass_block.json index 964cfa2a..8cde227e 100644 --- a/src/main/resources/assets/promenade/models/item/fulvous_carpeted_grass_block.json +++ b/src/main/resources/assets/promenade/models/item/fulvous_carpeted_grass_block.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/carpeted_grass_block/fulvous/regular" + "parent": "promenade:block/maple/carpeted_grass_block/fulvous/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/fulvous_maple_leaf_pile.json b/src/main/resources/assets/promenade/models/item/fulvous_maple_leaf_pile.json index eb5f3b25..e3d2c556 100644 --- a/src/main/resources/assets/promenade/models/item/fulvous_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/fulvous_maple_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaf_pile/fulvous" + "parent": "promenade:block/maple/leaf_pile/fulvous" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/fulvous_maple_leaves.json b/src/main/resources/assets/promenade/models/item/fulvous_maple_leaves.json index ad822965..325eae9c 100644 --- a/src/main/resources/assets/promenade/models/item/fulvous_maple_leaves.json +++ b/src/main/resources/assets/promenade/models/item/fulvous_maple_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaves/fulvous/regular" + "parent": "promenade:block/maple/leaves/fulvous/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/fulvous_maple_sapling.json b/src/main/resources/assets/promenade/models/item/fulvous_maple_sapling.json index f793207b..1ff1bcee 100644 --- a/src/main/resources/assets/promenade/models/item/fulvous_maple_sapling.json +++ b/src/main/resources/assets/promenade/models/item/fulvous_maple_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/maple/sapling/fulvous" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/maple/sapling/fulvous" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/jungle_leaf_pile.json b/src/main/resources/assets/promenade/models/item/jungle_leaf_pile.json index 14c1c4c6..14540700 100644 --- a/src/main/resources/assets/promenade/models/item/jungle_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/jungle_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/jungle_leaf" + "parent": "promenade:block/vanilla_piles/jungle_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/lily_of_the_valley_pile.json b/src/main/resources/assets/promenade/models/item/lily_of_the_valley_pile.json index 7e6411f0..217b7f5d 100644 --- a/src/main/resources/assets/promenade/models/item/lily_of_the_valley_pile.json +++ b/src/main/resources/assets/promenade/models/item/lily_of_the_valley_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/lily_of_the_valley" + "parent": "promenade:block/vanilla_piles/lily_of_the_valley" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/lush_creeper_spawn_egg.json b/src/main/resources/assets/promenade/models/item/lush_creeper_spawn_egg.json index debcb565..fb8b11e6 100644 --- a/src/main/resources/assets/promenade/models/item/lush_creeper_spawn_egg.json +++ b/src/main/resources/assets/promenade/models/item/lush_creeper_spawn_egg.json @@ -1,3 +1,3 @@ { - "parent": "item/template_spawn_egg" + "parent": "item/template_spawn_egg" } diff --git a/src/main/resources/assets/promenade/models/item/mango.json b/src/main/resources/assets/promenade/models/item/mango.json index 7eacb160..99bffe7f 100644 --- a/src/main/resources/assets/promenade/models/item/mango.json +++ b/src/main/resources/assets/promenade/models/item/mango.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/mango" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/mango" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/mangrove_leaf_pile.json b/src/main/resources/assets/promenade/models/item/mangrove_leaf_pile.json index 46c8643d..6652f58d 100644 --- a/src/main/resources/assets/promenade/models/item/mangrove_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/mangrove_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/mangrove_leaf" + "parent": "promenade:block/vanilla_piles/mangrove_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_boat.json b/src/main/resources/assets/promenade/models/item/maple_boat.json index b0c4c96e..8fcfa549 100644 --- a/src/main/resources/assets/promenade/models/item/maple_boat.json +++ b/src/main/resources/assets/promenade/models/item/maple_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/maple_button.json b/src/main/resources/assets/promenade/models/item/maple_button.json index 75e90287..2740eed9 100644 --- a/src/main/resources/assets/promenade/models/item/maple_button.json +++ b/src/main/resources/assets/promenade/models/item/maple_button.json @@ -1,6 +1,6 @@ { - "parent": "block/button_inventory", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/button_inventory", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_chest_boat.json b/src/main/resources/assets/promenade/models/item/maple_chest_boat.json index 2c6b3b33..ede11944 100644 --- a/src/main/resources/assets/promenade/models/item/maple_chest_boat.json +++ b/src/main/resources/assets/promenade/models/item/maple_chest_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/chest_boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/chest_boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/maple_door.json b/src/main/resources/assets/promenade/models/item/maple_door.json index 3fbfc0b2..fc9c9a0a 100644 --- a/src/main/resources/assets/promenade/models/item/maple_door.json +++ b/src/main/resources/assets/promenade/models/item/maple_door.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/door" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/door" + } } diff --git a/src/main/resources/assets/promenade/models/item/maple_fence.json b/src/main/resources/assets/promenade/models/item/maple_fence.json index ecd57351..680accdf 100644 --- a/src/main/resources/assets/promenade/models/item/maple_fence.json +++ b/src/main/resources/assets/promenade/models/item/maple_fence.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_inventory", - "textures": { - "texture": "promenade:block/maple/planks" - } + "parent": "block/fence_inventory", + "textures": { + "texture": "promenade:block/maple/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_fence_gate.json b/src/main/resources/assets/promenade/models/item/maple_fence_gate.json index 3987ec80..b55c2b06 100644 --- a/src/main/resources/assets/promenade/models/item/maple_fence_gate.json +++ b/src/main/resources/assets/promenade/models/item/maple_fence_gate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/fence_gate/close" + "parent": "promenade:block/maple/fence_gate/close" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_hanging_sign.json b/src/main/resources/assets/promenade/models/item/maple_hanging_sign.json index 25980857..1d1d83c9 100644 --- a/src/main/resources/assets/promenade/models/item/maple_hanging_sign.json +++ b/src/main/resources/assets/promenade/models/item/maple_hanging_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/hanging_sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/hanging_sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/maple_log.json b/src/main/resources/assets/promenade/models/item/maple_log.json index d5b6396e..20072fd2 100644 --- a/src/main/resources/assets/promenade/models/item/maple_log.json +++ b/src/main/resources/assets/promenade/models/item/maple_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/log" + "parent": "promenade:block/maple/log" } diff --git a/src/main/resources/assets/promenade/models/item/maple_planks.json b/src/main/resources/assets/promenade/models/item/maple_planks.json index 339a504d..2954bd9b 100644 --- a/src/main/resources/assets/promenade/models/item/maple_planks.json +++ b/src/main/resources/assets/promenade/models/item/maple_planks.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/planks" + "parent": "promenade:block/maple/planks" } diff --git a/src/main/resources/assets/promenade/models/item/maple_pressure_plate.json b/src/main/resources/assets/promenade/models/item/maple_pressure_plate.json index 25c01e5f..cf4606ac 100644 --- a/src/main/resources/assets/promenade/models/item/maple_pressure_plate.json +++ b/src/main/resources/assets/promenade/models/item/maple_pressure_plate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/pressure_plate/unpressed" + "parent": "promenade:block/maple/pressure_plate/unpressed" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_sign.json b/src/main/resources/assets/promenade/models/item/maple_sign.json index c313db47..b7b389e6 100644 --- a/src/main/resources/assets/promenade/models/item/maple_sign.json +++ b/src/main/resources/assets/promenade/models/item/maple_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/maple_slab.json b/src/main/resources/assets/promenade/models/item/maple_slab.json index 2dab6c83..f8f353eb 100644 --- a/src/main/resources/assets/promenade/models/item/maple_slab.json +++ b/src/main/resources/assets/promenade/models/item/maple_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/slab/bottom" + "parent": "promenade:block/maple/slab/bottom" } diff --git a/src/main/resources/assets/promenade/models/item/maple_stairs.json b/src/main/resources/assets/promenade/models/item/maple_stairs.json index f57bbb84..19356efb 100644 --- a/src/main/resources/assets/promenade/models/item/maple_stairs.json +++ b/src/main/resources/assets/promenade/models/item/maple_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/stairs/straight" + "parent": "promenade:block/maple/stairs/straight" } diff --git a/src/main/resources/assets/promenade/models/item/maple_syrup_bottle.json b/src/main/resources/assets/promenade/models/item/maple_syrup_bottle.json index f9797a5d..b6c8113c 100644 --- a/src/main/resources/assets/promenade/models/item/maple_syrup_bottle.json +++ b/src/main/resources/assets/promenade/models/item/maple_syrup_bottle.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/maple/syrup_bottle" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/maple/syrup_bottle" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_trapdoor.json b/src/main/resources/assets/promenade/models/item/maple_trapdoor.json index 43bd4e20..2707a6d1 100644 --- a/src/main/resources/assets/promenade/models/item/maple_trapdoor.json +++ b/src/main/resources/assets/promenade/models/item/maple_trapdoor.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/trapdoor/close/bottom" + "parent": "promenade:block/maple/trapdoor/close/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/maple_wood.json b/src/main/resources/assets/promenade/models/item/maple_wood.json index 958df32c..a0c77c1d 100644 --- a/src/main/resources/assets/promenade/models/item/maple_wood.json +++ b/src/main/resources/assets/promenade/models/item/maple_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/wood" + "parent": "promenade:block/maple/wood" } diff --git a/src/main/resources/assets/promenade/models/item/mikado_carpeted_grass_block.json b/src/main/resources/assets/promenade/models/item/mikado_carpeted_grass_block.json index 73fed6e1..dff96797 100644 --- a/src/main/resources/assets/promenade/models/item/mikado_carpeted_grass_block.json +++ b/src/main/resources/assets/promenade/models/item/mikado_carpeted_grass_block.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/carpeted_grass_block/mikado/regular" + "parent": "promenade:block/maple/carpeted_grass_block/mikado/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/mikado_maple_leaf_pile.json b/src/main/resources/assets/promenade/models/item/mikado_maple_leaf_pile.json index 0d52d86f..38ec48f8 100644 --- a/src/main/resources/assets/promenade/models/item/mikado_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/mikado_maple_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaf_pile/mikado" + "parent": "promenade:block/maple/leaf_pile/mikado" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/mikado_maple_leaves.json b/src/main/resources/assets/promenade/models/item/mikado_maple_leaves.json index 4a5378f5..31381c25 100644 --- a/src/main/resources/assets/promenade/models/item/mikado_maple_leaves.json +++ b/src/main/resources/assets/promenade/models/item/mikado_maple_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaves/mikado/regular" + "parent": "promenade:block/maple/leaves/mikado/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/mikado_maple_sapling.json b/src/main/resources/assets/promenade/models/item/mikado_maple_sapling.json index 9225d122..6f281f0e 100644 --- a/src/main/resources/assets/promenade/models/item/mikado_maple_sapling.json +++ b/src/main/resources/assets/promenade/models/item/mikado_maple_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/maple/sapling/mikado" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/maple/sapling/mikado" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/oak_leaf_pile.json b/src/main/resources/assets/promenade/models/item/oak_leaf_pile.json index 3c79dfcd..bd08f407 100644 --- a/src/main/resources/assets/promenade/models/item/oak_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/oak_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/oak_leaf" + "parent": "promenade:block/vanilla_piles/oak_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/orange_tulip_pile.json b/src/main/resources/assets/promenade/models/item/orange_tulip_pile.json index 73969102..fe752f35 100644 --- a/src/main/resources/assets/promenade/models/item/orange_tulip_pile.json +++ b/src/main/resources/assets/promenade/models/item/orange_tulip_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/orange_tulip" + "parent": "promenade:block/vanilla_piles/orange_tulip" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/oxeye_daisy_pile.json b/src/main/resources/assets/promenade/models/item/oxeye_daisy_pile.json index 31ccfaea..1cab3cd9 100644 --- a/src/main/resources/assets/promenade/models/item/oxeye_daisy_pile.json +++ b/src/main/resources/assets/promenade/models/item/oxeye_daisy_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/oxeye_daisy" + "parent": "promenade:block/vanilla_piles/oxeye_daisy" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_boat.json b/src/main/resources/assets/promenade/models/item/palm_boat.json index cdaf28b4..3e72bb87 100644 --- a/src/main/resources/assets/promenade/models/item/palm_boat.json +++ b/src/main/resources/assets/promenade/models/item/palm_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/palm/boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/palm/boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/palm_button.json b/src/main/resources/assets/promenade/models/item/palm_button.json index 94c2b017..71d72cc6 100644 --- a/src/main/resources/assets/promenade/models/item/palm_button.json +++ b/src/main/resources/assets/promenade/models/item/palm_button.json @@ -1,6 +1,6 @@ { - "parent": "block/button_inventory", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/button_inventory", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_chest_boat.json b/src/main/resources/assets/promenade/models/item/palm_chest_boat.json index b38f724d..8b564bc3 100644 --- a/src/main/resources/assets/promenade/models/item/palm_chest_boat.json +++ b/src/main/resources/assets/promenade/models/item/palm_chest_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/palm/chest_boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/palm/chest_boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/palm_door.json b/src/main/resources/assets/promenade/models/item/palm_door.json index 360842b4..905db139 100644 --- a/src/main/resources/assets/promenade/models/item/palm_door.json +++ b/src/main/resources/assets/promenade/models/item/palm_door.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/palm/door" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/palm/door" + } } diff --git a/src/main/resources/assets/promenade/models/item/palm_fence.json b/src/main/resources/assets/promenade/models/item/palm_fence.json index f4fdbd24..ec2f8b35 100644 --- a/src/main/resources/assets/promenade/models/item/palm_fence.json +++ b/src/main/resources/assets/promenade/models/item/palm_fence.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_inventory", - "textures": { - "texture": "promenade:block/palm/planks" - } + "parent": "block/fence_inventory", + "textures": { + "texture": "promenade:block/palm/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_fence_gate.json b/src/main/resources/assets/promenade/models/item/palm_fence_gate.json index e8f9d4df..dbd348b7 100644 --- a/src/main/resources/assets/promenade/models/item/palm_fence_gate.json +++ b/src/main/resources/assets/promenade/models/item/palm_fence_gate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/fence_gate/close" + "parent": "promenade:block/palm/fence_gate/close" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_hanging_sign.json b/src/main/resources/assets/promenade/models/item/palm_hanging_sign.json index d30425f5..4d3aaa20 100644 --- a/src/main/resources/assets/promenade/models/item/palm_hanging_sign.json +++ b/src/main/resources/assets/promenade/models/item/palm_hanging_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/palm/hanging_sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/palm/hanging_sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/palm_leaf_pile.json b/src/main/resources/assets/promenade/models/item/palm_leaf_pile.json index 307f1aa6..53b945e3 100644 --- a/src/main/resources/assets/promenade/models/item/palm_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/palm_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/leaf_pile" + "parent": "promenade:block/palm/leaf_pile" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_leaves.json b/src/main/resources/assets/promenade/models/item/palm_leaves.json index 93a58914..01c018a5 100644 --- a/src/main/resources/assets/promenade/models/item/palm_leaves.json +++ b/src/main/resources/assets/promenade/models/item/palm_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/leaves" + "parent": "promenade:block/palm/leaves" } diff --git a/src/main/resources/assets/promenade/models/item/palm_log.json b/src/main/resources/assets/promenade/models/item/palm_log.json index 8c8a778d..e80b2efb 100644 --- a/src/main/resources/assets/promenade/models/item/palm_log.json +++ b/src/main/resources/assets/promenade/models/item/palm_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/log" + "parent": "promenade:block/palm/log" } diff --git a/src/main/resources/assets/promenade/models/item/palm_planks.json b/src/main/resources/assets/promenade/models/item/palm_planks.json index 865ad836..0d0c8024 100644 --- a/src/main/resources/assets/promenade/models/item/palm_planks.json +++ b/src/main/resources/assets/promenade/models/item/palm_planks.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/planks" + "parent": "promenade:block/palm/planks" } diff --git a/src/main/resources/assets/promenade/models/item/palm_pressure_plate.json b/src/main/resources/assets/promenade/models/item/palm_pressure_plate.json index fa62da65..e2b4a951 100644 --- a/src/main/resources/assets/promenade/models/item/palm_pressure_plate.json +++ b/src/main/resources/assets/promenade/models/item/palm_pressure_plate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/pressure_plate/unpressed" + "parent": "promenade:block/palm/pressure_plate/unpressed" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_sapling.json b/src/main/resources/assets/promenade/models/item/palm_sapling.json index 2862c949..26fa5818 100644 --- a/src/main/resources/assets/promenade/models/item/palm_sapling.json +++ b/src/main/resources/assets/promenade/models/item/palm_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/palm/sapling" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/palm/sapling" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_sign.json b/src/main/resources/assets/promenade/models/item/palm_sign.json index 85caa39c..1a7c3ca8 100644 --- a/src/main/resources/assets/promenade/models/item/palm_sign.json +++ b/src/main/resources/assets/promenade/models/item/palm_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/palm/sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/palm/sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/palm_slab.json b/src/main/resources/assets/promenade/models/item/palm_slab.json index 7dd4ce66..a5502506 100644 --- a/src/main/resources/assets/promenade/models/item/palm_slab.json +++ b/src/main/resources/assets/promenade/models/item/palm_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/slab/bottom" + "parent": "promenade:block/palm/slab/bottom" } diff --git a/src/main/resources/assets/promenade/models/item/palm_stairs.json b/src/main/resources/assets/promenade/models/item/palm_stairs.json index fb71c67e..85d06432 100644 --- a/src/main/resources/assets/promenade/models/item/palm_stairs.json +++ b/src/main/resources/assets/promenade/models/item/palm_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/stairs/straight" + "parent": "promenade:block/palm/stairs/straight" } diff --git a/src/main/resources/assets/promenade/models/item/palm_trapdoor.json b/src/main/resources/assets/promenade/models/item/palm_trapdoor.json index b4e93c58..88500eba 100644 --- a/src/main/resources/assets/promenade/models/item/palm_trapdoor.json +++ b/src/main/resources/assets/promenade/models/item/palm_trapdoor.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/trapdoor/close/bottom" + "parent": "promenade:block/palm/trapdoor/close/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/palm_wood.json b/src/main/resources/assets/promenade/models/item/palm_wood.json index 9cbafe55..205dcb0e 100644 --- a/src/main/resources/assets/promenade/models/item/palm_wood.json +++ b/src/main/resources/assets/promenade/models/item/palm_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/wood" + "parent": "promenade:block/palm/wood" } diff --git a/src/main/resources/assets/promenade/models/item/pink_tulip_pile.json b/src/main/resources/assets/promenade/models/item/pink_tulip_pile.json index 711d27c9..4dbdfb38 100644 --- a/src/main/resources/assets/promenade/models/item/pink_tulip_pile.json +++ b/src/main/resources/assets/promenade/models/item/pink_tulip_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/pink_tulip" + "parent": "promenade:block/vanilla_piles/pink_tulip" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_asphalt.json b/src/main/resources/assets/promenade/models/item/polished_asphalt.json index 5d943f30..5c427f8c 100644 --- a/src/main/resources/assets/promenade/models/item/polished_asphalt.json +++ b/src/main/resources/assets/promenade/models/item/polished_asphalt.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/polished_block" + "parent": "promenade:block/asphalt/polished_block" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_asphalt_slab.json b/src/main/resources/assets/promenade/models/item/polished_asphalt_slab.json index 1da948c5..d834f333 100644 --- a/src/main/resources/assets/promenade/models/item/polished_asphalt_slab.json +++ b/src/main/resources/assets/promenade/models/item/polished_asphalt_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/polished_slab/bottom" + "parent": "promenade:block/asphalt/polished_slab/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_asphalt_stairs.json b/src/main/resources/assets/promenade/models/item/polished_asphalt_stairs.json index 5cec84b5..0162da5c 100644 --- a/src/main/resources/assets/promenade/models/item/polished_asphalt_stairs.json +++ b/src/main/resources/assets/promenade/models/item/polished_asphalt_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/asphalt/polished_stairs/straight" + "parent": "promenade:block/asphalt/polished_stairs/straight" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_blunite.json b/src/main/resources/assets/promenade/models/item/polished_blunite.json index fb811769..c9c3faee 100644 --- a/src/main/resources/assets/promenade/models/item/polished_blunite.json +++ b/src/main/resources/assets/promenade/models/item/polished_blunite.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/polished_block" + "parent": "promenade:block/blunite/polished_block" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_blunite_slab.json b/src/main/resources/assets/promenade/models/item/polished_blunite_slab.json index 0d66efba..4e886ab4 100644 --- a/src/main/resources/assets/promenade/models/item/polished_blunite_slab.json +++ b/src/main/resources/assets/promenade/models/item/polished_blunite_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/polished_slab/bottom" + "parent": "promenade:block/blunite/polished_slab/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/polished_blunite_stairs.json b/src/main/resources/assets/promenade/models/item/polished_blunite_stairs.json index c56c913b..974ebf13 100644 --- a/src/main/resources/assets/promenade/models/item/polished_blunite_stairs.json +++ b/src/main/resources/assets/promenade/models/item/polished_blunite_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/blunite/polished_stairs/straight" + "parent": "promenade:block/blunite/polished_stairs/straight" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/poppy_pile.json b/src/main/resources/assets/promenade/models/item/poppy_pile.json index 84a75971..d21bf9ba 100644 --- a/src/main/resources/assets/promenade/models/item/poppy_pile.json +++ b/src/main/resources/assets/promenade/models/item/poppy_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/poppy" + "parent": "promenade:block/vanilla_piles/poppy" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/red_tulip_pile.json b/src/main/resources/assets/promenade/models/item/red_tulip_pile.json index d7fe35be..acd10fa7 100644 --- a/src/main/resources/assets/promenade/models/item/red_tulip_pile.json +++ b/src/main/resources/assets/promenade/models/item/red_tulip_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/red_tulip" + "parent": "promenade:block/vanilla_piles/red_tulip" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_boat.json b/src/main/resources/assets/promenade/models/item/sakura_boat.json index 8586e038..9f378813 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_boat.json +++ b/src/main/resources/assets/promenade/models/item/sakura_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/sakura/boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/sakura/boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/sakura_button.json b/src/main/resources/assets/promenade/models/item/sakura_button.json index 9b2b314a..18e1a6d9 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_button.json +++ b/src/main/resources/assets/promenade/models/item/sakura_button.json @@ -1,6 +1,6 @@ { - "parent": "block/button_inventory", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/button_inventory", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_chest_boat.json b/src/main/resources/assets/promenade/models/item/sakura_chest_boat.json index 41a02ac6..f8c124a5 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_chest_boat.json +++ b/src/main/resources/assets/promenade/models/item/sakura_chest_boat.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/sakura/chest_boat" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/sakura/chest_boat" + } } diff --git a/src/main/resources/assets/promenade/models/item/sakura_door.json b/src/main/resources/assets/promenade/models/item/sakura_door.json index 0a4a96b7..b5701d5d 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_door.json +++ b/src/main/resources/assets/promenade/models/item/sakura_door.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/sakura/door" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/sakura/door" + } } diff --git a/src/main/resources/assets/promenade/models/item/sakura_fence.json b/src/main/resources/assets/promenade/models/item/sakura_fence.json index 359c5213..e3892997 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_fence.json +++ b/src/main/resources/assets/promenade/models/item/sakura_fence.json @@ -1,6 +1,6 @@ { - "parent": "block/fence_inventory", - "textures": { - "texture": "promenade:block/sakura/planks" - } + "parent": "block/fence_inventory", + "textures": { + "texture": "promenade:block/sakura/planks" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_fence_gate.json b/src/main/resources/assets/promenade/models/item/sakura_fence_gate.json index 1085c702..0d3d2373 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_fence_gate.json +++ b/src/main/resources/assets/promenade/models/item/sakura_fence_gate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/fence_gate/close" + "parent": "promenade:block/sakura/fence_gate/close" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_hanging_sign.json b/src/main/resources/assets/promenade/models/item/sakura_hanging_sign.json index af8d7014..44faf9d9 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_hanging_sign.json +++ b/src/main/resources/assets/promenade/models/item/sakura_hanging_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/sakura/hanging_sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/sakura/hanging_sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/sakura_log.json b/src/main/resources/assets/promenade/models/item/sakura_log.json index b650fc87..a3349250 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_log.json +++ b/src/main/resources/assets/promenade/models/item/sakura_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/log" + "parent": "promenade:block/sakura/log" } diff --git a/src/main/resources/assets/promenade/models/item/sakura_planks.json b/src/main/resources/assets/promenade/models/item/sakura_planks.json index d4202c0e..4362bf3a 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_planks.json +++ b/src/main/resources/assets/promenade/models/item/sakura_planks.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/planks" + "parent": "promenade:block/sakura/planks" } diff --git a/src/main/resources/assets/promenade/models/item/sakura_pressure_plate.json b/src/main/resources/assets/promenade/models/item/sakura_pressure_plate.json index 8cbe1fe2..9b3b2302 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_pressure_plate.json +++ b/src/main/resources/assets/promenade/models/item/sakura_pressure_plate.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/pressure_plate/unpressed" + "parent": "promenade:block/sakura/pressure_plate/unpressed" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_sign.json b/src/main/resources/assets/promenade/models/item/sakura_sign.json index 89e1f82f..00091e43 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_sign.json +++ b/src/main/resources/assets/promenade/models/item/sakura_sign.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:item/sakura/sign" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:item/sakura/sign" + } } diff --git a/src/main/resources/assets/promenade/models/item/sakura_slab.json b/src/main/resources/assets/promenade/models/item/sakura_slab.json index df2c22b6..db418e89 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_slab.json +++ b/src/main/resources/assets/promenade/models/item/sakura_slab.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/slab/bottom" + "parent": "promenade:block/sakura/slab/bottom" } diff --git a/src/main/resources/assets/promenade/models/item/sakura_stairs.json b/src/main/resources/assets/promenade/models/item/sakura_stairs.json index 28bf30eb..f2dfa40f 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_stairs.json +++ b/src/main/resources/assets/promenade/models/item/sakura_stairs.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/stairs/straight" + "parent": "promenade:block/sakura/stairs/straight" } diff --git a/src/main/resources/assets/promenade/models/item/sakura_trapdoor.json b/src/main/resources/assets/promenade/models/item/sakura_trapdoor.json index 99cb7dfb..7965f3af 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_trapdoor.json +++ b/src/main/resources/assets/promenade/models/item/sakura_trapdoor.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/trapdoor/close/bottom" + "parent": "promenade:block/sakura/trapdoor/close/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sakura_wood.json b/src/main/resources/assets/promenade/models/item/sakura_wood.json index e800df73..a54134c1 100644 --- a/src/main/resources/assets/promenade/models/item/sakura_wood.json +++ b/src/main/resources/assets/promenade/models/item/sakura_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/wood" + "parent": "promenade:block/sakura/wood" } diff --git a/src/main/resources/assets/promenade/models/item/sap_maple_leaf_pile.json b/src/main/resources/assets/promenade/models/item/sap_maple_leaf_pile.json index 30a1e5c8..21a4602a 100644 --- a/src/main/resources/assets/promenade/models/item/sap_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/sap_maple_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaf_pile/sap" + "parent": "promenade:block/maple/leaf_pile/sap" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sap_maple_leaves.json b/src/main/resources/assets/promenade/models/item/sap_maple_leaves.json index 562f2177..eb05e9fa 100644 --- a/src/main/resources/assets/promenade/models/item/sap_maple_leaves.json +++ b/src/main/resources/assets/promenade/models/item/sap_maple_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaves/sap" + "parent": "promenade:block/maple/leaves/sap" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/sap_maple_sapling.json b/src/main/resources/assets/promenade/models/item/sap_maple_sapling.json index c7be30ed..e7879d45 100644 --- a/src/main/resources/assets/promenade/models/item/sap_maple_sapling.json +++ b/src/main/resources/assets/promenade/models/item/sap_maple_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/maple/sapling/sap" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/maple/sapling/sap" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/snowy_spruce_leaves.json b/src/main/resources/assets/promenade/models/item/snowy_spruce_leaves.json index 4c865e8d..aa351697 100644 --- a/src/main/resources/assets/promenade/models/item/snowy_spruce_leaves.json +++ b/src/main/resources/assets/promenade/models/item/snowy_spruce_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_snowy_leaves/spruce/bottom" + "parent": "promenade:block/vanilla_snowy_leaves/spruce/bottom" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/spruce_leaf_pile.json b/src/main/resources/assets/promenade/models/item/spruce_leaf_pile.json index c5ce5a91..e513a37f 100644 --- a/src/main/resources/assets/promenade/models/item/spruce_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/spruce_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/spruce_leaf" + "parent": "promenade:block/vanilla_piles/spruce_leaf" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_hyphae.json b/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_hyphae.json index cab6d3f6..beb599b2 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_hyphae.json +++ b/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_hyphae.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/stripped_hyphae" + "parent": "promenade:block/dark_amaranth/stripped_hyphae" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_stem.json b/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_stem.json index 19f21330..4710feb5 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_stem.json +++ b/src/main/resources/assets/promenade/models/item/stripped_dark_amaranth_stem.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/dark_amaranth/stripped_stem" + "parent": "promenade:block/dark_amaranth/stripped_stem" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_maple_log.json b/src/main/resources/assets/promenade/models/item/stripped_maple_log.json index 2853d9e5..9abea251 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_maple_log.json +++ b/src/main/resources/assets/promenade/models/item/stripped_maple_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/stripped_log" + "parent": "promenade:block/maple/stripped_log" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_maple_wood.json b/src/main/resources/assets/promenade/models/item/stripped_maple_wood.json index 48457abd..ea3b9726 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_maple_wood.json +++ b/src/main/resources/assets/promenade/models/item/stripped_maple_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/stripped_wood" + "parent": "promenade:block/maple/stripped_wood" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_palm_log.json b/src/main/resources/assets/promenade/models/item/stripped_palm_log.json index 7dc459b5..1ecb6e4b 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_palm_log.json +++ b/src/main/resources/assets/promenade/models/item/stripped_palm_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/stripped_log" + "parent": "promenade:block/palm/stripped_log" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_palm_wood.json b/src/main/resources/assets/promenade/models/item/stripped_palm_wood.json index bfd694e7..c6f96196 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_palm_wood.json +++ b/src/main/resources/assets/promenade/models/item/stripped_palm_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/palm/stripped_wood" + "parent": "promenade:block/palm/stripped_wood" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_sakura_log.json b/src/main/resources/assets/promenade/models/item/stripped_sakura_log.json index 21c9c9f2..650d16aa 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_sakura_log.json +++ b/src/main/resources/assets/promenade/models/item/stripped_sakura_log.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/stripped_log" + "parent": "promenade:block/sakura/stripped_log" } diff --git a/src/main/resources/assets/promenade/models/item/stripped_sakura_wood.json b/src/main/resources/assets/promenade/models/item/stripped_sakura_wood.json index 4bedfa45..3dc4bb47 100644 --- a/src/main/resources/assets/promenade/models/item/stripped_sakura_wood.json +++ b/src/main/resources/assets/promenade/models/item/stripped_sakura_wood.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/sakura/stripped_wood" + "parent": "promenade:block/sakura/stripped_wood" } diff --git a/src/main/resources/assets/promenade/models/item/sunken_skeleton_spawn_egg.json b/src/main/resources/assets/promenade/models/item/sunken_skeleton_spawn_egg.json index debcb565..fb8b11e6 100644 --- a/src/main/resources/assets/promenade/models/item/sunken_skeleton_spawn_egg.json +++ b/src/main/resources/assets/promenade/models/item/sunken_skeleton_spawn_egg.json @@ -1,3 +1,3 @@ { - "parent": "item/template_spawn_egg" + "parent": "item/template_spawn_egg" } diff --git a/src/main/resources/assets/promenade/models/item/vermilion_carpeted_grass_block.json b/src/main/resources/assets/promenade/models/item/vermilion_carpeted_grass_block.json index 4d3b5e60..e7cec433 100644 --- a/src/main/resources/assets/promenade/models/item/vermilion_carpeted_grass_block.json +++ b/src/main/resources/assets/promenade/models/item/vermilion_carpeted_grass_block.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/carpeted_grass_block/vermilion/regular" + "parent": "promenade:block/maple/carpeted_grass_block/vermilion/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/vermilion_maple_leaf_pile.json b/src/main/resources/assets/promenade/models/item/vermilion_maple_leaf_pile.json index 08a32be6..1c44c6a9 100644 --- a/src/main/resources/assets/promenade/models/item/vermilion_maple_leaf_pile.json +++ b/src/main/resources/assets/promenade/models/item/vermilion_maple_leaf_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaf_pile/vermilion" + "parent": "promenade:block/maple/leaf_pile/vermilion" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/vermilion_maple_leaves.json b/src/main/resources/assets/promenade/models/item/vermilion_maple_leaves.json index 34957195..de078519 100644 --- a/src/main/resources/assets/promenade/models/item/vermilion_maple_leaves.json +++ b/src/main/resources/assets/promenade/models/item/vermilion_maple_leaves.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/maple/leaves/vermilion/regular" + "parent": "promenade:block/maple/leaves/vermilion/regular" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/vermilion_maple_sapling.json b/src/main/resources/assets/promenade/models/item/vermilion_maple_sapling.json index 776a7928..af03360d 100644 --- a/src/main/resources/assets/promenade/models/item/vermilion_maple_sapling.json +++ b/src/main/resources/assets/promenade/models/item/vermilion_maple_sapling.json @@ -1,6 +1,6 @@ { - "parent": "item/generated", - "textures": { - "layer0": "promenade:block/maple/sapling/vermilion" - } + "parent": "item/generated", + "textures": { + "layer0": "promenade:block/maple/sapling/vermilion" + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/white_tulip_pile.json b/src/main/resources/assets/promenade/models/item/white_tulip_pile.json index a60dc8bb..1f8f9c13 100644 --- a/src/main/resources/assets/promenade/models/item/white_tulip_pile.json +++ b/src/main/resources/assets/promenade/models/item/white_tulip_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/white_tulip" + "parent": "promenade:block/vanilla_piles/white_tulip" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/models/item/wither_rose_pile.json b/src/main/resources/assets/promenade/models/item/wither_rose_pile.json index f93333d1..baeb0c12 100644 --- a/src/main/resources/assets/promenade/models/item/wither_rose_pile.json +++ b/src/main/resources/assets/promenade/models/item/wither_rose_pile.json @@ -1,3 +1,3 @@ { - "parent": "promenade:block/vanilla_piles/wither_rose" + "parent": "promenade:block/vanilla_piles/wither_rose" } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/particles/blush_sakura_blossom.json b/src/main/resources/assets/promenade/particles/blush_sakura_blossom.json index e3cc84f3..e8f4db0c 100644 --- a/src/main/resources/assets/promenade/particles/blush_sakura_blossom.json +++ b/src/main/resources/assets/promenade/particles/blush_sakura_blossom.json @@ -1,6 +1,6 @@ { - "textures": [ - "promenade:sakura_blossom/blush/1", - "promenade:sakura_blossom/blush/2" - ] + "textures": [ + "promenade:sakura_blossom/blush/1", + "promenade:sakura_blossom/blush/2" + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/particles/cotton_sakura_blossom.json b/src/main/resources/assets/promenade/particles/cotton_sakura_blossom.json index 537e123e..0e6056fc 100644 --- a/src/main/resources/assets/promenade/particles/cotton_sakura_blossom.json +++ b/src/main/resources/assets/promenade/particles/cotton_sakura_blossom.json @@ -1,6 +1,6 @@ { - "textures": [ - "promenade:sakura_blossom/cotton/1", - "promenade:sakura_blossom/cotton/2" - ] + "textures": [ + "promenade:sakura_blossom/cotton/1", + "promenade:sakura_blossom/cotton/2" + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/particles/fulvous_maple_leaf.json b/src/main/resources/assets/promenade/particles/fulvous_maple_leaf.json index be051488..57dab658 100644 --- a/src/main/resources/assets/promenade/particles/fulvous_maple_leaf.json +++ b/src/main/resources/assets/promenade/particles/fulvous_maple_leaf.json @@ -1,5 +1,5 @@ { - "textures": [ - "promenade:maple_leaf/fulvous" - ] + "textures": [ + "promenade:maple_leaf/fulvous" + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/particles/mikado_maple_leaf.json b/src/main/resources/assets/promenade/particles/mikado_maple_leaf.json index c67ba768..f3f63452 100644 --- a/src/main/resources/assets/promenade/particles/mikado_maple_leaf.json +++ b/src/main/resources/assets/promenade/particles/mikado_maple_leaf.json @@ -1,5 +1,5 @@ { - "textures": [ - "promenade:maple_leaf/mikado" - ] + "textures": [ + "promenade:maple_leaf/mikado" + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/particles/vermilion_maple_leaf.json b/src/main/resources/assets/promenade/particles/vermilion_maple_leaf.json index e48d339d..95b57f04 100644 --- a/src/main/resources/assets/promenade/particles/vermilion_maple_leaf.json +++ b/src/main/resources/assets/promenade/particles/vermilion_maple_leaf.json @@ -1,5 +1,5 @@ { - "textures": [ - "promenade:maple_leaf/vermilion" - ] + "textures": [ + "promenade:maple_leaf/vermilion" + ] } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/sounds.json b/src/main/resources/assets/promenade/sounds.json index bb320415..7d39cbc5 100644 --- a/src/main/resources/assets/promenade/sounds.json +++ b/src/main/resources/assets/promenade/sounds.json @@ -1,253 +1,192 @@ { - "block.snowy_leaves.break": { - "subtitle": "subtitles.block.generic.break", - "sounds": [ - "promenade:block/snowy_leaves/break/1", - "promenade:block/snowy_leaves/break/2", - "promenade:block/snowy_leaves/break/3", - "promenade:block/snowy_leaves/break/4" - ] - }, - "block.snowy_leaves.fall": { - "sounds": [ - "promenade:block/snowy_leaves/hit/1", - "promenade:block/snowy_leaves/hit/2", - "promenade:block/snowy_leaves/hit/3", - "promenade:block/snowy_leaves/hit/4", - "promenade:block/snowy_leaves/hit/5", - "promenade:block/snowy_leaves/hit/6" - ] - }, - "block.snowy_leaves.hit": { - "subtitle": "subtitles.block.generic.hit", - "sounds": [ - "promenade:block/snowy_leaves/hit/1", - "promenade:block/snowy_leaves/hit/2", - "promenade:block/snowy_leaves/hit/3", - "promenade:block/snowy_leaves/hit/4", - "promenade:block/snowy_leaves/hit/5", - "promenade:block/snowy_leaves/hit/6" - ] - }, - "block.snowy_leaves.place": { - "subtitle": "subtitles.block.generic.place", - "sounds": [ - "promenade:block/snowy_leaves/break/1", - "promenade:block/snowy_leaves/break/2", - "promenade:block/snowy_leaves/break/3", - "promenade:block/snowy_leaves/break/4" - ] - }, - "block.snowy_leaves.step": { - "subtitle": "subtitles.block.generic.footsteps", - "sounds": [ - "promenade:block/snowy_leaves/hit/1", - "promenade:block/snowy_leaves/hit/2", - "promenade:block/snowy_leaves/hit/3", - "promenade:block/snowy_leaves/hit/4", - "promenade:block/snowy_leaves/hit/5", - "promenade:block/snowy_leaves/hit/6" - ] - }, - "entity.duck.ambient": { - "subtitle": "subtitles.promenade.entity.duck.ambient", - "sounds": [ - "promenade:entity/duck/ambient/1", - "promenade:entity/duck/ambient/2", - "promenade:entity/duck/ambient/3", - "promenade:entity/duck/ambient/4" - ] - }, - "entity.duck.hurt": { - "subtitle": "subtitles.promenade.entity.duck.hurt", - "sounds": [ - "promenade:entity/duck/hurt/1", - "promenade:entity/duck/hurt/2", - "promenade:entity/duck/hurt/3" - ] - }, - "entity.duck.death": { - "subtitle": "subtitles.promenade.entity.duck.death", - "sounds": [ - "promenade:entity/duck/death" - ] - }, - "entity.duck.step": { - "subtitle": "subtitles.block.generic.footsteps", - "sounds": [ - "minecraft:mob/chicken/step1", - "minecraft:mob/chicken/step2" - ] - }, - "entity.capybara.ambient.baby": { - "subtitle": "subtitles.promenade.entity.capybara.ambient", - "sounds": [ - "promenade:entity/capybara/ambient/baby/1", - "promenade:entity/capybara/ambient/baby/2", - "promenade:entity/capybara/ambient/baby/3", - "promenade:entity/capybara/ambient/baby/4", - "promenade:entity/capybara/ambient/baby/5", - "promenade:entity/capybara/ambient/baby/6" - ] - }, - "entity.capybara.ambient": { - "subtitle": "subtitles.promenade.entity.capybara.ambient", - "sounds": [ - "promenade:entity/capybara/ambient/1", - "promenade:entity/capybara/ambient/2", - "promenade:entity/capybara/ambient/3", - "promenade:entity/capybara/ambient/4", - "promenade:entity/capybara/ambient/5" - ] - }, - "entity.capybara.fart": { - "subtitle": "subtitles.promenade.entity.capybara.fart", - "sounds": [ - "promenade:entity/capybara/fart/1", - "promenade:entity/capybara/fart/2", - "promenade:entity/capybara/fart/3", - "promenade:entity/capybara/fart/4", - "promenade:entity/capybara/fart/5", - "promenade:entity/capybara/fart/6" - ] - }, - "entity.sunken_skeleton.ambient": { - "subtitle": "subtitles.promenade.entity.sunken_skeleton.ambient", - "sounds": [ - "promenade:entity/sunken_skeleton/ambient/1", - "promenade:entity/sunken_skeleton/ambient/2", - "promenade:entity/sunken_skeleton/ambient/3" - ] - }, - "entity.sunken_skeleton.hurt": { - "subtitle": "subtitles.promenade.entity.sunken_skeleton.hurt", - "sounds": [ - "promenade:entity/sunken_skeleton/hurt/1", - "promenade:entity/sunken_skeleton/hurt/2", - "promenade:entity/sunken_skeleton/hurt/3", - "promenade:entity/sunken_skeleton/hurt/4" - ] - }, - "entity.sunken_skeleton.death": { - "subtitle": "subtitles.promenade.entity.sunken_skeleton.death", - "sounds": [ - "promenade:entity/sunken_skeleton/death/1", - "promenade:entity/sunken_skeleton/death/2", - "promenade:entity/sunken_skeleton/death/3" - ] - }, - "entity.sunken_skeleton.step": { - "subtitle": "subtitles.block.generic.footsteps", - "sounds": [ - "promenade:entity/sunken_skeleton/step/1", - "promenade:entity/sunken_skeleton/step/2", - "promenade:entity/sunken_skeleton/step/3", - "promenade:entity/sunken_skeleton/step/4" - ] - }, - "entity.sunken_skeleton.shoot": { - "subtitle": "subtitles.promenade.entity.sunken_skeleton.shoot", - "sounds": [ - "promenade:entity/sunken_skeleton/shoot/1", - "promenade:entity/sunken_skeleton/shoot/2", - "promenade:entity/sunken_skeleton/shoot/3" - ] - }, - "music.overworld.sakura_groves": { - "sounds": [ - { - "name": "promenade:music/brise_couleur_pastel", - "stream": true, - "volume": 0.4, - "weight": 6 - }, - { - "name": "minecraft:music/game/left_to_bloom", - "stream": true, - "volume": 0.4, - "weight": 3 - }, - { - "name": "minecraft:music/game/one_more_day", - "stream": true, - "volume": 0.4, - "weight": 3 - }, - { - "name": "minecraft:music/game/calm1", - "stream": true, - "weight": 2 - }, - { - "name": "minecraft:music/game/calm2", - "stream": true, - "weight": 2 - }, - { - "name": "minecraft:music/game/calm3", - "stream": true, - "weight": 2 - }, - { - "name": "minecraft:music/game/comforting_memories", - "stream": true, - "volume": 0.4, - "weight": 2 - }, - { - "name": "minecraft:music/game/floating_dream", - "stream": true, - "volume": 0.4, - "weight": 2 - }, - { - "name": "minecraft:music/game/hal1", - "stream": true - }, - { - "name": "minecraft:music/game/hal2", - "stream": true - }, - { - "name": "minecraft:music/game/hal3", - "stream": true - }, - { - "name": "minecraft:music/game/hal4", - "stream": true - }, - { - "name": "minecraft:music/game/nuance1", - "stream": true - }, - { - "name": "minecraft:music/game/nuance2", - "stream": true - }, - { - "name": "minecraft:music/game/piano1", - "stream": true - }, - { - "name": "minecraft:music/game/piano2", - "stream": true - }, - { - "name": "minecraft:music/game/piano3", - "stream": true - }, - { - "name": "minecraft:music/game/swamp/aerie", - "stream": true - }, - { - "name": "minecraft:music/game/swamp/firebugs", - "stream": true - }, - { - "name": "minecraft:music/game/swamp/labyrinthine", - "stream": true - } - ] - } + "block.snowy_leaves.break": { + "subtitle": "subtitles.block.generic.break", + "sounds": [ + "promenade:block/snowy_leaves/break/1", + "promenade:block/snowy_leaves/break/2", + "promenade:block/snowy_leaves/break/3", + "promenade:block/snowy_leaves/break/4" + ] + }, + "block.snowy_leaves.fall": { + "sounds": [ + "promenade:block/snowy_leaves/hit/1", + "promenade:block/snowy_leaves/hit/2", + "promenade:block/snowy_leaves/hit/3", + "promenade:block/snowy_leaves/hit/4", + "promenade:block/snowy_leaves/hit/5", + "promenade:block/snowy_leaves/hit/6" + ] + }, + "block.snowy_leaves.hit": { + "subtitle": "subtitles.block.generic.hit", + "sounds": [ + "promenade:block/snowy_leaves/hit/1", + "promenade:block/snowy_leaves/hit/2", + "promenade:block/snowy_leaves/hit/3", + "promenade:block/snowy_leaves/hit/4", + "promenade:block/snowy_leaves/hit/5", + "promenade:block/snowy_leaves/hit/6" + ] + }, + "block.snowy_leaves.place": { + "subtitle": "subtitles.block.generic.place", + "sounds": [ + "promenade:block/snowy_leaves/break/1", + "promenade:block/snowy_leaves/break/2", + "promenade:block/snowy_leaves/break/3", + "promenade:block/snowy_leaves/break/4" + ] + }, + "block.snowy_leaves.step": { + "subtitle": "subtitles.block.generic.footsteps", + "sounds": [ + "promenade:block/snowy_leaves/hit/1", + "promenade:block/snowy_leaves/hit/2", + "promenade:block/snowy_leaves/hit/3", + "promenade:block/snowy_leaves/hit/4", + "promenade:block/snowy_leaves/hit/5", + "promenade:block/snowy_leaves/hit/6" + ] + }, + "entity.duck.ambient": { + "subtitle": "subtitles.promenade.entity.duck.ambient", + "sounds": [ + "promenade:entity/duck/ambient/1", + "promenade:entity/duck/ambient/2", + "promenade:entity/duck/ambient/3", + "promenade:entity/duck/ambient/4" + ] + }, + "entity.duck.hurt": { + "subtitle": "subtitles.promenade.entity.duck.hurt", + "sounds": [ + "promenade:entity/duck/hurt/1", + "promenade:entity/duck/hurt/2", + "promenade:entity/duck/hurt/3" + ] + }, + "entity.duck.death": { + "subtitle": "subtitles.promenade.entity.duck.death", + "sounds": [ + "promenade:entity/duck/death" + ] + }, + "entity.duck.step": { + "subtitle": "subtitles.block.generic.footsteps", + "sounds": [ + "minecraft:mob/chicken/step1", + "minecraft:mob/chicken/step2" + ] + }, + "entity.capybara.ambient.baby": { + "subtitle": "subtitles.promenade.entity.capybara.ambient", + "sounds": [ + "promenade:entity/capybara/ambient/baby/1", + "promenade:entity/capybara/ambient/baby/2", + "promenade:entity/capybara/ambient/baby/3", + "promenade:entity/capybara/ambient/baby/4", + "promenade:entity/capybara/ambient/baby/5", + "promenade:entity/capybara/ambient/baby/6" + ] + }, + "entity.capybara.ambient": { + "subtitle": "subtitles.promenade.entity.capybara.ambient", + "sounds": [ + "promenade:entity/capybara/ambient/1", + "promenade:entity/capybara/ambient/2", + "promenade:entity/capybara/ambient/3", + "promenade:entity/capybara/ambient/4", + "promenade:entity/capybara/ambient/5" + ] + }, + "entity.capybara.fart": { + "subtitle": "subtitles.promenade.entity.capybara.fart", + "sounds": [ + "promenade:entity/capybara/fart/1", + "promenade:entity/capybara/fart/2", + "promenade:entity/capybara/fart/3", + "promenade:entity/capybara/fart/4", + "promenade:entity/capybara/fart/5", + "promenade:entity/capybara/fart/6" + ] + }, + "entity.sunken_skeleton.ambient": { + "subtitle": "subtitles.promenade.entity.sunken_skeleton.ambient", + "sounds": [ + "promenade:entity/sunken_skeleton/ambient/1", + "promenade:entity/sunken_skeleton/ambient/2", + "promenade:entity/sunken_skeleton/ambient/3" + ] + }, + "entity.sunken_skeleton.hurt": { + "subtitle": "subtitles.promenade.entity.sunken_skeleton.hurt", + "sounds": [ + "promenade:entity/sunken_skeleton/hurt/1", + "promenade:entity/sunken_skeleton/hurt/2", + "promenade:entity/sunken_skeleton/hurt/3", + "promenade:entity/sunken_skeleton/hurt/4" + ] + }, + "entity.sunken_skeleton.death": { + "subtitle": "subtitles.promenade.entity.sunken_skeleton.death", + "sounds": [ + "promenade:entity/sunken_skeleton/death/1", + "promenade:entity/sunken_skeleton/death/2", + "promenade:entity/sunken_skeleton/death/3" + ] + }, + "entity.sunken_skeleton.step": { + "subtitle": "subtitles.block.generic.footsteps", + "sounds": [ + "promenade:entity/sunken_skeleton/step/1", + "promenade:entity/sunken_skeleton/step/2", + "promenade:entity/sunken_skeleton/step/3", + "promenade:entity/sunken_skeleton/step/4" + ] + }, + "entity.sunken_skeleton.shoot": { + "subtitle": "subtitles.promenade.entity.sunken_skeleton.shoot", + "sounds": [ + "promenade:entity/sunken_skeleton/shoot/1", + "promenade:entity/sunken_skeleton/shoot/2", + "promenade:entity/sunken_skeleton/shoot/3" + ] + }, + "music.overworld.sakura_groves": { + "sounds": [ + { + "name": "promenade:music/brise_couleur_pastel", + "stream": true, + "volume": 0.4, + "weight": 6 + }, + { + "name": "minecraft:music/game/minecraft" + }, + { + "name": "minecraft:music/game/sweden" + }, + { + "name": "minecraft:music/game/clark" + }, + { + "name": "minecraft:music/game/bromeliad", + "stream": true, + "volume": 0.4, + "weight": 3 + }, + { + "name": "minecraft:music/game/echo_in_the_wind", + "stream": true, + "volume": 0.4, + "weight": 3 + }, + { + "name": "minecraft:music/game/left_to_bloom", + "stream": true, + "volume": 0.4 + } + ] + } } \ No newline at end of file diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino.png deleted file mode 100644 index c12f9cbbe7affd4b3606cb36655fcce04fefcd78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1902 zcmV-!2a))RP)lu6PIIU}`sX{5BN|d%Bq<%=K0!}S=IC11JK!P)eO5C|4apuq?2U@rk z^@3Wd68#8>mQvb6l(bD9d!1eH+RI_{#&6cUvD4UTD(z3QcIM6O%)EJT-n{p`1u)$B z^|weA1;TC!ueqk_?|gU)08lIz3(5Xe7DWMNOL&2gup1(YwD#kt-!Aa6DvpD;>l$;P zJbR`vG}r`T@yedrn(-V5q9`5nz{cA!_KY>8x9FM6Y1aU5`vY6G$MsEsF$;jyvO z+UdzRhtPIiW4>t}4T~g2i%44#)zcQrX`a76MB7Sx&>y4{*Qc6_c ztbKK@3EvwqCY8i$w+R4PT3a^g(}IZncma-G8a#V(XkXX z{@yX;s>z}g=xnNt2{vn=wwE^!v?G+|c#P|ic>emPmU>kCi$dY*r7ICIV3br))n?)J zEQ1D^Qd_)!TgL+A#gW9rZfJOWY3+FvvZX(25TTWmk<0sy2a>hqfw?rw(djLY5OwmZ-_qP;t&dl@bXJ;=p==4OVCe;uOA7!VdoL+DzDOQhkPl!LEVMc;c!96O?=*j( z-Xr6wWC>N}Xm4>6uxOFha#b_m@?3=7FwV{dK7w9|rrXp$Jon2HDQ!#>+eF=IYx?!Lj`A+L|n2-Pu zi0C{g{Q%koew2t#unHEef@NHFRpkH*SY2zP?YcTiGD#yi@-Dr1^KJx~7MVbs!s|!g zeQRjU#p|~tZWK35p97P-%4O`WRE++w9eZQ!h5mTqyXfE# zw@_Vq0sv?=>iFaIQS56RH!{ItH^jBeSECajoSfc2Ls=lkJ}woHy}lQGJYe{W zOlrtahv$uP`BqGmae@GVpFjQ*&t!y;zC8~B`m8IZ;CUV{Uc7|H{sRDjm8E}i?%Y{D z0QCic3!i?0Ilq82-+!%XbVZT_bnWuhh%@%rojb;Y>ZeZWa`Gr}+b}6-sjztcc0>`J z=dWXFc^QvaZfNNOz^&i^#G!)=0D!;$d5EKL9)^_CkiJwB^Nsxg2DyZ^$Zsn)VkaP! zEzx5C*wBtYU45pl{h@;kc=Gfq0N~KU1w-oe&Yszt5iKUKGYXz|8!P}i=|O%z8J{Gh z9ByY_OCN}nDD)?1*56~h5r#VQz~{dQ4>Ub1bNq1ezCM%V^xusb64h4S(U#}F5FdV0 zF#Z^^XGH2ZLRkoUp^??usqcCwi2_$+3Ug@_TAr)Ryp8AbsZLqlByHiytGoI*45h_6 zlr8lpB$FSMt518Mn12~yr4d`6YoxbU*O~~s11ZxL7xdybFYtALe*Nvne}j_{OUr{; zKZz%aIDQp_Pg;0cw|9qWyB$NH$Z#Y-P2qLNE)Cwv_@w4#z;k~h^CCZM$&n*RjvP61 o&f0k>2f#9!)ga7~l07*qoM6N<$f`^QcmjD0& diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino/closed_eyes.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino/closed_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..55929a8c6a5663a3da66c330668f6a0ac0308ee3 GIT binary patch literal 914 zcmV;D18w|?P)Px#OHfQyMF0Q*dM+-BI5?X`M1yu{_h4Y^b#s`Gf~A^_xU8PTwx`OyuF}P}!?wZ8 zy2Q-E%ihM+)5+4;&(_`3+uzjP@z3Jq*Wv8m>iYWnd@fTi0000PbW%=J0RR90|NsC0 z|NsC0|NsC0|NsC0|NsC0|1eWY-2ear&`Cr=R9J=WR&9H$APjX~w+^*X0)zekUwY38 zP;G~;`+A?|(MAb5q!BW--){b*kf(mA=Jtmd*yfHKE!4D9aujKQ2Cb9nl6{+chIyK0Oils>7=z@ z-BbV;73!$+T>#&R(l-ET12w7G_#PK-$g67k8b!8Jcdvme2?1#@ik0qGQC7Z-$BiN7 z98$PJ(B+VGU1m+^u1DCJLgH~bF>F$;hX$)zAS3`~sLLKe%povnF_i4_(hnd9Z7d<= z2m>-9ds!8jS$F23*%xgD`dV=D5MyZ%JpecgD|r&!Wd-vB5?+B2Rje-64)@!I8a}9K zv=9m@N9&@B@yeFe2S9?PRE{PAN7X=H>xubGN$(CoqgdLS@GidbrRMd4-U5JHNU>z0 zBJ%KJ%pL%i0h7&hiv>zieb@tluI06RHH)2+y0pszv!d04MsZgRMl%{*Z->L1q1~FpwfO#5?2dH?_b07*qoM6N<$fk44ofy`glX(f`a0d8)R6>c^Md37!3Z@Z@GIwC-b-) k1B1`Z?`u}QV`Pxa%-3V!)#c871XR!9>FVdQ&MBb@0EikYQ~&?~ diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/large/open.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/large/open.png deleted file mode 100644 index 5e4191a1da1bb9d7354d89d592a2cf4658f94136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`a0d8Ve&Q0hRMCw16Duk|4iehX4Ov0k44ofy`glX(f`um$*pxB}_J z+YV+FWt{`Em`Z~Df*JltPgL3pu6{1-oD!Mx> diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/regular/open.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino/eyes/regular/open.png deleted file mode 100644 index ffafa57a05798bc647649290105fc16a5a1d57a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`a0d8Ve&Q0hRMCw16Duk|4iehX4Ov0mdKI;Vst0N9r(0RR91 diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino/large_eyes.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino/large_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..e44a24097823b5dd3dd5d3a3699fad3192f53795 GIT binary patch literal 919 zcmV;I18Dq-P)Px#PEbr#MF0Q*dM+-BI5>+gP@5-Fn?yu|c4+rtVCr>qn2v&_nvA%tp2N1M%Dt}A z#kR}3#LU6V-p16^$R9J=WR&9H$APjY#>(+}3B{10k z|D*SufYo-`+OK<>M;j&NkT=tGUDtW>*4m$+j?dmp6z^xwrATpihmxcPKqO{rR*of6 z@jZZ;l0DZQUUJMyWacW47jaWturJ}T=nFu~e5)KX0Ho-PxCsCV*bqUq7lvm%&Ky$6 zlILR^Ky(9d-61LKi8D`CM5qmbB7}+%fObcmJ@Xn z7i##RqR~Pqq#Uh_D#j~YQX2pXl2SRE1RPZZd8sGnFD1Pj05iqX)`WNQjW0E?ck~tj z)Iy3S3l))v7i0DSund@No?9$Xit5820CX*{-D|ekDXB}lEHEotEoc;X#b7Xl!S!}H zycyc<3V_=kh;f{TaWsdIkAqno_VxMsWz;oyA7GjQF`0j$YXA@}amKV2`JI~qx(YCj zgK_+qi#7NKaTS{10R6j%^V4`dosJ`%Fz&stUnS#k1kr-cijuxh&WyuwGUhbU0N?jo zg0d_9TEaBJ7@9f^#iLl{DXO>ZNvhwdfrWGH3ZR` zI|ETun_Uni1R1-qcEzoErVYSBhU3&c5OExN5`bSET2|zRhVC~9q6XC-z;FN365JCh tyc%&H&ofPcWro=^&%EeGFM81*rvD7)WnMIUn(+Vt002ovPDHLkV1nB4yiNcB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/albino/small_eyes.png b/src/main/resources/assets/promenade/textures/entity/capybara/albino/small_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..7f58988120e60a22f27212964c3bcc558dfcdf7a GIT binary patch literal 918 zcmV;H18Mw;P)Px#PEbr#MF0Q*dM+-BI5>+gP@5-Fn?yu|c4+rtVCr>qn2v&_nvA%tp2N1M%Dt}A z#kR}3#LU6V-p16^$jwMm? zEr6JkJ=Gmva?DAjaTUk2xT`JLmvC701t4XdQuIaK1powWh#=Yv!!sTmhZM5p z`Pc^#-N0LSNXmL*s_DJucjiPEr?&sd4X|O8MId zu=Yf#N0{DQa&&2NCWR}bgs>En3(nBatQuW$9MWE?&~v|zKM1oh+0G>%7Ojw225Ico{Z zuJmgO(*$E^>NpzDdfH#X18dJ~&Wf*&Ur~AhpcrxfK4OL~Cvg zL|tumL5vV&?84d=x8|8X00$Y4Q*9vPIPxF>zc{q4$O{eKZw^Eqsy%?;{<$T%2U2)3 s;@qESx&X@zvuB=p(vzO_q(4mm0e>82u5Y(R)c^nh07*qoM6N<$g2BYQ)Bpeg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/brown.png b/src/main/resources/assets/promenade/textures/entity/capybara/brown.png deleted file mode 100644 index 1f4fad006ae27569774ec701a3447c08f1b30c33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 858 zcmV-g1Eu_lP)Px#JWxzjMF0Q*jZ-k3T{tx@CHngMfJ!N*Wj?QOMYwxWJTodoIWS5;HF_>Ci8wf$ zL`3R!bN66iA{-YS77{5U9O12sF8}}l6m(KfQvm<}|NsC0|NsC0|NsC0|NsC0|GMF0 zsQ>^1tVu*cR9J=WR_&JKAP9{x@gteeOxyQ=*S#0C$#hNX{@qhf6Qal!5Gm6%O+kXH zeth6_nnRE%VQ!q_Nbz(+Nzwx#h{O!d#xW%(J_Cp;X{jrMtd)U*k{W4yhKBsvniPo(#bFlei0jHL7ieP%B&PjX#O|5M_H$ z%pU`&{77j}rEKrXj@jYu%tpBRXzl;E@fE(KpUt@#l}Zm_(ij+`fU`y zjRP9d6ONaVntaduSq_m_p^N7Wb8ZM+O%T`TJf@+~fgAup#^qc~vx5g9SvK2M!5rVn z%N_s@D=}!X9zTC}0qj->Amj)GG9i1XDm2qqdICmQwV~r?8tCPr3t+Z$Cz=^~jdL^? zXqkE9c~vXi-!9bf+2+AL@~v&s#2B(9^#O1|;+ew(qoU`*mQNAGlo-gfyoz4dgpd2i zLCuU4y$!&FX{S&Txw)U}2moVcQH&KpjH3B40?@MfQM>%pTpF@KceIETWVOjL@^>x`7KmGps`PQ?l+-O|^vFa7{8vsO0!ckG>Jx4`b9RS5i zdG-Aa31En4RXJX-!OGh0e!nenLc{f1Zzbb!1DOR!UI_AM)}@rY>YcT94mn#2%Fyv! z3eWcEK~wP`H2dut&ESc-7wpX3S8HvO7q%e)H{uZ@Z2zL4=^L>D?7oL7?V2E3bJ7rX zwOIwxLXfcvTU9*jXZiqaWY|u%hKTLRKLRjmP_iO_sK?>3A?i>#pkaW05A(X8=>lv$ kOd05B-t?w7z3D%uKPfL7(Vg++iU0rr07*qoM6N<$g1G&LOaK4? diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/brown/closed_eyes.png b/src/main/resources/assets/promenade/textures/entity/capybara/brown/closed_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..ce03edf9cb3217c2d9c6ab1111593548c339baf4 GIT binary patch literal 856 zcmV-e1E>6nP)Px#JWxzjMF0Q*92OEH92Y4f95pQ^JTodoIWS5;HF_>Ci8wfbN-2#~Fq~aDre!{x zL`1J|MYwxW_h4Y^b#waq`iwn7hyVZp6m(KfQvm<}|NsC0|NsC0|NsC0|NsC0|GMF0 zsQ>^1s!2paR9J=WR^fWq)gK^B}pNK z?{9ogYf7S$*2XDTil-CGlJ5XXL<=+<$CQ}(3_x=Zv93r`v}BRSO{{luS6i?yV>3+- zkPAnZLk57X$;Dj&K)?nC(Owu{@Yy(|kmbbBK7iN)KDI(~u^k)FRYa%*02e|<2td0P zdpGU^;Tq`!q#f}@+!*d_{6XBI5F#lA50xD~8-Vc#aTfqC{6XA@h}(N& z{un^zM@oB&aeGe|b_X#2Tpbq9(H=j7B^C0h@*#j_j`IQl+CWVzHa>EMU$mO4-$wD< zIG~}PaJ+=n{cfr6omnWkiDo1&GeO?faU#_cV2Ec`S>b#uYnSWwGUE^d;i$Kgez<_lf}>Li@@EZmjMosZtgUM*#Zpj)!fz?O z+Mfqa#edN1w`VkiC+1$VnE6?)waH%Ch5+1%yNj^>lYXXe#0IeY9;Uo&f@sZ2L)6t~ z6+{a`#wu)8@u;8a1F(@{JJlK@wj=)tz@$ORQvOhn(_ur@p>#mQ0Q(;1c|X$y*m{^a i(9gW+MK5~Me@s6PsytNIgWvK100004AFy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/large/closed.png b/src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/large/closed.png deleted file mode 100644 index 5afcee554ab2760e33bcee58b94e7fec56bb53fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`a0d8BDwk44ofy`glX(f`a0d84~+I`GFkfk|4iehX4Ov0k44ofy`glX(f`um$*pxB}@0 zFHN4Zxodzdrjj7PV21zE6P30Cc?zB`jv*1PZ%-^_WMJT6Uhww+^0#9A0!o|=2d>>? bW~ebTn8d(pJF90ZP%VR}tDnm{r-UW|PL(6| diff --git a/src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/regular/open.png b/src/main/resources/assets/promenade/textures/entity/capybara/brown/eyes/regular/open.png deleted file mode 100644 index 56aa0155cfe0fd2b9d6cacaf55955970ea53db51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`um$*pxB_V< z8S&p-pKk+MOeH~n!3_VSCn{|P@)SH>977^n-=0{=$iTqCyx{Hs_+pjrk`S3j3^P6Px#KTu3mMF0Q*92OEH92Y1d8z~|jH7zAPGb%$lFiJl)dM+-BI5>bxDUDMwoLxAk zWj>okM6Yi}xO-9eU|{NXbNc%FGfTz*0000LbW%=J0RR90|NsC0|NsC0|NsC0|NsC0 z|4^{{F8}}nu1Q2eR9J=WR^fWbFt-HV$YcPdHveYVy79XE{V#Nf*x-meLTonjo&vc}zo}13dtMjLW%}W{U?PTQ=KO z!5rVn%N_s@D>G=R9zTC}0qj-_5K4jpg^;~dRhsE5Jpq%e+R$+e4fOKR1u)yW6U|J# z#wD2xw9Gv5ys8!MZx?F#Y;$psd~2IDF@`KjeE=Mgdgk!JsOWic&!>c8&J5&PUL`MU z%Ex`}WS(Q5=dv zWaWzC<9huFb}To5!9Xl13Cj|$pP$!#@eAKyU*F-ZDmPkJK&)W~{RRNh5;-cWyyvKB zs{^1o1zvqWLjoA$SyfK+yI5I!yIkHDI1%K1uD6nLcmtUQM_%YW=PfKTUP8FAwr(=d zmV!ET{FcI-{dv$-{0D7*dqy*OV(y8Znfq$3P4>bz1mH&8LWJ#~^fP@U?f|>*VamHE zh}N7mL|tuGL9`HLtio0mkNTND02>*$Q>`IlJMxbJOd6D|#2@Oh95zH9k^>qB*!M8c q`76x09!0000Px#JWxzjMF0Q*`uh5ME-r~UIGaR7_h4Y^b#t6uIHqMjjZ-jyN-3{zMYwxW92OEH z92Y}5FexG&Ni_@%6m(KfQvm<}|NsC0|NsC0|NsC0|NsC0|GMF0 zsQ>^1tVu*cR9J=WR?(K@APCJ&X9kS6Y4rd9b?*gjGF_9puY1aALKL|IB4wJUDM-jU ze|+F`nnMtkFgH%IQaqhdl=uJ$BATGtIHttJX8;;wE_Fqaq$!FtZeo3iyV`BT2-ip-Anb@9abtw9@h5SIaxSEt{iw|KXaL5a#9aWa$+@i%Y9))k@h5Q~qHOPp z`C|Z;A1Uprl>o;dlwD$@jdUOkT+X#LJ9q%1WwTus%<+x9 z>;d4gB7>&&`1!L7V7EE|At?+( z%slbDsuk{U7i#!y^WYx&);4Kk3|W%;05~A=%;AAi(eq%-C&e&E2J$Sg)XSRiao;$o znQ@}G0eCR&6e=P&_fs7KV5}^PS^>mJ&4&?ymc@_S<)7x#kOg^1y9tZpPz(wySIM83 z%V)M@c>oLsVnIn*mVEj8y6lTz{`vm?$!Ar$(YgX+%{S0*01zz+M@5zQ92ISK02HUp ztM6w>07E>h%6hv6D{I&L{kp)39B#LID;b9?$SgSWLXbamUP`&=d}nQ)LrRu{GIacw z!n6H(&{X^f&3=1EGk9X|1v@kM)moeAg>4AHjd+9z+rQ{%`bKO3yYFF&yC#U%oHRsT zZB{|F5M->vRuzx>nLYp;8MafcA!0l7j{r;>lq}^B^*9_hL>&qTGz_rsVP5w$U4X5J kDFgk?o8I)MH~q)-2W4nGZSO`yk^lez07*qoM6N<$f>f1>ApigX literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/promenade/textures/entity/duck/mallard.png b/src/main/resources/assets/promenade/textures/entity/duck/mallard.png index f3d736d23427b515ddeb4b57200cbe6041d131bb..9c2f3ccbd19446a1e9c6ead9f1799c382051a6e3 100644 GIT binary patch delta 494 zcmaFQJeOsHWj!AspOBCcqY59Jxu~+TvZkh{si~>8wY94hdyE<%SCMvffKYCN_^MRR zqvghjs%!*WOodiBsqPP3J6-Nlo6EHW?k_Hd9XodH^5x5q9zFX1|Ns2i3turXFvyey z`2{lo`MAK!^0k2s4E2ouo-U3d9-VI|ld(&4H=1Z|?Wl)&*Z>-OKjn?q0W6aEnmo@*sm?#S?qDJy(eDNa?g{ zd|YwmSk&UxEH5}RwixbODb#SdWr1|kRK`bfj0#K=zB8V_w~n&%4R$*7clq4DN+ovI z8IN5btXP~^^=G#~!!(`@N0yVSM4cn33j)- zH&3|rb?zPRla2e{EYh9IqQPk*bI*f|Lq_MXNbi>w3JeUZpR!(*zBH}x%>s8tXUE8e eDnFjTuVLoxRXwF; delta 448 zcmV;x0YCno1n&coIe-8E|Kj4})6>)F(pJXC#@4_`(uPE>mmb1;JjHi2CBIgxWhoM< zLTz9d5QH^bP!bAqD?2+oH8nLUDJcdw6+jvZBO@a+5(EJx4iXX)4h{}wpettp0004W zQchC)TCy+kJn0s165<8aMLw*YL)POLH z#0-%hOjy#YsvNU3c*V!FnHjJG{|8dSf>zgGrv)USz(FkFl1uXf%o586Mq#cBWM%}) zsmB~4M`nj%!zIJG;dO8?TnXfh60n5B?b5=F8w#+UKsleGw^Lv#!_4lIu{9b9h)BS! q$vNO-X|RanQnP0f`Wr35C;$Ld{TT8u6Y#hI0000Px#Gf+%aMF0Q*6%!K@6c!jCCOJGm(Sjk}kv8I$X+$!DZahtLNXo@a@?3 z^yT^a@&Et-x~1z+0000HbW%=J0RR90|NsC0|NsC0|NsC0{}2^Gp#T5^RY^oaR7i={ zRoRlGFbrg~gLPO3|NphyQYMu^AX7DOD?$Jpw{>;1EHF_VoSqrJycms@RvJu#gNc_b zOH;A**tXmO2n`uTA^>0(xdae}3mUoQ7W?s`Sc^&S>m>lQvamGKnvNHg<$BXDh`~I3gaCB z!+QXxK|H1-1yzJOdO!qM9`p`?Rx{rLjCGLQlZZ4LdU_pLic#FW1I({kk^jz8;r$J# zX6Fwjq^FZqEIIM{#Smj>zNlOPW822F7o~dmnuYED?dxv0*#K+$`ec5jS;nXJKbYs7 zVL!Yy=XV0<9P44u9J5D&wMwehx_Jb6E0MK*+@C33C}J5U9_Uz37<3_M<$(t? z)Mh{k0L4plw>f~n=C$ZbM;1SGP_5EAs2fHP73E7#tHZ41x&baV*&iZ8WHunJ@Bj)d z-Z7K})Dx(51ppfMu^{|XX5^qaUxf+Bz9rTIcJfsS_H6|KwpSUsmQcA?Sof!uuRm-@ pgL<~SRUbg^?w^hE;mi2H+dtN)CwtTQ0xPx#Gf+%aMF0Q*5)>9WJU_M%59BT`(Sjk}kv8I$X+$!DZahtLNXo@a@?3 z^yT^a@&Et-cSCR30000HbW%=J0RR90|NsC0|NsC0|NsC0{}2^Gp#T5^T}ebiR7i={ zRojxQFbsq45?^A+{QuV;Dcw$6TDmj)c1(ei5XCo%Wr3OF(8{Wj%Y#YVWRs?1I8<~w zvkJGU9Q$5R04B|vh#3G>%}xQ#;ewCaYah?!&9N4fI`5|ds;;IvYCL=3kz-`I6F~hv z0GyKx9mGWhI0*JO*O`_a-Fu7?{XGD&*VSxY6}~cHJ9+~NmOZ0)avc|$#92qFo1*whc7skXHM$m3WC9~u7A|pz z_rrX`F+M>y{ZP%ha}S<*vxP+$5jS8CY>ZY=jImbst{9k%h{w{P7HFZ^iwJ>!VsYS< zF^pFL3_k;?G||=*DPR$Ln*(OJYm-+1v|8j7K--$wHHk=Lpr^Nnr5MGZSAc%$jQnp_ z4)0f-UNe6vq1>GmvgD1=4~7^oG*X!WZQt9y7mYo9&cf;bdSS2DW$hDStK9C)9~DvK z)B0a5tM?JVywv+o0()=UVJ;H0M}Unbb+&FD0bWWJ(?0I6QfV^A(kLG2Sd_t>8J)~1 zND*4l+o_;IOou>F7ony$HAu_^AhRa`niq}uAZX7a7ziU)(}ODX9{|8)(jOj7Cc}d! zCxS)~a;QRW8iW8)x=ij)4&X9*ZNABo#rGVrRb~$ON6|y1JmnNZ20;bd1US{?yorcN zM1y$411PZNjDZrsCs64O05qJ(g7EqMKn}=x7G@;&rD_}4sb?X?j}ZWDXBm}Cgsu_m x`n2i!hwW%k&na*01IQiJ6y4E2d>Q|D`v>WWCo%hR8k7J4002ovPDHLkV1ldwU&;Ug literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/promenade/textures/entity/wolf/shiba_inu_tame.png b/src/main/resources/assets/promenade/textures/entity/wolf/shiba_inu_tame.png new file mode 100644 index 0000000000000000000000000000000000000000..0bed57e67997d93c65e1d426491c20f903dd4bde GIT binary patch literal 760 zcmVPx#Gf+%aMF0Q*6%!K@6c!jCCOJGm(Sjk}kv8I$X+$!DZahtLNXo@a@?3 z^yT^a@&Et-x~1z+0000HbW%=J0RR90|NsC0|NsC0|NsC0{}2^Gp#T5^R!KxbR7i={ zRoRlGFbrg~gLPO3|NphyQYMu^AX7DOD?$Jpw{>;1EHF_VoSqrJycms@RvJu#gNc_b zOH;A**tXmO2n`uTA^>0(xdae}3mUoQ7W?s`Sc^&S>m>lQvamY#!|5;GLWbXQfuuO#z-s313;x|!YX0m4h*ld)Dl&AAEFIc z@e#7AhidlD)9UnxEmd?PQUPXQW3&QSjwCke*IbvE;<(7ekDl`J!?GjBOjwUX<$LYZkWqx39b1W&^D0>y!DBW*MK>|6rbT zhW+r;oZktYbF7CsbIcwA)+(u1>*f*Qtwh%Laetjt>gWPgYVk=cN>!UHI< zc*jr@P*0%J6#!`1$Aa)nnURCyd=(}f`<7S>*vVHR*tZn`*j{DiT0-SoVcnlrzW%Ts q4eHtQR($}uyMH#uhcDy*ZvOxp`6q>Xy|Uo|0000=5.0.0", "fabric-api": ">=0.83.1", "cloth-config": "*", "biolith": "*" }, "suggests": { - "columns": "*", "farmingforblockheads": "*", "appleskin": "*" }, diff --git a/src/main/resources/promenade.mixins.json b/src/main/resources/promenade.mixins.json index 3450f9ee..1ac6c697 100644 --- a/src/main/resources/promenade.mixins.json +++ b/src/main/resources/promenade.mixins.json @@ -2,7 +2,10 @@ "required": true, "package": "fr.hugman.promenade.mixin", "compatibilityLevel": "JAVA_17", - "mixins": ["AxeItemMixin", "LivingEntityMixin"], + "mixins": [ + "AxeItemMixin", + "LivingEntityMixin" + ], "injectors": { "defaultRequire": 1 }