From 8d10722815d44ba365bbef00478bcaccf2819b7d Mon Sep 17 00:00:00 2001 From: DakotaPride Date: Mon, 6 May 2024 12:49:20 -0500 Subject: [PATCH] v1.8 - Initial commit --- gradle.properties | 2 +- .../garnished/CreateGarnished.java | 6 + .../garnished/CreateGarnishedClient.java | 192 ++++ .../advancements/AnniversaryCakeTrigger.java | 45 + .../advancements/DejojoTheAwsomeTrigger.java | 44 + .../garnished/block/BokChoyPlantBlock.java | 77 ++ .../block/DragonStoneStairsBlock.java | 10 + .../garnished/block/NetherFlowerBlock.java | 33 + .../garnished/block/NetherLichenBlock.java | 80 ++ .../garnished/block/VoltaicSeagrassBlock.java | 61 +- .../block/cake/AnniversaryCakeBlock.java | 175 ++++ .../cake/AnniversaryCakeBlockEntity.java | 13 + .../cake/AnniversaryCakeBlockRenderer.java | 138 +++ .../PottedAureateShrubBlock.java | 11 + .../potted_blocks/PottedBarrenRootsBlock.java | 11 + .../PottedIncandescentLilyBlock.java | 11 + .../PottedPansophicalDaisyBlock.java | 11 + .../potted_blocks/PottedSepiaFungusBlock.java | 15 + .../PottedSmallChorusPlantBlock.java | 11 + .../potted_blocks/PottedSoulRootsBlock.java | 11 + .../garnished/effect/AustralMobEffect.java | 10 + .../effect/MummificationMobEffect.java | 3 +- .../garnished/effect/SugarHighMobEffect.java | 2 +- .../effect/TruthSeekerMobEffect.java | 10 + .../CurseOfTheLeechEnchantment.java | 38 + .../enchantment/QuickStepEnchantment.java | 34 + .../enchantment/RavagingEnchantment.java | 8 + .../enchantment/RejuvenateEnchantment.java | 35 + .../enchantment/StrikingEnchantment.java | 33 + .../item/AnniversaryCakeSliceFoodItem.java | 9 + .../garnished/item/BokChoyFoodItem.java | 10 + .../garnished/item/BokChoyLeafItem.java | 10 + .../BottleOfCrestfallenFloraFoodItem.java | 44 + .../BottledMalodorousMixtureFoodItem.java | 44 + .../item/ChampionsOmeletteFoodItem.java | 10 + ...m.java => ChocolateGlazedNutFoodItem.java} | 6 +- .../garnished/item/DesolateSpreadItem.java | 6 +- .../garnished/item/FarseerBrewFoodItem.java | 57 ++ .../garnished/item/IGarnishedItem.java | 45 - .../item/IniquitousBrewFoodItem.java | 52 + .../garnished/item/MeatScrapsFoodItem.java | 10 + ...eltedCinderFlourNutWithEffectFoodItem.java | 62 +- .../item/OmniscientStewFoodItem.java | 52 + .../item/PiquantPretzelFoodItem.java | 10 + .../garnished/item/SenileSpreadItem.java | 29 +- .../item/ShelledDumplingFoodItem.java | 10 + .../garnished/item/SweetTeaItem.java | 66 ++ .../garnished/item/VoidMixtureFoodItem.java | 7 - .../garnished/item/WarpedBrewFoodItem.java | 52 + .../item/WrappedSepiaTangleFoodItem.java | 7 - .../item/hatchet/HatchetToolItem.java | 65 +- .../garnished/item/hatchet/HatchetUtils.java | 36 +- .../FrostScratchPaperItemRenderer.java | 81 -- .../PolarHideScratchPaperItem.java | 110 +-- .../item/scratch_paper/ScratchPaperItem.java | 202 ---- .../ScratchPaperItemRenderer.java | 81 -- .../item/tab/GarnishedCreativeModeTab.java | 906 ++++++++++-------- .../garnished/mixin/LivingEntityMixin.java | 40 + .../registry/GarnishedAdvancementUtils.java | 15 + .../registry/GarnishedBlockEntities.java | 19 + .../garnished/registry/GarnishedBlocks.java | 182 ++++ .../registry/GarnishedDamageSource.java | 1 + .../garnished/registry/GarnishedEffects.java | 10 + .../registry/GarnishedEnchantments.java | 32 + .../garnished/registry/GarnishedFeatures.java | 11 +- .../garnished/registry/GarnishedFluids.java | 59 +- .../garnished/registry/GarnishedFoods.java | 41 +- .../garnished/registry/GarnishedItems.java | 142 ++- .../garnished/registry/JEI/GarnishedJEI.java | 31 + .../emi/recipe/additions/ender_scale.json | 7 + .../emi/recipe/additions/endermite_heart.json | 7 + .../recipe/additions/enflamed_mandible.json | 7 + .../emi/recipe/additions/ghast_tendril.json | 7 + .../emi/recipe/additions/irate_tusk.json | 7 + .../emi/recipe/additions/molten_remnant.json | 7 + .../emi/recipe/additions/polar_bear_hide.json | 7 + .../emi/recipe/additions/polar_bear_meat.json | 7 + .../emi/recipe/additions/ravager_meat.json | 7 + .../emi/recipe/additions/stray_parchment.json | 7 + .../emi/recipe/additions/tenebrous_meat.json | 7 + .../assets/emi/recipe/additions/tusk.json | 7 + .../assets/emi/recipe/additions/vex_wing.json | 7 + .../blockstates/anniversary_cake.json | 22 + .../garnished/blockstates/aureate_shrub.json | 15 + .../garnished/blockstates/bok_choy_plant.json | 13 + .../chiseled_dragon_stone_bricks.json | 7 + .../garnished/blockstates/dragon_breath.json | 7 + .../garnished/blockstates/dragon_stone.json | 7 + .../blockstates/dragon_stone_bricks.json | 7 + .../blockstates/dragon_stone_bricks_slab.json | 13 + .../dragon_stone_bricks_stairs.json | 209 ++++ .../blockstates/dragon_stone_bricks_wall.json | 90 ++ .../blockstates/dragon_stone_slab.json | 13 + .../blockstates/dragon_stone_stairs.json | 209 ++++ .../blockstates/dragon_stone_wall.json | 90 ++ .../blockstates/incandescent_lily.json | 15 + .../blockstates/pansophical_daisy.json | 15 + .../blockstates/polished_dragon_stone.json | 7 + .../polished_dragon_stone_slab.json | 13 + .../polished_dragon_stone_stairs.json | 209 ++++ .../polished_dragon_stone_wall.json | 90 ++ .../blockstates/potted_aureate_shrub.json | 7 + .../blockstates/potted_barren_roots.json | 7 + .../blockstates/potted_incandescent_lily.json | 15 + .../blockstates/potted_pansophical_daisy.json | 15 + .../blockstates/potted_sepia_fungus.json | 7 + .../potted_small_chorus_plant.json | 7 + .../blockstates/potted_soul_roots.json | 7 + .../blockstates/senile_bone_block.json | 16 + .../blockstates/smooth_dragon_stone.json | 7 + .../blockstates/smooth_dragon_stone_slab.json | 13 + .../smooth_dragon_stone_stairs.json | 209 ++++ .../blockstates/smooth_dragon_stone_wall.json | 90 ++ .../blockstates/sorrowful_lichen.json | 150 +++ .../garnished/blockstates/sweet_tea.json | 7 + .../assets/garnished/lang/en_us.json | 280 +++--- .../models/block/anniversary_cake.json | 169 ++++ .../models/block/anniversary_cake_slice1.json | 169 ++++ .../models/block/anniversary_cake_slice2.json | 129 +++ .../models/block/anniversary_cake_slice3.json | 129 +++ .../models/block/anniversary_cake_slice4.json | 89 ++ .../models/block/anniversary_cake_slice5.json | 89 ++ .../models/block/aureate_shrub_0.json | 6 + .../models/block/aureate_shrub_1.json | 6 + .../models/block/aureate_shrub_2.json | 6 + .../models/block/bok_choy_stage0.json | 6 + .../models/block/bok_choy_stage1.json | 6 + .../models/block/bok_choy_stage2.json | 6 + .../block/chiseled_dragon_stone_bricks.json | 6 + .../garnished/models/block/dragon_breath.json | 6 + .../garnished/models/block/dragon_stone.json | 6 + .../models/block/dragon_stone_bricks.json | 6 + .../block/dragon_stone_bricks_slab.json | 8 + .../block/dragon_stone_bricks_slab_top.json | 8 + .../block/dragon_stone_bricks_stairs.json | 8 + .../dragon_stone_bricks_stairs_inner.json | 8 + .../dragon_stone_bricks_stairs_outer.json | 8 + .../dragon_stone_bricks_wall_inventory.json | 6 + .../block/dragon_stone_bricks_wall_post.json | 6 + .../block/dragon_stone_bricks_wall_side.json | 6 + .../dragon_stone_bricks_wall_side_tall.json | 6 + .../models/block/dragon_stone_slab.json | 8 + .../models/block/dragon_stone_slab_top.json | 8 + .../models/block/dragon_stone_stairs.json | 8 + .../block/dragon_stone_stairs_inner.json | 8 + .../block/dragon_stone_stairs_outer.json | 8 + .../block/dragon_stone_wall_inventory.json | 6 + .../models/block/dragon_stone_wall_post.json | 6 + .../models/block/dragon_stone_wall_side.json | 6 + .../block/dragon_stone_wall_side_tall.json | 6 + .../models/block/incandescent_lily_0.json | 6 + .../models/block/incandescent_lily_1.json | 6 + .../models/block/incandescent_lily_2.json | 6 + .../models/block/pansophical_daisy_0.json | 6 + .../models/block/pansophical_daisy_1.json | 6 + .../models/block/pansophical_daisy_2.json | 6 + .../models/block/polished_dragon_stone.json | 6 + .../block/polished_dragon_stone_slab.json | 8 + .../block/polished_dragon_stone_slab_top.json | 8 + .../block/polished_dragon_stone_stairs.json | 8 + .../polished_dragon_stone_stairs_inner.json | 8 + .../polished_dragon_stone_stairs_outer.json | 8 + .../polished_dragon_stone_wall_inventory.json | 6 + .../polished_dragon_stone_wall_post.json | 6 + .../polished_dragon_stone_wall_side.json | 6 + .../polished_dragon_stone_wall_side_tall.json | 6 + .../models/block/potted_aureate_shrub.json | 6 + .../models/block/potted_barren_roots.json | 6 + .../block/potted_incandescent_lily_0.json | 6 + .../block/potted_incandescent_lily_1.json | 6 + .../block/potted_incandescent_lily_2.json | 6 + .../block/potted_pansophical_daisy_0.json | 6 + .../block/potted_pansophical_daisy_1.json | 6 + .../block/potted_pansophical_daisy_2.json | 6 + .../models/block/potted_sepia_fungus.json | 6 + .../block/potted_small_chorus_plant.json | 6 + .../models/block/potted_soul_roots.json | 6 + .../models/block/senile_bone_block.json | 7 + .../models/block/smooth_dragon_stone.json | 6 + .../block/smooth_dragon_stone_slab.json | 8 + .../block/smooth_dragon_stone_slab_top.json | 8 + .../block/smooth_dragon_stone_stairs.json | 8 + .../smooth_dragon_stone_stairs_inner.json | 8 + .../smooth_dragon_stone_stairs_outer.json | 8 + .../smooth_dragon_stone_wall_inventory.json | 6 + .../block/smooth_dragon_stone_wall_post.json | 6 + .../block/smooth_dragon_stone_wall_side.json | 6 + .../smooth_dragon_stone_wall_side_tall.json | 6 + .../models/block/sorrowful_lichen.json | 16 + .../garnished/models/block/sweet_tea.json | 6 + .../models/item/anniversary_cake.json | 3 + .../models/item/anniversary_cake_slice.json | 6 + .../garnished/models/item/aureate_shrub.json | 6 + .../garnished/models/item/bok_choy.json | 6 + .../garnished/models/item/bok_choy_seeds.json | 6 + .../item/bottled_malodorous_mixture.json | 6 + .../garnished/models/item/brittle_dust.json | 2 +- .../models/item/champion_omelette.json | 6 + .../item/chiseled_dragon_stone_bricks.json | 3 + .../models/item/crestfallen_flora.json | 6 + .../garnished/models/item/dimmed_scale.json | 6 + .../models/item/dragon_breath_bucket.json | 6 + .../garnished/models/item/dragon_stone.json | 3 + .../models/item/dragon_stone_bricks.json | 3 + .../models/item/dragon_stone_bricks_slab.json | 3 + .../item/dragon_stone_bricks_stairs.json | 3 + .../models/item/dragon_stone_bricks_wall.json | 3 + .../models/item/dragon_stone_slab.json | 3 + .../models/item/dragon_stone_stairs.json | 3 + .../models/item/dragon_stone_wall.json | 3 + .../garnished/models/item/dusk_alloy.json | 6 + .../garnished/models/item/dusk_sheet.json | 6 + .../models/item/ender_egg_shell.json | 6 + .../garnished/models/item/farseer_brew.json | 6 + .../garnished/models/item/fiendish_spore.json | 6 + .../models/item/frail_ender_egg_shell.json | 6 + .../models/item/incandescent_lily.json | 6 + .../models/item/incandescent_petal.json | 6 + .../item/incomplete_champion_omelette.json | 6 + .../item/incomplete_ender_dragon_egg.json | 6 + .../models/item/iniquitous_brew.json | 6 + .../garnished/models/item/irate_tusk.json | 6 + .../models/item/malodorous_mixture.json | 6 + .../garnished/models/item/meat_scraps.json | 6 + .../models/item/omniscient_stew.json | 6 + .../models/item/pansophical_daisy.json | 6 + .../models/item/pansophical_petal.json | 6 + .../models/item/piquant_pretzel.json | 6 + .../models/item/polished_dragon_stone.json | 3 + .../item/polished_dragon_stone_slab.json | 3 + .../item/polished_dragon_stone_stairs.json | 3 + .../item/polished_dragon_stone_wall.json | 3 + .../models/item/preliminary_nucleus.json | 6 + .../garnished/models/item/senile_bone.json | 6 + .../models/item/senile_bone_block.json | 3 + .../garnished/models/item/senile_dust.json | 2 +- .../models/item/shelled_dumpling.json | 6 + .../models/item/smooth_dragon_stone.json | 3 + .../models/item/smooth_dragon_stone_slab.json | 3 + .../item/smooth_dragon_stone_stairs.json | 3 + .../models/item/smooth_dragon_stone_wall.json | 3 + .../models/item/sorrowful_lichen.json | 6 + .../garnished/models/item/sugar_cube.json | 6 + .../garnished/models/item/sweet_tea.json | 6 + .../models/item/sweet_tea_bucket.json | 6 + .../garnished/models/item/torrid_blend.json | 6 + .../assets/garnished/models/item/tusk.json | 6 + .../garnished/models/item/vex_wing.json | 6 + .../garnished/models/item/warped_brew.json | 6 + .../textures/block/aureate_shrub/0.png | Bin 0 -> 333 bytes .../textures/block/aureate_shrub/1.png | Bin 0 -> 374 bytes .../textures/block/aureate_shrub/2.png | Bin 0 -> 344 bytes .../textures/block/blue_mastic_block.png | Bin 444 -> 427 bytes .../garnished/textures/block/bok_choy/0.png | Bin 0 -> 174 bytes .../garnished/textures/block/bok_choy/1.png | Bin 0 -> 201 bytes .../garnished/textures/block/bok_choy/2.png | Bin 0 -> 334 bytes .../assets/garnished/textures/block/cake.png | Bin 0 -> 3236 bytes .../textures/block/chiseled_dragon_stone.png | Bin 0 -> 488 bytes .../garnished/textures/block/dragon_stone.png | Bin 0 -> 501 bytes .../textures/block/dragon_stone_bricks.png | Bin 0 -> 275 bytes .../textures/block/green_mastic_block.png | Bin 444 -> 398 bytes .../textures/block/incandescent_lily/0.png | Bin 0 -> 256 bytes .../textures/block/incandescent_lily/1.png | Bin 0 -> 334 bytes .../textures/block/incandescent_lily/2.png | Bin 0 -> 369 bytes .../garnished/textures/block/mastic_block.png | Bin 435 -> 432 bytes .../textures/block/orange_mastic_block.png | Bin 444 -> 400 bytes .../textures/block/pansophical_daisy/0.png | Bin 0 -> 258 bytes .../textures/block/pansophical_daisy/1.png | Bin 0 -> 282 bytes .../textures/block/pansophical_daisy/2.png | Bin 0 -> 286 bytes .../textures/block/polished_dragon_stone.png | Bin 0 -> 471 bytes .../textures/block/potted_barren_roots.png | Bin 0 -> 271 bytes .../block/potted_small_chorus_growth.png | Bin 0 -> 224 bytes .../textures/block/potted_soul_roots.png | Bin 0 -> 256 bytes .../textures/block/purple_mastic_block.png | Bin 446 -> 399 bytes .../textures/block/red_mastic_block.png | Bin 435 -> 427 bytes .../textures/block/senile_bone_block_side.png | Bin 0 -> 487 bytes .../textures/block/senile_bone_block_top.png | Bin 0 -> 552 bytes .../textures/block/smooth_dragon_stone.png | Bin 0 -> 463 bytes .../textures/block/sorrowful_lichen.png | Bin 0 -> 389 bytes .../textures/block/yellow_mastic_block.png | Bin 445 -> 398 bytes .../textures/fluid/blue_mastic_resin_flow.png | Bin 456 -> 2942 bytes .../fluid/blue_mastic_resin_still.png | Bin 215 -> 520 bytes .../textures/fluid/dragon_breath_flow.png | Bin 0 -> 588 bytes .../textures/fluid/dragon_breath_still.png | Bin 0 -> 526 bytes .../fluid/green_mastic_resin_flow.png | Bin 456 -> 2877 bytes .../fluid/green_mastic_resin_still.png | Bin 215 -> 557 bytes .../textures/fluid/mastic_resin_flow.png | Bin 456 -> 2975 bytes .../textures/fluid/mastic_resin_still.png | Bin 215 -> 532 bytes .../fluid/orange_mastic_resin_flow.png | Bin 456 -> 2733 bytes .../fluid/orange_mastic_resin_still.png | Bin 215 -> 489 bytes .../fluid/purple_mastic_resin_flow.png | Bin 456 -> 2829 bytes .../fluid/purple_mastic_resin_still.png | Bin 215 -> 511 bytes .../textures/fluid/red_mastic_resin_flow.png | Bin 456 -> 2892 bytes .../textures/fluid/red_mastic_resin_still.png | Bin 215 -> 548 bytes .../textures/fluid/sweet_tea_flow.png | Bin 0 -> 15998 bytes .../textures/fluid/sweet_tea_flow.png.mcmeta | 5 + .../textures/fluid/sweet_tea_still.png | Bin 0 -> 5243 bytes .../textures/fluid/sweet_tea_still.png.mcmeta | 5 + .../fluid/yellow_mastic_resin_flow.png | Bin 456 -> 2814 bytes .../fluid/yellow_mastic_resin_still.png | Bin 215 -> 502 bytes .../textures/item/blazing_delight.png | Bin 362 -> 542 bytes .../item/blue_mastic_resin_bucket.png | Bin 291 -> 428 bytes .../garnished/textures/item/bok_choy.png | Bin 0 -> 651 bytes .../garnished/textures/item/bok_choy_leaf.png | Bin 0 -> 347 bytes .../item/bottled_malodorous_mixture.png | Bin 0 -> 376 bytes .../item/brittle_dust_alternative.png | Bin 0 -> 342 bytes .../textures/item/champion_omelette.png | Bin 0 -> 451 bytes .../textures/item/crestfallen_flora.png | Bin 0 -> 403 bytes .../garnished/textures/item/crimson_tusk.png | Bin 305 -> 539 bytes .../garnished/textures/item/dimmed_scale.png | Bin 0 -> 340 bytes .../textures/item/dragon_breath_bucket.png | Bin 0 -> 455 bytes .../garnished/textures/item/dusk_alloy.png | Bin 0 -> 405 bytes .../garnished/textures/item/dusk_sheet.png | Bin 0 -> 352 bytes .../garnished/textures/item/empty_tusk.png | Bin 268 -> 520 bytes .../garnished/textures/item/ender_shell.png | Bin 0 -> 316 bytes .../textures/item/explorers_concoction.png | Bin 302 -> 367 bytes .../garnished/textures/item/farseer_brew.png | Bin 0 -> 437 bytes .../textures/item/fiendish_spore.png | Bin 0 -> 353 bytes .../textures/item/frail_ender_shell.png | Bin 0 -> 326 bytes .../item/green_mastic_resin_bucket.png | Bin 291 -> 426 bytes .../textures/item/icy_mastic_chunk.png | Bin 246 -> 337 bytes .../textures/item/incandescent_petal.png | Bin 0 -> 306 bytes .../item/incomplete_champion_omelette.png | Bin 0 -> 339 bytes .../textures/item/incomplete_crimson_tusk.png | Bin 256 -> 496 bytes .../item/incomplete_ender_dragon_egg.png | Bin 0 -> 1200 bytes .../incomplete_ender_dragon_egg.png.mcmeta | 49 + .../textures/item/iniquitous_brew.png | Bin 0 -> 436 bytes .../garnished/textures/item/irate_tusk.png | Bin 0 -> 471 bytes .../textures/item/malodorous_mixture.png | Bin 0 -> 465 bytes .../garnished/textures/item/mastic_paste.png | Bin 247 -> 323 bytes .../textures/item/mastic_paste/blue.png | Bin 247 -> 324 bytes .../textures/item/mastic_paste/green.png | Bin 247 -> 323 bytes .../textures/item/mastic_paste/orange.png | Bin 247 -> 323 bytes .../textures/item/mastic_paste/purple.png | Bin 247 -> 322 bytes .../textures/item/mastic_paste/red.png | Bin 247 -> 312 bytes .../textures/item/mastic_paste/yellow.png | Bin 247 -> 323 bytes .../garnished/textures/item/mastic_resin.png | Bin 260 -> 382 bytes .../textures/item/mastic_resin/blue.png | Bin 275 -> 383 bytes .../textures/item/mastic_resin/green.png | Bin 275 -> 377 bytes .../textures/item/mastic_resin/orange.png | Bin 275 -> 381 bytes .../textures/item/mastic_resin/purple.png | Bin 275 -> 384 bytes .../textures/item/mastic_resin/red.png | Bin 275 -> 353 bytes .../textures/item/mastic_resin/yellow.png | Bin 275 -> 385 bytes .../textures/item/mastic_resin_bucket.png | Bin 291 -> 425 bytes .../garnished/textures/item/meat_scraps.png | Bin 0 -> 534 bytes .../garnished/textures/item/merry_treat.png | Bin 301 -> 357 bytes .../garnished/textures/item/nutty_melody.png | Bin 295 -> 387 bytes .../textures/item/omniscient_stew.png | Bin 0 -> 430 bytes .../item/orange_mastic_resin_bucket.png | Bin 291 -> 427 bytes .../textures/item/pansophical_petal.png | Bin 0 -> 341 bytes .../textures/item/piquant_pretzel.png | Bin 0 -> 412 bytes .../textures/item/preliminary_nucleus.png | Bin 0 -> 352 bytes .../item/purple_mastic_resin_bucket.png | Bin 291 -> 429 bytes .../textures/item/red_mastic_resin_bucket.png | Bin 291 -> 427 bytes .../garnished/textures/item/senile_bone.png | Bin 0 -> 285 bytes .../textures/item/senile_dust_alternative.png | Bin 0 -> 354 bytes .../textures/item/shelled_dumpling.png | Bin 0 -> 380 bytes .../item/slice_of_anniversary_cake.png | Bin 0 -> 518 bytes .../textures/item/slime_drop/blue.png | Bin 284 -> 402 bytes .../textures/item/slime_drop/green.png | Bin 284 -> 396 bytes .../textures/item/slime_drop/orange.png | Bin 284 -> 401 bytes .../textures/item/slime_drop/purple.png | Bin 284 -> 401 bytes .../textures/item/slime_drop/red.png | Bin 284 -> 401 bytes .../textures/item/slime_drop/yellow.png | Bin 284 -> 400 bytes .../garnished/textures/item/sugar_cube.png | Bin 0 -> 375 bytes .../garnished/textures/item/sweet_tea.png | Bin 0 -> 413 bytes .../textures/item/sweet_tea_bucket.png | Bin 0 -> 390 bytes .../garnished/textures/item/torrid_blend.png | Bin 0 -> 346 bytes .../assets/garnished/textures/item/tusk.png | Bin 0 -> 471 bytes .../textures/item/venerable_delicacy/blue.png | Bin 285 -> 398 bytes .../item/venerable_delicacy/green.png | Bin 285 -> 398 bytes .../item/venerable_delicacy/orange.png | Bin 285 -> 400 bytes .../item/venerable_delicacy/purple.png | Bin 285 -> 392 bytes .../textures/item/venerable_delicacy/red.png | Bin 285 -> 395 bytes .../item/venerable_delicacy/yellow.png | Bin 285 -> 398 bytes .../garnished/textures/item/vex_wing.png | Bin 0 -> 414 bytes .../garnished/textures/item/warped_brew.png | Bin 0 -> 440 bytes .../textures/item/wrapped_crimson_tangle.png | Bin 322 -> 419 bytes .../textures/item/wrapped_sepia_tangle.png | Bin 309 -> 389 bytes .../textures/item/wrapped_warped_tangle.png | Bin 310 -> 381 bytes .../item/yellow_mastic_resin_bucket.png | Bin 291 -> 427 bytes .../garnished/textures/mob_effect/austral.png | Bin 0 -> 387 bytes .../textures/mob_effect/truth_seeker.png | Bin 0 -> 466 bytes .../data/c/tags/blocks/mineable/hatchet.json | 6 +- .../entity_types/affected_by/ravaging.json | 21 +- .../entity_types/affected_by/salvaging.json | 12 +- .../c/tags/items/buckets/apple_cider.json | 6 + .../c/tags/items/buckets/cashew_mixture.json | 6 + .../c/tags/items/buckets/dragon_breath.json | 6 + .../c/tags/items/buckets/liquid_garnish.json | 6 + .../c/tags/items/buckets/mastic_resin.json | 2 +- .../data/c/tags/items/buckets/peanut_oil.json | 6 + .../data/c/tags/items/ender_dusts.json | 2 +- .../data/c/tags/items/stripped_logs.json | 2 +- .../data/c/tags/items/tools/hatchets.json | 2 +- .../create/tags/fluids/bottomless/allow.json | 6 +- .../tags/items/blaze_burner_fuel/regular.json | 3 +- .../create/tags/items/upright_on_belt.json | 16 + .../advancements/anniversary_cake.json | 29 + .../garnished/advancements/bok_choyo.json | 38 + .../data/garnished/advancements/dejojo.json | 30 + .../garnished/advancements/sweet_tea.json | 38 + .../garnished/advancements/wyvern_stone.json | 36 + .../garnished/damage_type/fan_freezing.json | 5 + .../data/garnished/damage_type/leeching.json | 5 + .../garnished/damage_type/mulch_munching.json | 5 + .../loot_tables/blocks/aureate_shrub.json | 20 + .../loot_tables/blocks/bok_choy_plant.json | 76 ++ .../loot_tables/blocks/dragon_stone.json | 20 + .../blocks/dragon_stone_bricks.json | 20 + .../blocks/dragon_stone_bricks_slab.json | 20 + .../blocks/dragon_stone_bricks_stairs.json | 20 + .../blocks/dragon_stone_bricks_wall.json | 20 + .../loot_tables/blocks/dragon_stone_slab.json | 20 + .../blocks/dragon_stone_stairs.json | 20 + .../loot_tables/blocks/dragon_stone_wall.json | 20 + .../loot_tables/blocks/incandescent_lily.json | 20 + .../loot_tables/blocks/pansophical_daisy.json | 20 + .../blocks/polished_dragon_stone.json | 20 + .../blocks/polished_dragon_stone_slab.json | 20 + .../blocks/polished_dragon_stone_stairs.json | 20 + .../blocks/polished_dragon_stone_wall.json | 20 + .../blocks/potted_aureate_shrub.json | 35 + .../blocks/potted_barren_roots.json | 35 + .../blocks/potted_incandescent_lily.json | 35 + .../blocks/potted_pansophical_daisy.json | 35 + .../blocks/potted_sepia_fungus.json | 35 + .../blocks/potted_small_chorus_plant.json | 35 + .../loot_tables/blocks/potted_soul_roots.json | 35 + .../loot_tables/blocks/senile_bone_block.json | 20 + .../blocks/smooth_dragon_stone.json | 20 + .../blocks/smooth_dragon_stone_slab.json | 20 + .../blocks/smooth_dragon_stone_stairs.json | 20 + .../blocks/smooth_dragon_stone_wall.json | 20 + .../recipes/bottled_malodorous_mixture.json | 17 + .../data/garnished/recipes/chorus_bowl.json | 3 + .../melted_cinder_almond_with_haste.json | 2 +- .../melted_cinder_cashew_with_speed.json | 2 +- ...ted_cinder_chestnut_with_slow_falling.json | 2 +- ...ted_cinder_hazelnut_with_potent_speed.json | 2 +- ...cinder_macadamia_with_fire_resistance.json | 2 +- .../melted_cinder_peanut_with_effect.json | 2 +- .../melted_cinder_pecan_with_resistance.json | 2 +- ...ed_cinder_pistachio_with_night_vision.json | 2 +- .../melted_cinder_walnut_with_strength.json | 2 +- .../recipes/compacting/fiendish_spore.json | 19 + .../recipes/compacting/mastic_resin/base.json | 3 + .../recipes/compacting/mastic_resin/blue.json | 17 +- .../compacting/mastic_resin/green.json | 14 +- .../compacting/mastic_resin/orange.json | 3 + .../compacting/mastic_resin/purple.json | 14 +- .../recipes/compacting/mastic_resin/red.json | 3 + .../compacting/mastic_resin/yellow.json | 3 + .../recipes/compacting/sugar_cube.json | 22 + .../garnished/recipes/crestfallen_flora.json | 26 + .../garnished/recipes/crushing/black_dye.json | 20 + .../garnished/recipes/crushing/bok_choy.json | 20 + .../crushing/brittle_dust_from_basalt.json | 29 + .../recipes/crushing/cracked_almond.json | 2 +- .../recipes/crushing/cracked_cashew.json | 2 +- .../recipes/crushing/cracked_chestnut.json | 2 +- .../recipes/crushing/cracked_hazelnut.json | 2 +- .../recipes/crushing/cracked_macadamia.json | 2 +- .../recipes/crushing/cracked_peanut.json | 8 +- .../recipes/crushing/cracked_pecan.json | 2 +- .../recipes/crushing/cracked_pistachio.json | 2 +- .../recipes/crushing/cracked_walnut.json | 2 +- .../recipes/crushing/crushed_salt.json | 4 +- .../garnished/recipes/crushing/cyan_dye.json | 20 + .../recipes/crushing/cyan_dye_from_petal.json | 15 + .../crushing/ender_dragon_egg_shell.json | 24 + .../recipes/crushing/orange_dye.json | 20 + .../crushing/orange_dye_from_petal.json | 15 + .../crushing/senile_bone_from_irate_tusk.json | 25 + .../crushing/senile_bone_from_tusk.json | 25 + .../recipes/deploying/sturdy_waffle.json | 2 +- .../recipes/dye_blowing/green/slime_ball.json | 14 + .../recipes/dye_blowing/red/cinder_flour.json | 14 + .../recipes/emptying/apple_cider.json | 2 +- .../recipes/emptying/dragon_breath.json | 17 + .../recipes/emptying/peanut_oil.json | 2 +- .../garnished/recipes/emptying/sweet_tea.json | 17 + .../recipes/explorers_concoction.json | 3 + .../data/garnished/recipes/farseer_brew.json | 23 + .../recipes/filling/apple_cider.json | 2 +- .../garnished/recipes/filling/peanut_oil.json | 2 +- .../garnished/recipes/filling/sweet_tea.json | 18 + .../recipes/filling/wyvern_stone/base.json | 18 + .../recipes/filling/wyvern_stone/bricks.json | 18 + .../filling/wyvern_stone/bricks_slab.json | 18 + .../filling/wyvern_stone/bricks_stairs.json | 18 + .../filling/wyvern_stone/bricks_wall.json | 18 + .../filling/wyvern_stone/chiseled_bricks.json | 18 + .../filling/wyvern_stone/polished.json | 18 + .../filling/wyvern_stone/polished_slab.json | 18 + .../filling/wyvern_stone/polished_stairs.json | 18 + .../filling/wyvern_stone/polished_wall.json | 18 + .../recipes/filling/wyvern_stone/slab.json | 18 + .../recipes/filling/wyvern_stone/stairs.json | 18 + .../recipes/filling/wyvern_stone/wall.json | 18 + ...on.json => sugar_from_garnish_powder.json} | 0 .../recipes/haunting/dragon_breath.json | 13 + .../garnished/recipes/iniquitous_brew.json | 26 + .../cutting/anniversary_cake_slice.json | 25 + .../cutting/senile_bone_from_irate_tusk.json | 25 + .../cutting/senile_bone_from_tusk.json | 25 + .../garnished/recipes/malodorous_mixture.json | 20 + .../mechanical_crafting/anniversary_cake.json | 35 + .../mechanical_crafting/blazing_delight.json | 8 +- .../mechanical_crafting/ghandercken.json | 5 +- .../garnished/recipes/milling/bok_choy.json | 15 + .../milling/brittle_dust_from_basalt.json | 29 + .../recipes/milling/crushed_salt.json | 9 +- .../recipes/mixing/piquant_pretzel.json | 32 + .../recipes/mixing/shelled_dumpling.json | 29 + .../garnished/recipes/mixing/sweet_tea.json | 26 + .../recipes/mixing/torrid_blend.json | 17 + .../data/garnished/recipes/molten_stew.json | 3 + .../recipes/nopalito_wrap_supreme.json | 2 +- .../garnished/recipes/omniscient_stew.json | 23 + .../garnished/recipes/senile_bone_block.json | 17 + .../data/garnished/recipes/senile_spread.json | 12 + .../senile_spread_from_senile_bone_block.json | 12 + .../sequenced_assembly/champion_omelette.json | 96 ++ .../sequenced_assembly/cinder_roll.json | 20 +- .../sequenced_assembly/crimson_tusk.json | 20 +- .../sequenced_assembly/ender_dragon_egg.json | 51 + .../wrapped_crimson_tangle.json | 18 +- .../wrapped_sepia_tangle.json | 18 +- .../wrapped_warped_tangle.json | 18 +- .../wyvern_stone/chiseled_wyvern_stone.json | 16 + .../wyvern_stone/polished_wyvern_stone.json | 17 + .../polished_wyvern_stone_slab.json | 16 + .../polished_wyvern_stone_stairs.json | 18 + .../polished_wyvern_stone_wall.json | 17 + .../wyvern_stone/smooth_wyvern_stone.json | 9 + .../smooth_wyvern_stone_slab.json | 16 + .../smooth_wyvern_stone_stairs.json | 18 + .../smooth_wyvern_stone_wall.json | 17 + .../wyvern_stone/wyvern_stone_bricks.json | 17 + .../wyvern_stone_bricks_slab.json | 16 + .../wyvern_stone_bricks_stairs.json | 18 + .../wyvern_stone_bricks_wall.json | 17 + .../stone/wyvern_stone/wyvern_stone_slab.json | 16 + .../wyvern_stone/wyvern_stone_stairs.json | 18 + .../stone/wyvern_stone/wyvern_stone_wall.json | 17 + .../wyvern_stone/base_from_stonecutting.json | 8 + .../bricks_from_stonecutting.json | 8 + .../bricks_slab_from_stonecutting.json | 8 + .../bricks_stairs_from_stonecutting.json | 8 + .../bricks_wall_from_stonecutting.json | 8 + .../chiseled_from_stonecutting.json | 8 + .../polished_from_stonecutting.json | 8 + .../polished_slab_from_stonecutting.json | 8 + .../polished_stairs_from_stonecutting.json | 8 + .../polished_wall_from_stonecutting.json | 8 + .../wyvern_stone/slab_from_stonecutting.json | 8 + .../smooth_from_stonecutting.json | 8 + .../smooth_slab_from_stonecutting.json | 8 + .../smooth_stairs_from_stonecutting.json | 8 + .../smooth_wall_from_stonecutting.json | 8 + .../stairs_from_stonecutting.json | 8 + .../wyvern_stone/wall_from_stonecutting.json | 8 + .../data/garnished/recipes/warped_brew.json | 26 + .../tags/blocks/stone_types/dragon_stone.json | 22 + .../garnished/tags/fluids/dragon_breath.json | 7 + .../data/garnished/tags/fluids/fluids.json | 4 +- .../data/garnished/tags/fluids/sweet_tea.json | 7 + .../tags/items/bottled/apple_cider.json | 4 +- .../tags/items/stone_types/dragon_stone.json | 22 + .../aureate_shrub_configured.json | 30 + .../crimson_vegetation_spread.json | 47 + ....json => end_stone_vegetation_spread.json} | 6 + .../incandescent_lily_configured.json | 30 + .../pansophical_daisy_configured.json | 30 + ...owful_lichen_basalt_deltas_configured.json | 23 + .../sorrowful_lichen_configured.json | 23 + ....json => soul_sand_vegetation_spread.json} | 6 + .../warped_vegetation_spread.json | 47 + .../placed_feature/aureate_shrub_placed.json | 20 + .../incandescent_lily_placed.json | 20 + .../pansophical_daisy_placed.json | 20 + .../sepia_fungus_tree_placed.json | 12 + ...sorrowful_lichen_basalt_deltas_placed.json | 38 + .../sorrowful_lichen_placed.json | 38 + .../loot_tables/entities/ravaging/blaze.json | 1 - .../entities/ravaging/cave_spider.json | 73 ++ .../entities/ravaging/dolphin.json | 19 + .../entities/ravaging/ender_dragon.json | 22 + .../entities/ravaging/enderman.json | 52 + .../entities/ravaging/endermite.json | 40 + .../loot_tables/entities/ravaging/evoker.json | 28 + .../loot_tables/entities/ravaging/ghast.json | 1 - .../loot_tables/entities/ravaging/hoglin.json | 38 + .../entities/ravaging/illusioner.json | 28 + .../entities/ravaging/magma_cube.json | 1 - .../loot_tables/entities/ravaging/piglin.json | 49 + .../entities/ravaging/pillager.json | 28 + .../entities/ravaging/polar_bear.json | 9 + .../entities/ravaging/ravager.json | 28 + .../entities/ravaging/shulker.json | 28 + .../entities/ravaging/skeleton.json | 52 + .../entities/ravaging/skeleton_horse.json | 28 + .../loot_tables/entities/ravaging/slime.json | 28 + .../entities/ravaging/sniffer.json | 37 + .../loot_tables/entities/ravaging/spider.json | 73 ++ .../loot_tables/entities/ravaging/stray.json | 64 +- .../loot_tables/entities/ravaging/vex.json | 28 + .../entities/ravaging/vindicator.json | 28 + .../loot_tables/entities/ravaging/warden.json | 1 - .../loot_tables/entities/ravaging/zoglin.json | 35 + .../entities/ravaging/zombified_piglin.json | 73 ++ .../loot_tables/entities/salvaging/allay.json | 29 + .../loot_tables/entities/salvaging/bee.json | 23 + .../loot_tables/entities/salvaging/cat.json | 62 ++ .../loot_tables/entities/salvaging/cow.json | 75 ++ .../entities/salvaging/dolphin.json | 23 + .../entities/salvaging/donkey.json | 41 + .../loot_tables/entities/salvaging/horse.json | 41 + .../loot_tables/entities/salvaging/mule.json | 41 + .../entities/salvaging/ocelot.json | 41 + .../loot_tables/entities/salvaging/pig.json | 57 ++ .../entities/salvaging/rabbit.json | 41 + .../entities/salvaging/turtle.json | 9 + .../tags/blocks/mineable/pickaxe.json | 4 +- .../data/minecraft/tags/fluids/water.json | 4 +- 626 files changed, 10724 insertions(+), 1303 deletions(-) create mode 100644 src/main/java/net/dakotapride/garnished/advancements/AnniversaryCakeTrigger.java create mode 100644 src/main/java/net/dakotapride/garnished/advancements/DejojoTheAwsomeTrigger.java create mode 100644 src/main/java/net/dakotapride/garnished/block/BokChoyPlantBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/DragonStoneStairsBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/NetherFlowerBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/NetherLichenBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockEntity.java create mode 100644 src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockRenderer.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedAureateShrubBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedBarrenRootsBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedIncandescentLilyBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedPansophicalDaisyBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSepiaFungusBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSmallChorusPlantBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSoulRootsBlock.java create mode 100644 src/main/java/net/dakotapride/garnished/effect/AustralMobEffect.java create mode 100644 src/main/java/net/dakotapride/garnished/effect/TruthSeekerMobEffect.java create mode 100644 src/main/java/net/dakotapride/garnished/enchantment/CurseOfTheLeechEnchantment.java create mode 100644 src/main/java/net/dakotapride/garnished/enchantment/QuickStepEnchantment.java create mode 100644 src/main/java/net/dakotapride/garnished/enchantment/RejuvenateEnchantment.java create mode 100644 src/main/java/net/dakotapride/garnished/enchantment/StrikingEnchantment.java create mode 100644 src/main/java/net/dakotapride/garnished/item/AnniversaryCakeSliceFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/BokChoyFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/BokChoyLeafItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/BottleOfCrestfallenFloraFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/BottledMalodorousMixtureFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/ChampionsOmeletteFoodItem.java rename src/main/java/net/dakotapride/garnished/item/{ChocholateGlazedNutFoodItem.java => ChocolateGlazedNutFoodItem.java} (76%) create mode 100644 src/main/java/net/dakotapride/garnished/item/FarseerBrewFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/IniquitousBrewFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/MeatScrapsFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/OmniscientStewFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/PiquantPretzelFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/ShelledDumplingFoodItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/SweetTeaItem.java create mode 100644 src/main/java/net/dakotapride/garnished/item/WarpedBrewFoodItem.java delete mode 100644 src/main/java/net/dakotapride/garnished/item/scratch_paper/FrostScratchPaperItemRenderer.java delete mode 100644 src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItem.java delete mode 100644 src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItemRenderer.java create mode 100644 src/main/java/net/dakotapride/garnished/registry/GarnishedAdvancementUtils.java create mode 100644 src/main/java/net/dakotapride/garnished/registry/GarnishedBlockEntities.java create mode 100644 src/main/resources/assets/emi/recipe/additions/ender_scale.json create mode 100644 src/main/resources/assets/emi/recipe/additions/endermite_heart.json create mode 100644 src/main/resources/assets/emi/recipe/additions/enflamed_mandible.json create mode 100644 src/main/resources/assets/emi/recipe/additions/ghast_tendril.json create mode 100644 src/main/resources/assets/emi/recipe/additions/irate_tusk.json create mode 100644 src/main/resources/assets/emi/recipe/additions/molten_remnant.json create mode 100644 src/main/resources/assets/emi/recipe/additions/polar_bear_hide.json create mode 100644 src/main/resources/assets/emi/recipe/additions/polar_bear_meat.json create mode 100644 src/main/resources/assets/emi/recipe/additions/ravager_meat.json create mode 100644 src/main/resources/assets/emi/recipe/additions/stray_parchment.json create mode 100644 src/main/resources/assets/emi/recipe/additions/tenebrous_meat.json create mode 100644 src/main/resources/assets/emi/recipe/additions/tusk.json create mode 100644 src/main/resources/assets/emi/recipe/additions/vex_wing.json create mode 100644 src/main/resources/assets/garnished/blockstates/anniversary_cake.json create mode 100644 src/main/resources/assets/garnished/blockstates/aureate_shrub.json create mode 100644 src/main/resources/assets/garnished/blockstates/bok_choy_plant.json create mode 100644 src/main/resources/assets/garnished/blockstates/chiseled_dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_breath.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_slab.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_stairs.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_wall.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/blockstates/dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/blockstates/incandescent_lily.json create mode 100644 src/main/resources/assets/garnished/blockstates/pansophical_daisy.json create mode 100644 src/main/resources/assets/garnished/blockstates/polished_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/blockstates/polished_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/blockstates/polished_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/blockstates/polished_dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_aureate_shrub.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_barren_roots.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_incandescent_lily.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_pansophical_daisy.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_sepia_fungus.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_small_chorus_plant.json create mode 100644 src/main/resources/assets/garnished/blockstates/potted_soul_roots.json create mode 100644 src/main/resources/assets/garnished/blockstates/senile_bone_block.json create mode 100644 src/main/resources/assets/garnished/blockstates/smooth_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/blockstates/sorrowful_lichen.json create mode 100644 src/main/resources/assets/garnished/blockstates/sweet_tea.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake_slice1.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake_slice2.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake_slice3.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake_slice4.json create mode 100644 src/main/resources/assets/garnished/models/block/anniversary_cake_slice5.json create mode 100644 src/main/resources/assets/garnished/models/block/aureate_shrub_0.json create mode 100644 src/main/resources/assets/garnished/models/block/aureate_shrub_1.json create mode 100644 src/main/resources/assets/garnished/models/block/aureate_shrub_2.json create mode 100644 src/main/resources/assets/garnished/models/block/bok_choy_stage0.json create mode 100644 src/main/resources/assets/garnished/models/block/bok_choy_stage1.json create mode 100644 src/main/resources/assets/garnished/models/block/bok_choy_stage2.json create mode 100644 src/main/resources/assets/garnished/models/block/chiseled_dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_breath.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab_top.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_inner.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_outer.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_inventory.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_post.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side_tall.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_slab_top.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_stairs_inner.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_stairs_outer.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_wall_inventory.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_wall_post.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_wall_side.json create mode 100644 src/main/resources/assets/garnished/models/block/dragon_stone_wall_side_tall.json create mode 100644 src/main/resources/assets/garnished/models/block/incandescent_lily_0.json create mode 100644 src/main/resources/assets/garnished/models/block/incandescent_lily_1.json create mode 100644 src/main/resources/assets/garnished/models/block/incandescent_lily_2.json create mode 100644 src/main/resources/assets/garnished/models/block/pansophical_daisy_0.json create mode 100644 src/main/resources/assets/garnished/models/block/pansophical_daisy_1.json create mode 100644 src/main/resources/assets/garnished/models/block/pansophical_daisy_2.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab_top.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_inner.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_outer.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_inventory.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_post.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side.json create mode 100644 src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side_tall.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_aureate_shrub.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_barren_roots.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_incandescent_lily_0.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_incandescent_lily_1.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_incandescent_lily_2.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_0.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_1.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_2.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_sepia_fungus.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_small_chorus_plant.json create mode 100644 src/main/resources/assets/garnished/models/block/potted_soul_roots.json create mode 100644 src/main/resources/assets/garnished/models/block/senile_bone_block.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab_top.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_inner.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_outer.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_inventory.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_post.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side.json create mode 100644 src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side_tall.json create mode 100644 src/main/resources/assets/garnished/models/block/sorrowful_lichen.json create mode 100644 src/main/resources/assets/garnished/models/block/sweet_tea.json create mode 100644 src/main/resources/assets/garnished/models/item/anniversary_cake.json create mode 100644 src/main/resources/assets/garnished/models/item/anniversary_cake_slice.json create mode 100644 src/main/resources/assets/garnished/models/item/aureate_shrub.json create mode 100644 src/main/resources/assets/garnished/models/item/bok_choy.json create mode 100644 src/main/resources/assets/garnished/models/item/bok_choy_seeds.json create mode 100644 src/main/resources/assets/garnished/models/item/bottled_malodorous_mixture.json create mode 100644 src/main/resources/assets/garnished/models/item/champion_omelette.json create mode 100644 src/main/resources/assets/garnished/models/item/chiseled_dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/models/item/crestfallen_flora.json create mode 100644 src/main/resources/assets/garnished/models/item/dimmed_scale.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_breath_bucket.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_bricks.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_bricks_slab.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_bricks_stairs.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_bricks_wall.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/item/dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/models/item/dusk_alloy.json create mode 100644 src/main/resources/assets/garnished/models/item/dusk_sheet.json create mode 100644 src/main/resources/assets/garnished/models/item/ender_egg_shell.json create mode 100644 src/main/resources/assets/garnished/models/item/farseer_brew.json create mode 100644 src/main/resources/assets/garnished/models/item/fiendish_spore.json create mode 100644 src/main/resources/assets/garnished/models/item/frail_ender_egg_shell.json create mode 100644 src/main/resources/assets/garnished/models/item/incandescent_lily.json create mode 100644 src/main/resources/assets/garnished/models/item/incandescent_petal.json create mode 100644 src/main/resources/assets/garnished/models/item/incomplete_champion_omelette.json create mode 100644 src/main/resources/assets/garnished/models/item/incomplete_ender_dragon_egg.json create mode 100644 src/main/resources/assets/garnished/models/item/iniquitous_brew.json create mode 100644 src/main/resources/assets/garnished/models/item/irate_tusk.json create mode 100644 src/main/resources/assets/garnished/models/item/malodorous_mixture.json create mode 100644 src/main/resources/assets/garnished/models/item/meat_scraps.json create mode 100644 src/main/resources/assets/garnished/models/item/omniscient_stew.json create mode 100644 src/main/resources/assets/garnished/models/item/pansophical_daisy.json create mode 100644 src/main/resources/assets/garnished/models/item/pansophical_petal.json create mode 100644 src/main/resources/assets/garnished/models/item/piquant_pretzel.json create mode 100644 src/main/resources/assets/garnished/models/item/polished_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/item/polished_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/item/polished_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/item/polished_dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/models/item/preliminary_nucleus.json create mode 100644 src/main/resources/assets/garnished/models/item/senile_bone.json create mode 100644 src/main/resources/assets/garnished/models/item/senile_bone_block.json create mode 100644 src/main/resources/assets/garnished/models/item/shelled_dumpling.json create mode 100644 src/main/resources/assets/garnished/models/item/smooth_dragon_stone.json create mode 100644 src/main/resources/assets/garnished/models/item/smooth_dragon_stone_slab.json create mode 100644 src/main/resources/assets/garnished/models/item/smooth_dragon_stone_stairs.json create mode 100644 src/main/resources/assets/garnished/models/item/smooth_dragon_stone_wall.json create mode 100644 src/main/resources/assets/garnished/models/item/sorrowful_lichen.json create mode 100644 src/main/resources/assets/garnished/models/item/sugar_cube.json create mode 100644 src/main/resources/assets/garnished/models/item/sweet_tea.json create mode 100644 src/main/resources/assets/garnished/models/item/sweet_tea_bucket.json create mode 100644 src/main/resources/assets/garnished/models/item/torrid_blend.json create mode 100644 src/main/resources/assets/garnished/models/item/tusk.json create mode 100644 src/main/resources/assets/garnished/models/item/vex_wing.json create mode 100644 src/main/resources/assets/garnished/models/item/warped_brew.json create mode 100644 src/main/resources/assets/garnished/textures/block/aureate_shrub/0.png create mode 100644 src/main/resources/assets/garnished/textures/block/aureate_shrub/1.png create mode 100644 src/main/resources/assets/garnished/textures/block/aureate_shrub/2.png create mode 100644 src/main/resources/assets/garnished/textures/block/bok_choy/0.png create mode 100644 src/main/resources/assets/garnished/textures/block/bok_choy/1.png create mode 100644 src/main/resources/assets/garnished/textures/block/bok_choy/2.png create mode 100644 src/main/resources/assets/garnished/textures/block/cake.png create mode 100644 src/main/resources/assets/garnished/textures/block/chiseled_dragon_stone.png create mode 100644 src/main/resources/assets/garnished/textures/block/dragon_stone.png create mode 100644 src/main/resources/assets/garnished/textures/block/dragon_stone_bricks.png create mode 100644 src/main/resources/assets/garnished/textures/block/incandescent_lily/0.png create mode 100644 src/main/resources/assets/garnished/textures/block/incandescent_lily/1.png create mode 100644 src/main/resources/assets/garnished/textures/block/incandescent_lily/2.png create mode 100644 src/main/resources/assets/garnished/textures/block/pansophical_daisy/0.png create mode 100644 src/main/resources/assets/garnished/textures/block/pansophical_daisy/1.png create mode 100644 src/main/resources/assets/garnished/textures/block/pansophical_daisy/2.png create mode 100644 src/main/resources/assets/garnished/textures/block/polished_dragon_stone.png create mode 100644 src/main/resources/assets/garnished/textures/block/potted_barren_roots.png create mode 100644 src/main/resources/assets/garnished/textures/block/potted_small_chorus_growth.png create mode 100644 src/main/resources/assets/garnished/textures/block/potted_soul_roots.png create mode 100644 src/main/resources/assets/garnished/textures/block/senile_bone_block_side.png create mode 100644 src/main/resources/assets/garnished/textures/block/senile_bone_block_top.png create mode 100644 src/main/resources/assets/garnished/textures/block/smooth_dragon_stone.png create mode 100644 src/main/resources/assets/garnished/textures/block/sorrowful_lichen.png create mode 100644 src/main/resources/assets/garnished/textures/fluid/dragon_breath_flow.png create mode 100644 src/main/resources/assets/garnished/textures/fluid/dragon_breath_still.png create mode 100644 src/main/resources/assets/garnished/textures/fluid/sweet_tea_flow.png create mode 100644 src/main/resources/assets/garnished/textures/fluid/sweet_tea_flow.png.mcmeta create mode 100644 src/main/resources/assets/garnished/textures/fluid/sweet_tea_still.png create mode 100644 src/main/resources/assets/garnished/textures/fluid/sweet_tea_still.png.mcmeta create mode 100644 src/main/resources/assets/garnished/textures/item/bok_choy.png create mode 100644 src/main/resources/assets/garnished/textures/item/bok_choy_leaf.png create mode 100644 src/main/resources/assets/garnished/textures/item/bottled_malodorous_mixture.png create mode 100644 src/main/resources/assets/garnished/textures/item/brittle_dust_alternative.png create mode 100644 src/main/resources/assets/garnished/textures/item/champion_omelette.png create mode 100644 src/main/resources/assets/garnished/textures/item/crestfallen_flora.png create mode 100644 src/main/resources/assets/garnished/textures/item/dimmed_scale.png create mode 100644 src/main/resources/assets/garnished/textures/item/dragon_breath_bucket.png create mode 100644 src/main/resources/assets/garnished/textures/item/dusk_alloy.png create mode 100644 src/main/resources/assets/garnished/textures/item/dusk_sheet.png create mode 100644 src/main/resources/assets/garnished/textures/item/ender_shell.png create mode 100644 src/main/resources/assets/garnished/textures/item/farseer_brew.png create mode 100644 src/main/resources/assets/garnished/textures/item/fiendish_spore.png create mode 100644 src/main/resources/assets/garnished/textures/item/frail_ender_shell.png create mode 100644 src/main/resources/assets/garnished/textures/item/incandescent_petal.png create mode 100644 src/main/resources/assets/garnished/textures/item/incomplete_champion_omelette.png create mode 100644 src/main/resources/assets/garnished/textures/item/incomplete_ender_dragon_egg.png create mode 100644 src/main/resources/assets/garnished/textures/item/incomplete_ender_dragon_egg.png.mcmeta create mode 100644 src/main/resources/assets/garnished/textures/item/iniquitous_brew.png create mode 100644 src/main/resources/assets/garnished/textures/item/irate_tusk.png create mode 100644 src/main/resources/assets/garnished/textures/item/malodorous_mixture.png create mode 100644 src/main/resources/assets/garnished/textures/item/meat_scraps.png create mode 100644 src/main/resources/assets/garnished/textures/item/omniscient_stew.png create mode 100644 src/main/resources/assets/garnished/textures/item/pansophical_petal.png create mode 100644 src/main/resources/assets/garnished/textures/item/piquant_pretzel.png create mode 100644 src/main/resources/assets/garnished/textures/item/preliminary_nucleus.png create mode 100644 src/main/resources/assets/garnished/textures/item/senile_bone.png create mode 100644 src/main/resources/assets/garnished/textures/item/senile_dust_alternative.png create mode 100644 src/main/resources/assets/garnished/textures/item/shelled_dumpling.png create mode 100644 src/main/resources/assets/garnished/textures/item/slice_of_anniversary_cake.png create mode 100644 src/main/resources/assets/garnished/textures/item/sugar_cube.png create mode 100644 src/main/resources/assets/garnished/textures/item/sweet_tea.png create mode 100644 src/main/resources/assets/garnished/textures/item/sweet_tea_bucket.png create mode 100644 src/main/resources/assets/garnished/textures/item/torrid_blend.png create mode 100644 src/main/resources/assets/garnished/textures/item/tusk.png create mode 100644 src/main/resources/assets/garnished/textures/item/vex_wing.png create mode 100644 src/main/resources/assets/garnished/textures/item/warped_brew.png create mode 100644 src/main/resources/assets/garnished/textures/mob_effect/austral.png create mode 100644 src/main/resources/assets/garnished/textures/mob_effect/truth_seeker.png create mode 100644 src/main/resources/data/c/tags/items/buckets/apple_cider.json create mode 100644 src/main/resources/data/c/tags/items/buckets/cashew_mixture.json create mode 100644 src/main/resources/data/c/tags/items/buckets/dragon_breath.json create mode 100644 src/main/resources/data/c/tags/items/buckets/liquid_garnish.json create mode 100644 src/main/resources/data/c/tags/items/buckets/peanut_oil.json create mode 100644 src/main/resources/data/garnished/advancements/anniversary_cake.json create mode 100644 src/main/resources/data/garnished/advancements/bok_choyo.json create mode 100644 src/main/resources/data/garnished/advancements/dejojo.json create mode 100644 src/main/resources/data/garnished/advancements/sweet_tea.json create mode 100644 src/main/resources/data/garnished/advancements/wyvern_stone.json create mode 100644 src/main/resources/data/garnished/damage_type/fan_freezing.json create mode 100644 src/main/resources/data/garnished/damage_type/leeching.json create mode 100644 src/main/resources/data/garnished/damage_type/mulch_munching.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/aureate_shrub.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/bok_choy_plant.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_slab.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_stairs.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_wall.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_slab.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_stairs.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_wall.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/incandescent_lily.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/pansophical_daisy.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_slab.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_stairs.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_wall.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_aureate_shrub.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_barren_roots.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_incandescent_lily.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_pansophical_daisy.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_sepia_fungus.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_small_chorus_plant.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/potted_soul_roots.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/senile_bone_block.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_slab.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_stairs.json create mode 100644 src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_wall.json create mode 100644 src/main/resources/data/garnished/recipes/bottled_malodorous_mixture.json create mode 100644 src/main/resources/data/garnished/recipes/compacting/fiendish_spore.json create mode 100644 src/main/resources/data/garnished/recipes/compacting/sugar_cube.json create mode 100644 src/main/resources/data/garnished/recipes/crestfallen_flora.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/black_dye.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/bok_choy.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/brittle_dust_from_basalt.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/cyan_dye.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/cyan_dye_from_petal.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/ender_dragon_egg_shell.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/orange_dye.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/orange_dye_from_petal.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/senile_bone_from_irate_tusk.json create mode 100644 src/main/resources/data/garnished/recipes/crushing/senile_bone_from_tusk.json create mode 100644 src/main/resources/data/garnished/recipes/dye_blowing/green/slime_ball.json create mode 100644 src/main/resources/data/garnished/recipes/dye_blowing/red/cinder_flour.json create mode 100644 src/main/resources/data/garnished/recipes/emptying/dragon_breath.json create mode 100644 src/main/resources/data/garnished/recipes/emptying/sweet_tea.json create mode 100644 src/main/resources/data/garnished/recipes/farseer_brew.json create mode 100644 src/main/resources/data/garnished/recipes/filling/sweet_tea.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/base.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_slab.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_wall.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/chiseled_bricks.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_slab.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_wall.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/slab.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/stairs.json create mode 100644 src/main/resources/data/garnished/recipes/filling/wyvern_stone/wall.json rename src/main/resources/data/garnished/recipes/freezing/minecraft/{sugar_from_void_dust.json.json => sugar_from_garnish_powder.json} (100%) create mode 100644 src/main/resources/data/garnished/recipes/haunting/dragon_breath.json create mode 100644 src/main/resources/data/garnished/recipes/iniquitous_brew.json create mode 100644 src/main/resources/data/garnished/recipes/integration/cutting/anniversary_cake_slice.json create mode 100644 src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_irate_tusk.json create mode 100644 src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_tusk.json create mode 100644 src/main/resources/data/garnished/recipes/malodorous_mixture.json create mode 100644 src/main/resources/data/garnished/recipes/mechanical_crafting/anniversary_cake.json create mode 100644 src/main/resources/data/garnished/recipes/milling/bok_choy.json create mode 100644 src/main/resources/data/garnished/recipes/milling/brittle_dust_from_basalt.json create mode 100644 src/main/resources/data/garnished/recipes/mixing/piquant_pretzel.json create mode 100644 src/main/resources/data/garnished/recipes/mixing/shelled_dumpling.json create mode 100644 src/main/resources/data/garnished/recipes/mixing/sweet_tea.json create mode 100644 src/main/resources/data/garnished/recipes/mixing/torrid_blend.json create mode 100644 src/main/resources/data/garnished/recipes/omniscient_stew.json create mode 100644 src/main/resources/data/garnished/recipes/senile_bone_block.json create mode 100644 src/main/resources/data/garnished/recipes/senile_spread.json create mode 100644 src/main/resources/data/garnished/recipes/senile_spread_from_senile_bone_block.json create mode 100644 src/main/resources/data/garnished/recipes/sequenced_assembly/champion_omelette.json create mode 100644 src/main/resources/data/garnished/recipes/sequenced_assembly/ender_dragon_egg.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/chiseled_wyvern_stone.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_slab.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_wall.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_slab.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_wall.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_slab.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_wall.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_slab.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_stairs.json create mode 100644 src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_wall.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/base_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_slab_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_stairs_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_wall_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/chiseled_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_slab_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_stairs_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_wall_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/slab_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_slab_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_stairs_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_wall_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/stairs_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/wall_from_stonecutting.json create mode 100644 src/main/resources/data/garnished/recipes/warped_brew.json create mode 100644 src/main/resources/data/garnished/tags/blocks/stone_types/dragon_stone.json create mode 100644 src/main/resources/data/garnished/tags/fluids/dragon_breath.json create mode 100644 src/main/resources/data/garnished/tags/fluids/sweet_tea.json create mode 100644 src/main/resources/data/garnished/tags/items/stone_types/dragon_stone.json create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/aureate_shrub_configured.json create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/crimson_vegetation_spread.json rename src/main/resources/data/garnished/worldgen/configured_feature/{end_stone_vegetation_bonemeal.json => end_stone_vegetation_spread.json} (85%) create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/incandescent_lily_configured.json create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/pansophical_daisy_configured.json create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_basalt_deltas_configured.json create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_configured.json rename src/main/resources/data/garnished/worldgen/configured_feature/{soul_sand_vegetation_bonemeal.json => soul_sand_vegetation_spread.json} (86%) create mode 100644 src/main/resources/data/garnished/worldgen/configured_feature/warped_vegetation_spread.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/aureate_shrub_placed.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/incandescent_lily_placed.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/pansophical_daisy_placed.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/sepia_fungus_tree_placed.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_basalt_deltas_placed.json create mode 100644 src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_placed.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/cave_spider.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/dolphin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/ender_dragon.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/enderman.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/endermite.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/evoker.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/hoglin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/illusioner.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/piglin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/pillager.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/ravager.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/shulker.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton_horse.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/slime.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/sniffer.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/spider.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/vex.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/vindicator.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/zoglin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/ravaging/zombified_piglin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/allay.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/bee.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/cat.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/cow.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/dolphin.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/donkey.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/horse.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/mule.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/ocelot.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/pig.json create mode 100644 src/main/resources/data/minecraft/loot_tables/entities/salvaging/rabbit.json diff --git a/gradle.properties b/gradle.properties index e735a38a..e5d4cc39 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx2G # Mod Info maven_group = net.dakotapride archives_base_name = garnished -mod_version = 1.7.4 +mod_version = 1.8 minecraft_version = 1.19.2 diff --git a/src/main/java/net/dakotapride/garnished/CreateGarnished.java b/src/main/java/net/dakotapride/garnished/CreateGarnished.java index 1e32db27..d4840882 100644 --- a/src/main/java/net/dakotapride/garnished/CreateGarnished.java +++ b/src/main/java/net/dakotapride/garnished/CreateGarnished.java @@ -2,6 +2,8 @@ import net.dakotapride.garnished.modifier.LootTableModifiers; import net.dakotapride.garnished.recipe.GarnishedFanProcessing; +import net.dakotapride.garnished.registry.GarnishedAdvancementUtils; +import net.dakotapride.garnished.registry.GarnishedBlockEntities; import net.dakotapride.garnished.registry.GarnishedEnchantments; import net.dakotapride.garnished.registry.GarnishedRecipeTypes; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; @@ -51,6 +53,7 @@ public static ResourceLocation asResource(String path) { @Override public void onInitialize() { + GarnishedBlockEntities.setRegister(); GarnishedItems.setRegister(); GarnishedBlocks.setRegister(); GarnishedTabs.setRegister(); @@ -63,6 +66,9 @@ public void onInitialize() { LootTableModifiers.modifyLootTables(); GarnishedRecipeTypes.register(); GarnishedFanProcessing.register(); + + GarnishedAdvancementUtils.register(); + REGISTRATE.get().register(); // Generation diff --git a/src/main/java/net/dakotapride/garnished/CreateGarnishedClient.java b/src/main/java/net/dakotapride/garnished/CreateGarnishedClient.java index 81b958a6..71c621c8 100644 --- a/src/main/java/net/dakotapride/garnished/CreateGarnishedClient.java +++ b/src/main/java/net/dakotapride/garnished/CreateGarnishedClient.java @@ -1,25 +1,40 @@ package net.dakotapride.garnished; +import com.mojang.blaze3d.shaders.FogShape; +import com.simibubi.create.infrastructure.config.AllConfigs; import com.terraformersmc.terraform.sign.SpriteIdentifierRegistry; +import io.github.fabricators_of_create.porting_lib.event.client.FogEvents; +import net.dakotapride.garnished.block.cake.AnniversaryCakeBlockRenderer; +import net.dakotapride.garnished.registry.GarnishedBlockEntities; import net.dakotapride.garnished.registry.GarnishedBlocks; import net.dakotapride.garnished.registry.GarnishedFluids; import net.dakotapride.garnished.registry.GarnishedPonderIndex; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry; +import net.minecraft.client.Camera; +import net.minecraft.client.Minecraft; import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.color.item.ItemColor; import net.minecraft.client.color.item.ItemColors; import net.minecraft.client.renderer.BiomeColors; +import net.minecraft.client.renderer.FogRenderer; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; import net.minecraft.client.resources.model.Material; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.Sheets; +import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.Entity; import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.FoliageColor; +import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluid; +import net.minecraft.world.level.material.FluidState; +import net.minecraft.world.level.material.FogType; public class CreateGarnishedClient implements ClientModInitializer { @@ -81,6 +96,21 @@ public void onInitializeClient() { BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.NUT_DOOR.get(), RenderType.cutout()); BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.NUT_TRAPDOOR.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.PANSOPHICAL_DAISY.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_PANSOPHICAL_DAISY.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.INCANDESCENT_LILY.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_INCANDESCENT_LILY.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.SORROWFUL_LICHEN.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.AUREATE_SHRUB.get(), RenderType.cutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_SEPIA_FUNGUS.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_SOUL_ROOTS.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_BARREN_ROOTS.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_SMALL_CHORUS_PLANT.get(), RenderType.cutout()); + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.POTTED_AUREATE_SHRUB.get(), RenderType.cutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(GarnishedBlocks.BOK_CHOY_PLANT.get(), RenderType.cutout()); + FluidRenderHandlerRegistry.INSTANCE.register(GarnishedFluids.GARNISH.get().getSource(), GarnishedFluids.GARNISH.get().getFlowing(), FluidRenderHandlerRegistry.INSTANCE.get(GarnishedFluids.GARNISH.get())); FluidRenderHandlerRegistry.INSTANCE.register(GarnishedFluids.APPLE_CIDER.get().getSource(), @@ -88,6 +118,11 @@ public void onInitializeClient() { FluidRenderHandlerRegistry.INSTANCE.register(GarnishedFluids.APPLE_CIDER.get().getSource(), GarnishedFluids.APPLE_CIDER.get().getFlowing(), FluidRenderHandlerRegistry.INSTANCE.get(GarnishedFluids.APPLE_CIDER.get())); + FogEvents.RENDER_FOG.register(CreateGarnishedClient::getGarnishedFogDensity); + FogEvents.SET_COLOR.register(CreateGarnishedClient::getGarnishedFogColour); + + BlockEntityRenderers.register(GarnishedBlockEntities.CAKE.get(), AnniversaryCakeBlockRenderer::new); + } public static synchronized void blockColourProvider(BlockColors colors) { @@ -110,4 +145,161 @@ public static synchronized void itemColourProvider(BlockColors colors, ItemColor GarnishedBlocks.PECAN_LEAVES.get(), GarnishedBlocks.BUHG_LEAVES.get(), GarnishedBlocks.PISTACHIO_LEAVES.get(), GarnishedBlocks.MACADAMIA_LEAVES.get(), GarnishedBlocks.HAZELNUT_LEAVES.get(), GarnishedBlocks.CHESTNUT_LEAVES.get()); } + public static boolean getGarnishedFogDensity(FogRenderer.FogMode mode, FogType type, Camera camera, float partialTick, float renderDistance, float nearDistance, float farDistance, FogShape shape, FogEvents.FogData fogData) { + Level level = Minecraft.getInstance().level; + BlockPos blockPos = camera.getBlockPosition(); + FluidState fluidState = level.getFluidState(blockPos); + if (camera.getPosition().y >= blockPos.getY() + fluidState.getHeight(level, blockPos)) + return false; + Fluid fluid = fluidState.getType(); + Entity entity = camera.getEntity(); + + if (GarnishedFluids.GARNISH.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.APPLE_CIDER.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.PEANUT_OIL.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.CASHEW_MIXTURE.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.RED_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.ORANGE_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.YELLOW_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.GREEN_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.BLUE_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.PURPLE_MASTIC_RESIN.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.DRAGON_BREATH.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + if (GarnishedFluids.SWEET_TEA.get().isSame(fluid)) { + fogData.scaleFarPlaneDistance(1f / 8f * AllConfigs.client().honeyTransparencyMultiplier.getF()); + return true; + } + + if (entity.isSpectator()) + return false; + + return false; + } + + public static void getGarnishedFogColour(FogEvents.ColorData event, float partialTicks) { + Camera info = event.getCamera(); + Level level = Minecraft.getInstance().level; + BlockPos blockPos = info.getBlockPosition(); + FluidState fluidState = level.getFluidState(blockPos); + if (info.getPosition().y > blockPos.getY() + fluidState.getHeight(level, blockPos)) + return; + + Fluid fluid = fluidState.getType(); + + if (GarnishedFluids.GARNISH.get().isSame(fluid)) { + event.setRed(239 / 255f); + event.setGreen(233 / 255f); + event.setBlue(227 / 255f); + return; + } + if (GarnishedFluids.APPLE_CIDER.get().isSame(fluid)) { + event.setRed(239 / 255f); + event.setGreen(179 / 255f); + event.setBlue(119 / 255f); + return; + } + if (GarnishedFluids.PEANUT_OIL.get().isSame(fluid)) { + event.setRed(202 / 255f); + event.setGreen(196 / 255f); + event.setBlue(159 / 255f); + return; + } + if (GarnishedFluids.CASHEW_MIXTURE.get().isSame(fluid)) { + event.setRed(252 / 255f); + event.setGreen(239 / 255f); + event.setBlue(207 / 255f); + return; + } + if (GarnishedFluids.MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(82 / 255f); + event.setGreen(107 / 255f); + event.setBlue(76 / 255f); + return; + } + if (GarnishedFluids.RED_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(142 / 255f); + event.setGreen(25 / 255f); + event.setBlue(25 / 255f); + return; + } + if (GarnishedFluids.ORANGE_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(165 / 255f); + event.setGreen(86 / 255f); + event.setBlue(46 / 255f); + return; + } + if (GarnishedFluids.YELLOW_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(178 / 255f); + event.setGreen(136 / 255f); + event.setBlue(53 / 255f); + return; + } + if (GarnishedFluids.GREEN_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(67 / 255f); + event.setGreen(142 / 255f); + event.setBlue(41 / 255f); + return; + } + if (GarnishedFluids.BLUE_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(57 / 255f); + event.setGreen(122 / 255f); + event.setBlue(126 / 255f); + return; + } + if (GarnishedFluids.PURPLE_MASTIC_RESIN.get().isSame(fluid)) { + event.setRed(87 / 255f); + event.setGreen(36 / 255f); + event.setBlue(153 / 255f); + return; + } + if (GarnishedFluids.DRAGON_BREATH.get().isSame(fluid)) { + event.setRed(197 / 255f); + event.setGreen(72 / 255f); + event.setBlue(131 / 255f); + return; + } + if (GarnishedFluids.SWEET_TEA.get().isSame(fluid)) { + event.setRed(227 / 255f); + event.setGreen(141 / 255f); + event.setBlue(82 / 255f); + return; + } + } } diff --git a/src/main/java/net/dakotapride/garnished/advancements/AnniversaryCakeTrigger.java b/src/main/java/net/dakotapride/garnished/advancements/AnniversaryCakeTrigger.java new file mode 100644 index 00000000..7d9ffd04 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/advancements/AnniversaryCakeTrigger.java @@ -0,0 +1,45 @@ +package net.dakotapride.garnished.advancements; + +import com.google.gson.JsonObject; +import net.dakotapride.garnished.CreateGarnished; +import net.minecraft.advancements.critereon.AbstractCriterionTriggerInstance; +import net.minecraft.advancements.critereon.DeserializationContext; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import org.jetbrains.annotations.NotNull; + +public class AnniversaryCakeTrigger extends SimpleCriterionTrigger { + private static final ResourceLocation ID = new ResourceLocation(CreateGarnished.ID, "consume_anniversary_cake_slice"); + + @Override + public @NotNull ResourceLocation getId() { + return ID; + } + + public void trigger(@NotNull ServerPlayer player) { + this.trigger(player, TriggerInstance::test); + } + + + @Override + protected @NotNull TriggerInstance createInstance(@NotNull JsonObject json, EntityPredicate.@NotNull Composite player, @NotNull DeserializationContext context) { + return new TriggerInstance(player); + } + + public static class TriggerInstance extends AbstractCriterionTriggerInstance { + public TriggerInstance(EntityPredicate.Composite player) { + super(AnniversaryCakeTrigger.ID, player); + } + + public static TriggerInstance simple() { + return new TriggerInstance(EntityPredicate.Composite.ANY); + } + + public boolean test() { + return true; + } + } +} + diff --git a/src/main/java/net/dakotapride/garnished/advancements/DejojoTheAwsomeTrigger.java b/src/main/java/net/dakotapride/garnished/advancements/DejojoTheAwsomeTrigger.java new file mode 100644 index 00000000..bdc1e160 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/advancements/DejojoTheAwsomeTrigger.java @@ -0,0 +1,44 @@ +package net.dakotapride.garnished.advancements; + +import com.google.gson.JsonObject; +import net.dakotapride.garnished.CreateGarnished; +import net.minecraft.advancements.critereon.AbstractCriterionTriggerInstance; +import net.minecraft.advancements.critereon.DeserializationContext; +import net.minecraft.advancements.critereon.EntityPredicate; +import net.minecraft.advancements.critereon.SimpleCriterionTrigger; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerPlayer; +import org.jetbrains.annotations.NotNull; + +public class DejojoTheAwsomeTrigger extends SimpleCriterionTrigger { + private static final ResourceLocation ID = new ResourceLocation(CreateGarnished.ID, "the_one_who_started_it_all"); + + @Override + public @NotNull ResourceLocation getId() { + return ID; + } + + public void trigger(@NotNull ServerPlayer player) { + this.trigger(player, TriggerInstance::test); + } + + @Override + protected @NotNull TriggerInstance createInstance(@NotNull JsonObject json, @NotNull EntityPredicate.Composite player, @NotNull DeserializationContext conditionsParser) { + return new TriggerInstance(player); + } + + public static class TriggerInstance extends AbstractCriterionTriggerInstance { + public TriggerInstance(EntityPredicate.Composite player) { + super(DejojoTheAwsomeTrigger.ID, player); + } + + public static TriggerInstance simple() { + return new TriggerInstance(EntityPredicate.Composite.ANY); + } + + public boolean test() { + return true; + } + } +} + diff --git a/src/main/java/net/dakotapride/garnished/block/BokChoyPlantBlock.java b/src/main/java/net/dakotapride/garnished/block/BokChoyPlantBlock.java new file mode 100644 index 00000000..68eee2fe --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/BokChoyPlantBlock.java @@ -0,0 +1,77 @@ +package net.dakotapride.garnished.block; + +import net.dakotapride.garnished.registry.GarnishedItems; +import net.minecraft.core.BlockPos; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BonemealableBlock; +import net.minecraft.world.level.block.CropBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.NotNull; + +public class BokChoyPlantBlock extends CropBlock implements BonemealableBlock { + public static final int MAX_AGE = 2; + public static final IntegerProperty AGE = BlockStateProperties.AGE_2; + private static final VoxelShape[] SHAPE_BY_AGE = new VoxelShape[] + { + Block.box(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D), + Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D), + Block.box(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D) + }; + + public BokChoyPlantBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public @NotNull IntegerProperty getAgeProperty() { + return AGE; + } + + @Override + public int getMaxAge() { + return 2; + } + + @Override + protected @NotNull ItemLike getBaseSeedId() { + return GarnishedItems.BOK_CHOY_SEEDS.get(); + } + + /** + * Performs a random tick on a block. + */ + @Override + public void randomTick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSource pRandom) { + if (pRandom.nextInt(2) != 0) { + super.randomTick(pState, pLevel, pPos, pRandom); + } + + } + + @Override + protected int getBonemealAgeIncrease(Level pLevel) { + return super.getBonemealAgeIncrease(pLevel) / 2; + } + + @Override + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + pBuilder.add(AGE); + } + + @Override + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return SHAPE_BY_AGE[this.getAge(pState)]; + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/DragonStoneStairsBlock.java b/src/main/java/net/dakotapride/garnished/block/DragonStoneStairsBlock.java new file mode 100644 index 00000000..3fdcd443 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/DragonStoneStairsBlock.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.block; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.StairBlock; + +public class DragonStoneStairsBlock extends StairBlock { + public DragonStoneStairsBlock(Properties properties) { + super(GarnishedBlocks.DRAGON_STONE.get().defaultBlockState(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/NetherFlowerBlock.java b/src/main/java/net/dakotapride/garnished/block/NetherFlowerBlock.java new file mode 100644 index 00000000..b5d181a0 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/NetherFlowerBlock.java @@ -0,0 +1,33 @@ +package net.dakotapride.garnished.block; + +import net.minecraft.core.BlockPos; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.BushBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.VoxelShape; + +public class NetherFlowerBlock extends BushBlock { + protected static final VoxelShape SHAPE = Block.box(5.0D, 0.0D, 5.0D, 11.0D, 10.0D, 11.0D); + + public NetherFlowerBlock(Properties pProperties) { + super(pProperties); + } + + @Override + public boolean mayPlaceOn(BlockState pState, BlockGetter pLevel, BlockPos pPos) { + return pState.is(BlockTags.NYLIUM) || pState.is(Blocks.SOUL_SOIL); + } + + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + Vec3 vec3 = pState.getOffset(pLevel, pPos); + return SHAPE.move(vec3.x, vec3.y, vec3.z); + } + +} + diff --git a/src/main/java/net/dakotapride/garnished/block/NetherLichenBlock.java b/src/main/java/net/dakotapride/garnished/block/NetherLichenBlock.java new file mode 100644 index 00000000..91e6ebef --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/NetherLichenBlock.java @@ -0,0 +1,80 @@ +package net.dakotapride.garnished.block; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.util.RandomSource; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.BonemealableBlock; +import net.minecraft.world.level.block.MultifaceBlock; +import net.minecraft.world.level.block.MultifaceSpreader; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; + +import java.util.function.ToIntFunction; + +public class NetherLichenBlock extends MultifaceBlock implements BonemealableBlock { + private final MultifaceSpreader spreader = new MultifaceSpreader(this); + + public NetherLichenBlock(Properties pProperties) { + super(pProperties); + } + + public static ToIntFunction emission(int pLight) { + return (p_181221_) -> { + return MultifaceBlock.hasAnyFace(p_181221_) ? pLight : 0; + }; + } + + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + super.createBlockStateDefinition(pBuilder); + } + + /** + * Update the provided state given the provided neighbor direction and neighbor state, returning a new state. + * For example, fences make their connections to the passed in state if possible, and wet concrete powder immediately + * returns its solidified counterpart. + * Note that this method should ideally consider only the specific direction passed in. + */ + public BlockState updateShape(BlockState pState, Direction pDirection, BlockState pNeighborState, LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pNeighborPos) { + return super.updateShape(pState, pDirection, pNeighborState, pLevel, pCurrentPos, pNeighborPos); + } + + public boolean canBeReplaced(BlockState pState, BlockPlaceContext pUseContext) { + return !pUseContext.getItemInHand().is(GarnishedBlocks.SORROWFUL_LICHEN.get().asItem()) || super.canBeReplaced(pState, pUseContext); + } + + /** + * @return whether bonemeal can be used on this block + */ + @Override + public boolean isValidBonemealTarget(BlockGetter pLevel, BlockPos pPos, BlockState pState, boolean isClient) { + return Direction.stream().anyMatch((p_153316_) -> { + return this.spreader.canSpreadInAnyDirection(pState, pLevel, pPos, p_153316_.getOpposite()); + }); + } + + public boolean isBonemealSuccess(Level pLevel, RandomSource pRandom, BlockPos pPos, BlockState pState) { + return true; + } + + public void performBonemeal(ServerLevel pLevel, RandomSource pRandom, BlockPos pPos, BlockState pState) { + this.spreader.spreadFromRandomFaceTowardRandomDirection(pState, pLevel, pPos, pRandom); + } + + public boolean propagatesSkylightDown(BlockState pState, BlockGetter pLevel, BlockPos pPos) { + return pState.getFluidState().isEmpty(); + } + + public MultifaceSpreader getSpreader() { + return this.spreader; + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/VoltaicSeagrassBlock.java b/src/main/java/net/dakotapride/garnished/block/VoltaicSeagrassBlock.java index 83de035c..697ed9f9 100644 --- a/src/main/java/net/dakotapride/garnished/block/VoltaicSeagrassBlock.java +++ b/src/main/java/net/dakotapride/garnished/block/VoltaicSeagrassBlock.java @@ -8,6 +8,8 @@ import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.animal.AbstractFish; +import net.minecraft.world.entity.animal.WaterAnimal; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -17,10 +19,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; - import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; - import org.jetbrains.annotations.NotNull; public class VoltaicSeagrassBlock extends SeagrassBlock { @@ -28,43 +28,44 @@ public VoltaicSeagrassBlock(Properties properties) { super(properties); } - @Override - public void animateTick(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull RandomSource random) { - VoxelShape voxelshape = this.getShape(state, level, pos, CollisionContext.empty()); - Vec3 vec3 = voxelshape.bounds().getCenter(); - double d0 = (double)pos.getX() + vec3.x; - double d1 = (double)pos.getZ() + vec3.z; + @Override + public void animateTick(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull RandomSource random) { + VoxelShape voxelshape = this.getShape(state, level, pos, CollisionContext.empty()); + Vec3 vec3 = voxelshape.bounds().getCenter(); + double d0 = (double)pos.getX() + vec3.x; + double d1 = (double)pos.getZ() + vec3.z; - for(int i = 0; i < 3; ++i) { - if (random.nextBoolean()) { - level.addParticle(ParticleTypes.GLOW, d0 + random.nextDouble() / 5.0D, (double)pos.getY() + (0.5D - random.nextDouble()), d1 + random.nextDouble() / 5.0D, 0.0D, 0.0D, 0.0D); - } - } + for(int i = 0; i < 3; ++i) { + if (random.nextBoolean()) { + level.addParticle(ParticleTypes.GLOW, d0 + random.nextDouble() / 5.0D, (double)pos.getY() + (0.5D - random.nextDouble()), d1 + random.nextDouble() / 5.0D, 0.0D, 0.0D, 0.0D); + } + } - } + } - @Override - public void entityInside(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull Entity entity) { - if (entity instanceof LivingEntity) { - entity.makeStuckInBlock(state, new Vec3(0.800000011920929, 0.75, 0.800000011920929)); - if (!level.isClientSide && (entity.xOld != entity.getX() || entity.zOld != entity.getZ())) { - double d = Math.abs(entity.getX() - entity.xOld); - double e = Math.abs(entity.getZ() - entity.zOld); - if (d >= 0.003000000026077032 || e >= 0.003000000026077032) { - entity.hurt(DamageSource.LIGHTNING_BOLT, 1.0F); - } - } + @Override + public void entityInside(@NotNull BlockState state, @NotNull Level level, @NotNull BlockPos pos, @NotNull Entity entity) { + // Avoid death by pathfinding + if (entity instanceof LivingEntity && !(entity instanceof WaterAnimal)) { + entity.makeStuckInBlock(state, new Vec3(0.800000011920929, 0.75, 0.800000011920929)); + if (!level.isClientSide && (entity.xOld != entity.getX() || entity.zOld != entity.getZ())) { + double d = Math.abs(entity.getX() - entity.xOld); + double e = Math.abs(entity.getZ() - entity.zOld); + if (d >= 0.003000000026077032 || e >= 0.003000000026077032) { + entity.hurt(DamageSource.LIGHTNING_BOLT, 2.0F); + } + } - } - } + } + } @Override - public @NotNull ItemStack getCloneItemStack(@NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull BlockState state) { + public ItemStack getCloneItemStack(BlockGetter level, BlockPos pos, BlockState state) { return GarnishedBlocks.VOLTAIC_SEA_GRASS.asStack(); } - @Override - public boolean isValidBonemealTarget(@NotNull BlockGetter pLevel, @NotNull BlockPos pPos, @NotNull BlockState pState, boolean pIsClient) { + @Override + public boolean isValidBonemealTarget(BlockGetter pLevel, BlockPos pPos, BlockState pState, boolean isClient) { return false; } diff --git a/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlock.java b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlock.java new file mode 100644 index 00000000..0fc31589 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlock.java @@ -0,0 +1,175 @@ +package net.dakotapride.garnished.block.cake; + +import java.util.stream.Stream; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import net.dakotapride.garnished.registry.GarnishedAdvancementUtils; +import net.dakotapride.garnished.registry.GarnishedBlockEntities; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundSource; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.BaseEntityBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.RenderShape; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.StateDefinition; +import net.minecraft.world.level.block.state.properties.IntegerProperty; +import net.minecraft.world.level.gameevent.GameEvent; +import net.minecraft.world.level.pathfinder.PathComputationType; +import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.BooleanOp; +import net.minecraft.world.phys.shapes.CollisionContext; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + +// 1-Year Anniversary of Create: Garnished - nuts! +public class AnniversaryCakeBlock extends BaseEntityBlock { + public static final IntegerProperty BITES_PROPERTY = IntegerProperty.create("anniversary_bites", 0, 5); + + public static final int MAX_BITES = 5; + public static final IntegerProperty BITES = BITES_PROPERTY; + public static final int FULL_CAKE_SIGNAL = getOutputSignal(0); + protected static final float AABB_OFFSET = 1.0F; + protected static final float AABB_SIZE_PER_BITE = 2.0F; + protected static final VoxelShape[] SHAPE_BY_BITE = new VoxelShape[] + { + Stream.of( + Block.box(0, 0, 0, 16, 7, 16), + Block.box(2, 7, 2, 14, 15, 14), + Block.box(4, 7, 4, 12, 21, 12) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), + Stream.of( + Block.box(0, 0, 0, 16, 7, 16), + Block.box(2, 7, 2, 14, 15, 14), + Block.box(8, 7, 4, 12, 21, 12) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), + Stream.of( + Block.box(0, 0, 0, 16, 7, 16), + Block.box(2, 7, 2, 14, 15, 14) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), + Stream.of( + Block.box(0, 0, 0, 16, 7, 16), + Block.box(8, 7, 2, 14, 15, 14) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), + Stream.of( + Block.box(0, 0, 0, 16, 7, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), + Stream.of( + Block.box(8, 0, 0, 16, 7, 16) + ).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get() + }; + + public AnniversaryCakeBlock(Properties pProperties) { + super(pProperties); + this.registerDefaultState(this.stateDefinition.any().setValue(BITES, Integer.valueOf(0))); + } + + public VoxelShape getShape(BlockState pState, BlockGetter pLevel, BlockPos pPos, CollisionContext pContext) { + return SHAPE_BY_BITE[pState.getValue(BITES)]; + } + + public InteractionResult use(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer, InteractionHand pHand, BlockHitResult pHit) { + ItemStack itemstack = pPlayer.getItemInHand(pHand); + + if (pLevel.isClientSide) { + if (eat(pLevel, pPos, pState, pPlayer, pHand).consumesAction()) { + return InteractionResult.SUCCESS; + } + + if (itemstack.isEmpty()) { + return InteractionResult.CONSUME; + } + } + + return eat(pLevel, pPos, pState, pPlayer, pHand); + } + + protected static InteractionResult eat(LevelAccessor pLevel, BlockPos pPos, BlockState pState, Player pPlayer, InteractionHand pHand) { + if (!pPlayer.canEat(false)) { + return InteractionResult.PASS; + } else { + pPlayer.awardStat(Stats.EAT_CAKE_SLICE); + pPlayer.getFoodData().eat(4, 0.2F); + int i = pState.getValue(BITES); + pLevel.gameEvent(pPlayer, GameEvent.EAT, pPos); + pLevel.playSound(pPlayer, pPos, SoundEvents.GENERIC_EAT, SoundSource.BLOCKS, 1.0F, 1.0F); + // GarnishedAdvancements.ANNIVERSARY_CAKE.awardTo(pPlayer); + if (pPlayer instanceof ServerPlayer) { + GarnishedAdvancementUtils.CONSUME_ANNIVERSARY_CAKE_SLICE.trigger((ServerPlayer) pPlayer); + } + if (i < 5) { + pLevel.setBlock(pPos, pState.setValue(BITES, Integer.valueOf(i + 1)), 3); + } else { + pLevel.removeBlock(pPos, false); + pLevel.gameEvent(pPlayer, GameEvent.BLOCK_DESTROY, pPos); + } + + return InteractionResult.SUCCESS; + } + } + + /** + * Update the provided state given the provided neighbor direction and neighbor state, returning a new state. + * For example, fences make their connections to the passed in state if possible, and wet concrete powder immediately + * returns its solidified counterpart. + * Note that this method should ideally consider only the specific direction passed in. + */ + public BlockState updateShape(BlockState pState, Direction pFacing, BlockState pFacingState, LevelAccessor pLevel, BlockPos pCurrentPos, BlockPos pFacingPos) { + return pFacing == Direction.DOWN && !pState.canSurvive(pLevel, pCurrentPos) ? Blocks.AIR.defaultBlockState() : super.updateShape(pState, pFacing, pFacingState, pLevel, pCurrentPos, pFacingPos); + } + + protected void createBlockStateDefinition(StateDefinition.Builder pBuilder) { + pBuilder.add(BITES); + } + + /** + * @deprecated call via {@link + * BlockStateBase#getAnalogOutputSignal} whenever possible. + * Implementing/overriding is fine. + */ + public int getAnalogOutputSignal(BlockState pBlockState, Level pLevel, BlockPos pPos) { + return getOutputSignal(pBlockState.getValue(BITES)); + } + + public static int getOutputSignal(int pEaten) { + return (7 - pEaten) * 2; + } + + /** + * @deprecated call via {@link + * BlockStateBase#hasAnalogOutputSignal} whenever possible. + * Implementing/overriding is fine. + */ + public boolean hasAnalogOutputSignal(BlockState pState) { + return true; + } + + public boolean isPathfindable(BlockState pState, BlockGetter pLevel, BlockPos pPos, PathComputationType pType) { + return false; + } + + @Nullable + @Override + public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState state) { + return GarnishedBlockEntities.CAKE.get().create(pos, state); + } + + @Override + public @NotNull RenderShape getRenderShape(@NotNull BlockState state) { + return RenderShape.MODEL; + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockEntity.java b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockEntity.java new file mode 100644 index 00000000..1a81f586 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockEntity.java @@ -0,0 +1,13 @@ +package net.dakotapride.garnished.block.cake; + +import net.dakotapride.garnished.registry.GarnishedBlockEntities; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class AnniversaryCakeBlockEntity extends BlockEntity { + public AnniversaryCakeBlockEntity(BlockEntityType type, BlockPos pos, BlockState state) { + super(GarnishedBlockEntities.CAKE.get(), pos, state); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockRenderer.java b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockRenderer.java new file mode 100644 index 00000000..564814c9 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/cake/AnniversaryCakeBlockRenderer.java @@ -0,0 +1,138 @@ +package net.dakotapride.garnished.block.cake; + +import com.mojang.math.Vector3f; + +import net.minecraft.client.renderer.block.model.ItemTransforms; + +import org.jetbrains.annotations.NotNull; + +import com.mojang.blaze3d.vertex.PoseStack; + +import net.dakotapride.garnished.registry.GarnishedItems; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; +import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.world.item.ItemStack; + +public class AnniversaryCakeBlockRenderer implements BlockEntityRenderer { + public AnniversaryCakeBlockRenderer(BlockEntityRendererProvider.Context context) {} + + @Override + public void render(AnniversaryCakeBlockEntity blockEntity, float tick, @NotNull PoseStack poseStack, + @NotNull MultiBufferSource buffer, int light, int overlay) { + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + + ItemStack topper = GarnishedItems.NUT_MIX.get().asItem().getDefaultInstance(); + ItemStack cashew = GarnishedItems.CASHEW.get().asItem().getDefaultInstance(); + ItemStack walnut = GarnishedItems.WALNUT.get().asItem().getDefaultInstance(); + ItemStack almond = GarnishedItems.ALMOND.get().asItem().getDefaultInstance(); + ItemStack pistachio = GarnishedItems.PISTACHIO.get().asItem().getDefaultInstance(); + ItemStack pecan = GarnishedItems.PECAN.get().asItem().getDefaultInstance(); + ItemStack macadamia = GarnishedItems.MACADAMIA.get().asItem().getDefaultInstance(); + ItemStack peanut = GarnishedItems.BUHG.get().asItem().getDefaultInstance(); + ItemStack chestnut = GarnishedItems.CHESTNUT.get().asItem().getDefaultInstance(); + ItemStack hazelnut = GarnishedItems.HAZELNUT.get().asItem().getDefaultInstance(); + // ItemStack garnishCompound = GarnishedItems.GARNISH_COMPOUND.get().asItem().getDefaultInstance(); + + if (blockEntity.getBlockState().getValue(AnniversaryCakeBlock.BITES_PROPERTY) != 7) { + int bites = blockEntity.getBlockState().getValue(AnniversaryCakeBlock.BITES_PROPERTY); + boolean hasLessThanOneBite = bites < 1; + boolean hasLessThanTwoBites = bites < 2; + boolean hasLessthanThreeBites = bites < 3; + boolean hasLessThanFourBites = bites < 4; + boolean hasLessThanFiveBits = bites < 5; + // Should never be under 0 bites, if it is, something has gotten horribly fucked up + boolean hasLessThanOrEqualToZeroBites = bites <= 0; + + if (hasLessThanOneBite) { + poseStack.pushPose(); + poseStack.translate(0.5f, 1.375f + 0.05 * Math.cos(2 * Math.PI / 180), 0.5f); + poseStack.scale(0.45f, 0.45f, 0.45f); + poseStack.mulPose(Vector3f.XP.rotationDegrees(25)); + poseStack.mulPose(Vector3f.YP.rotationDegrees(135)); + itemRenderer.renderStatic(topper, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.20f, 1.05f, 0.55f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(90)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(10)); + itemRenderer.renderStatic(pistachio, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + } + + if (hasLessThanTwoBites) { + poseStack.pushPose(); + poseStack.translate(0.80f, 1.025f, 0.275f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(-45)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(10)); + itemRenderer.renderStatic(hazelnut, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.525f, 1.05f, 0.80f); + poseStack.scale(0.35f, 0.35f, 0.35f); + // poseStack.mulPose(Vector3f.YP.rotationDegrees(0)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(-10)); + itemRenderer.renderStatic(peanut, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + } + + if (hasLessthanThreeBites) { + poseStack.pushPose(); + poseStack.translate(0.25f, 0.55f, 0.10f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(10)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(15)); + itemRenderer.renderStatic(cashew, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.45f, 0.55f, 0.90f); + poseStack.scale(0.35f, 0.35f, 0.35f); + // poseStack.mulPose(Vector3f.YP.rotationDegrees(0)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(-10)); + itemRenderer.renderStatic(pecan, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.10f, 0.575f, 0.35f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(90)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(10)); + itemRenderer.renderStatic(macadamia, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + } + + if (hasLessThanFourBites) { + poseStack.pushPose(); + poseStack.translate(0.90f, 0.55f, 0.875f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(45)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(-10)); + itemRenderer.renderStatic(walnut, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.90f, 0.55f, 0.125f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(-45)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(10)); + itemRenderer.renderStatic(almond, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + + poseStack.pushPose(); + poseStack.translate(0.90f, 0.575f, 0.45f); + poseStack.scale(0.35f, 0.35f, 0.35f); + poseStack.mulPose(Vector3f.YP.rotationDegrees(90)); + poseStack.mulPose(Vector3f.XP.rotationDegrees(-10)); + itemRenderer.renderStatic(chestnut, ItemTransforms.TransformType.NONE, light, overlay, poseStack, buffer, 1); + poseStack.popPose(); + } + } + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedAureateShrubBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedAureateShrubBlock.java new file mode 100644 index 00000000..53381c12 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedAureateShrubBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedAureateShrubBlock extends FlowerPotBlock { + public PottedAureateShrubBlock(Properties properties) { + super(GarnishedBlocks.AUREATE_SHRUB.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedBarrenRootsBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedBarrenRootsBlock.java new file mode 100644 index 00000000..f0a6f6bc --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedBarrenRootsBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedBarrenRootsBlock extends FlowerPotBlock { + public PottedBarrenRootsBlock(Properties properties) { + super(GarnishedBlocks.BARREN_ROOTS.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedIncandescentLilyBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedIncandescentLilyBlock.java new file mode 100644 index 00000000..dc01a741 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedIncandescentLilyBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedIncandescentLilyBlock extends FlowerPotBlock { + public PottedIncandescentLilyBlock(Properties properties) { + super(GarnishedBlocks.INCANDESCENT_LILY.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedPansophicalDaisyBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedPansophicalDaisyBlock.java new file mode 100644 index 00000000..3f5ea3a0 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedPansophicalDaisyBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedPansophicalDaisyBlock extends FlowerPotBlock { + public PottedPansophicalDaisyBlock(Properties properties) { + super(GarnishedBlocks.PANSOPHICAL_DAISY.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSepiaFungusBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSepiaFungusBlock.java new file mode 100644 index 00000000..09074940 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSepiaFungusBlock.java @@ -0,0 +1,15 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; +import org.jetbrains.annotations.Nullable; + +import java.util.function.Supplier; + +public class PottedSepiaFungusBlock extends FlowerPotBlock { + public PottedSepiaFungusBlock(Properties properties) { + super(GarnishedBlocks.SEPIA_FUNGUS.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSmallChorusPlantBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSmallChorusPlantBlock.java new file mode 100644 index 00000000..f0624f55 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSmallChorusPlantBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedSmallChorusPlantBlock extends FlowerPotBlock { + public PottedSmallChorusPlantBlock(Properties properties) { + super(GarnishedBlocks.SMALL_CHORUS_PLANT.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSoulRootsBlock.java b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSoulRootsBlock.java new file mode 100644 index 00000000..69cb220f --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/block/potted_blocks/PottedSoulRootsBlock.java @@ -0,0 +1,11 @@ +package net.dakotapride.garnished.block.potted_blocks; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FlowerPotBlock; + +public class PottedSoulRootsBlock extends FlowerPotBlock { + public PottedSoulRootsBlock(Properties properties) { + super(GarnishedBlocks.SOUL_ROOTS.get(), properties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/effect/AustralMobEffect.java b/src/main/java/net/dakotapride/garnished/effect/AustralMobEffect.java new file mode 100644 index 00000000..cf6e765f --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/effect/AustralMobEffect.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.effect; + +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; + +public class AustralMobEffect extends MobEffect { + public AustralMobEffect() { + super(MobEffectCategory.NEUTRAL, 0xE38D52); + } +} diff --git a/src/main/java/net/dakotapride/garnished/effect/MummificationMobEffect.java b/src/main/java/net/dakotapride/garnished/effect/MummificationMobEffect.java index 97b4c3f7..eb3d639f 100644 --- a/src/main/java/net/dakotapride/garnished/effect/MummificationMobEffect.java +++ b/src/main/java/net/dakotapride/garnished/effect/MummificationMobEffect.java @@ -13,6 +13,7 @@ public MummificationMobEffect() { @Override public void removeAttributeModifiers(LivingEntity entity, AttributeMap pAttributeMap, int amplifier) { - entity.hurt(DamageSource.MAGIC, (float)(6 << amplifier)); + entity.hurt(DamageSource.MAGIC, (float)(6 << amplifier)); + super.removeAttributeModifiers(entity, pAttributeMap, amplifier); } } diff --git a/src/main/java/net/dakotapride/garnished/effect/SugarHighMobEffect.java b/src/main/java/net/dakotapride/garnished/effect/SugarHighMobEffect.java index 2a187976..47f030fc 100644 --- a/src/main/java/net/dakotapride/garnished/effect/SugarHighMobEffect.java +++ b/src/main/java/net/dakotapride/garnished/effect/SugarHighMobEffect.java @@ -5,6 +5,6 @@ public class SugarHighMobEffect extends MobEffect { public SugarHighMobEffect() { - super(MobEffectCategory.NEUTRAL, 0xEAEAEA); + super(MobEffectCategory.BENEFICIAL, 0xEAEAEA); } } diff --git a/src/main/java/net/dakotapride/garnished/effect/TruthSeekerMobEffect.java b/src/main/java/net/dakotapride/garnished/effect/TruthSeekerMobEffect.java new file mode 100644 index 00000000..0e4b1eaa --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/effect/TruthSeekerMobEffect.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.effect; + +import net.minecraft.world.effect.MobEffect; +import net.minecraft.world.effect.MobEffectCategory; + +public class TruthSeekerMobEffect extends MobEffect { + public TruthSeekerMobEffect() { + super(MobEffectCategory.BENEFICIAL, 0x443058); + } +} diff --git a/src/main/java/net/dakotapride/garnished/enchantment/CurseOfTheLeechEnchantment.java b/src/main/java/net/dakotapride/garnished/enchantment/CurseOfTheLeechEnchantment.java new file mode 100644 index 00000000..c3fd79d6 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/enchantment/CurseOfTheLeechEnchantment.java @@ -0,0 +1,38 @@ +package net.dakotapride.garnished.enchantment; + +import net.minecraft.world.damagesource.DamageSource; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedDamageSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public class CurseOfTheLeechEnchantment extends HatchetEnchantment { + public CurseOfTheLeechEnchantment(Rarity rarity, EnchantmentCategory category, EquipmentSlot[] slots) { + super(rarity, category, slots); + } + + @Override + public void doPostAttack(@NotNull LivingEntity attacker, @NotNull Entity target, int level) { + if (canHit(level)) { + attacker.hurt(GarnishedDamageSource.LEECHING, 2); + } + } + + private boolean canHit(int level) { + return level > 0; + } + + @Override + public int getMaxLevel() { + return 1; + } + + @Override + public boolean isCurse() { + return true; + } +} diff --git a/src/main/java/net/dakotapride/garnished/enchantment/QuickStepEnchantment.java b/src/main/java/net/dakotapride/garnished/enchantment/QuickStepEnchantment.java new file mode 100644 index 00000000..c4b75e72 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/enchantment/QuickStepEnchantment.java @@ -0,0 +1,34 @@ +package net.dakotapride.garnished.enchantment; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.item.hatchet.HatchetUtils; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public class QuickStepEnchantment extends HatchetEnchantment { + public QuickStepEnchantment(Rarity rarity, EnchantmentCategory category, EquipmentSlot[] slots) { + super(rarity, category, slots); + } + + @Override + public boolean checkCompatibility(@NotNull Enchantment enchantment) { + return !(enchantment instanceof RavagingEnchantment) && !(enchantment instanceof RejuvenateEnchantment); + } + + @Override + public void doPostAttack(@NotNull LivingEntity attacker, @NotNull Entity target, int level) { + if (HatchetUtils.canApplyQuickStepEffects(attacker)) + attacker.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, 200, level - 1)); + } + + @Override + public int getMaxLevel() { + return 3; + } +} diff --git a/src/main/java/net/dakotapride/garnished/enchantment/RavagingEnchantment.java b/src/main/java/net/dakotapride/garnished/enchantment/RavagingEnchantment.java index 10f2d740..de2f31f4 100644 --- a/src/main/java/net/dakotapride/garnished/enchantment/RavagingEnchantment.java +++ b/src/main/java/net/dakotapride/garnished/enchantment/RavagingEnchantment.java @@ -1,6 +1,9 @@ package net.dakotapride.garnished.enchantment; +import org.jetbrains.annotations.NotNull; + import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentCategory; public class RavagingEnchantment extends HatchetEnchantment { @@ -8,6 +11,11 @@ public RavagingEnchantment(Rarity rarity, EnchantmentCategory category, Equipmen super(rarity, category, slots); } + @Override + public boolean checkCompatibility(@NotNull Enchantment enchantment) { + return !(enchantment instanceof QuickStepEnchantment); + } + @Override public int getMaxLevel() { return 1; diff --git a/src/main/java/net/dakotapride/garnished/enchantment/RejuvenateEnchantment.java b/src/main/java/net/dakotapride/garnished/enchantment/RejuvenateEnchantment.java new file mode 100644 index 00000000..855f87a2 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/enchantment/RejuvenateEnchantment.java @@ -0,0 +1,35 @@ +package net.dakotapride.garnished.enchantment; + +import org.jetbrains.annotations.NotNull; + +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public class RejuvenateEnchantment extends HatchetEnchantment { + public RejuvenateEnchantment(Rarity rarity, EnchantmentCategory category, EquipmentSlot[] slots) { + super(rarity, category, slots); + } + + @Override + public boolean checkCompatibility(@NotNull Enchantment enchantment) { + return !(enchantment instanceof QuickStepEnchantment); + } + + @Override + public void doPostAttack(@NotNull LivingEntity attacker, @NotNull Entity target, int level) { + attacker.heal(2 * level); + } + + @Override + public int getMaxLevel() { + return 2; + } + + @Override + public boolean isTreasureOnly() { + return true; + } +} diff --git a/src/main/java/net/dakotapride/garnished/enchantment/StrikingEnchantment.java b/src/main/java/net/dakotapride/garnished/enchantment/StrikingEnchantment.java new file mode 100644 index 00000000..131241f0 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/enchantment/StrikingEnchantment.java @@ -0,0 +1,33 @@ +package net.dakotapride.garnished.enchantment; + +import org.jetbrains.annotations.NotNull; + +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.MobType; +import net.minecraft.world.item.enchantment.EnchantmentCategory; + +public class StrikingEnchantment extends HatchetEnchantment { + public StrikingEnchantment(Rarity rarity, EnchantmentCategory category, EquipmentSlot[] slots) { + super(rarity, category, slots); + } + + @Override + public int getMinCost(int level) { + return 1 + (level - 1) * 8; + } + + @Override + public int getMaxCost(int level) { + return this.getMinCost(level) + 20; + } + + @Override + public float getDamageBonus(int level, @NotNull MobType mobType) { + return 1.4F + (float)Math.max(0, level - 1) * 0.60F; + } + + @Override + public int getMaxLevel() { + return 4; + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/AnniversaryCakeSliceFoodItem.java b/src/main/java/net/dakotapride/garnished/item/AnniversaryCakeSliceFoodItem.java new file mode 100644 index 00000000..13441a35 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/AnniversaryCakeSliceFoodItem.java @@ -0,0 +1,9 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; + +public class AnniversaryCakeSliceFoodItem extends FarmersDelightItem { + public AnniversaryCakeSliceFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.ANNIVERSARY_CAKE_SLICE)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/BokChoyFoodItem.java b/src/main/java/net/dakotapride/garnished/item/BokChoyFoodItem.java new file mode 100644 index 00000000..98047308 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/BokChoyFoodItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.world.item.Item; + +public class BokChoyFoodItem extends Item implements IGarnishedItem { + public BokChoyFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.BOK_CHOY)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/BokChoyLeafItem.java b/src/main/java/net/dakotapride/garnished/item/BokChoyLeafItem.java new file mode 100644 index 00000000..872b786f --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/BokChoyLeafItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedBlocks; +import net.minecraft.world.item.ItemNameBlockItem; + +public class BokChoyLeafItem extends ItemNameBlockItem { + public BokChoyLeafItem(Properties pProperties) { + super(GarnishedBlocks.BOK_CHOY_PLANT.get(), pProperties); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/BottleOfCrestfallenFloraFoodItem.java b/src/main/java/net/dakotapride/garnished/item/BottleOfCrestfallenFloraFoodItem.java new file mode 100644 index 00000000..f1b7b889 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/BottleOfCrestfallenFloraFoodItem.java @@ -0,0 +1,44 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class BottleOfCrestfallenFloraFoodItem extends Item implements IGarnishedItem { + public BottleOfCrestfallenFloraFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.BOTTLE_OF_CRESTFALLEN_FLORA).stacksTo(16)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (stack.isEmpty()) { + return new ItemStack(Items.GLASS_BOTTLE); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.GLASS_BOTTLE); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/BottledMalodorousMixtureFoodItem.java b/src/main/java/net/dakotapride/garnished/item/BottledMalodorousMixtureFoodItem.java new file mode 100644 index 00000000..cb8ff3b5 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/BottledMalodorousMixtureFoodItem.java @@ -0,0 +1,44 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class BottledMalodorousMixtureFoodItem extends Item implements IGarnishedItem { + public BottledMalodorousMixtureFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.BOTTLED_MALODOROUS_MIXTURE).stacksTo(16)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (stack.isEmpty()) { + return new ItemStack(Items.GLASS_BOTTLE); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.GLASS_BOTTLE); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/ChampionsOmeletteFoodItem.java b/src/main/java/net/dakotapride/garnished/item/ChampionsOmeletteFoodItem.java new file mode 100644 index 00000000..bb8fbe44 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/ChampionsOmeletteFoodItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.world.item.Item; + +public class ChampionsOmeletteFoodItem extends Item implements IGarnishedItem { + public ChampionsOmeletteFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.CHAMPIONS_OMELETTE).stacksTo(16)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/ChocholateGlazedNutFoodItem.java b/src/main/java/net/dakotapride/garnished/item/ChocolateGlazedNutFoodItem.java similarity index 76% rename from src/main/java/net/dakotapride/garnished/item/ChocholateGlazedNutFoodItem.java rename to src/main/java/net/dakotapride/garnished/item/ChocolateGlazedNutFoodItem.java index d2bd6734..82e3f9ba 100644 --- a/src/main/java/net/dakotapride/garnished/item/ChocholateGlazedNutFoodItem.java +++ b/src/main/java/net/dakotapride/garnished/item/ChocolateGlazedNutFoodItem.java @@ -12,9 +12,9 @@ import java.util.List; -public class ChocholateGlazedNutFoodItem extends Item implements IGarnishedItem { - public ChocholateGlazedNutFoodItem(Properties properties) { - super(properties.food(GarnishedFoods.CHOCHOLATE_GLAZED_NUT)); +public class ChocolateGlazedNutFoodItem extends Item implements IGarnishedItem { + public ChocolateGlazedNutFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.CHOCOLATE_GLAZED_NUT)); } @Override diff --git a/src/main/java/net/dakotapride/garnished/item/DesolateSpreadItem.java b/src/main/java/net/dakotapride/garnished/item/DesolateSpreadItem.java index 9531d2e2..6a69994b 100644 --- a/src/main/java/net/dakotapride/garnished/item/DesolateSpreadItem.java +++ b/src/main/java/net/dakotapride/garnished/item/DesolateSpreadItem.java @@ -74,7 +74,7 @@ public void performSpread(ServerLevel level, RandomSource random, BlockPos pos) BlockState blockstate = level.getBlockState(pos); BlockPos blockpos = pos.above(); ChunkGenerator chunkgenerator = level.getChunkSource().getGenerator(); - Registry> registry = level.registryAccess().registryOrThrow(Registry.CONFIGURED_FEATURE_REGISTRY); + Registry> registry = level.registryAccess().registryOrThrow(Registry.CONFIGURED_FEATURE_REGISTRY); if (blockstate.is(Blocks.END_STONE)) { this.place(registry, level, chunkgenerator, random, blockpos); } @@ -82,7 +82,7 @@ public void performSpread(ServerLevel level, RandomSource random, BlockPos pos) } private void place(Registry> registry, ServerLevel level, ChunkGenerator generator, RandomSource random, BlockPos pos) { - registry.getHolder(GarnishedFeatures.END_STONE_VEGETATION_BONEMEAL_CONFIGURED).ifPresent((p_255920_) -> { + registry.getHolder(GarnishedFeatures.END_STONE_VEGETATION_SPREAD_CONFIGURED).ifPresent((p_255920_) -> { p_255920_.value().place(level, generator, random, pos); }); } @@ -116,7 +116,7 @@ public static void getParticles(LevelAccessor level, BlockPos pos, int data) { double d6 = (double)pos.getX() + d5 + randomsource.nextDouble() * d0 * 2.0D; double d7 = (double)pos.getY() + randomsource.nextDouble() * d1; double d8 = (double)pos.getZ() + d5 + randomsource.nextDouble() * d0 * 2.0D; - if (!level.getBlockState(new BlockPos(d6, d7, d8).below()).isAir()) { + if (!level.getBlockState(new BlockPos(d6, d7, d8).below()).isAir()) { level.addParticle(ParticleTypes.PORTAL, d6, d7, d8, d2, d3, d4); } } diff --git a/src/main/java/net/dakotapride/garnished/item/FarseerBrewFoodItem.java b/src/main/java/net/dakotapride/garnished/item/FarseerBrewFoodItem.java new file mode 100644 index 00000000..c732fa0c --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/FarseerBrewFoodItem.java @@ -0,0 +1,57 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedEffects; +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemUtils; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class FarseerBrewFoodItem extends Item implements IGarnishedItem { + public FarseerBrewFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.FARSEER_BREW).stacksTo(1)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (!level.isClientSide) + livingEntity.addEffect(new MobEffectInstance(GarnishedEffects.TRUTH_SEEKER, 320, 1)); + + if (stack.isEmpty()) { + return new ItemStack(Items.BOWL); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.BOWL); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } + + @Override + public @NotNull InteractionResultHolder use(@NotNull Level level, @NotNull Player player, @NotNull InteractionHand usedHand) { + return ItemUtils.startUsingInstantly(level, player, usedHand); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/IGarnishedItem.java b/src/main/java/net/dakotapride/garnished/item/IGarnishedItem.java index 1e06c801..8069f9e1 100644 --- a/src/main/java/net/dakotapride/garnished/item/IGarnishedItem.java +++ b/src/main/java/net/dakotapride/garnished/item/IGarnishedItem.java @@ -2,13 +2,10 @@ import java.util.Random; -import net.dakotapride.garnished.registry.GarnishedItems; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Style; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; public interface IGarnishedItem { int baseTick = 20; @@ -32,14 +29,6 @@ default String ungarnishedText() { return "text.garnished.nut.ungarnished"; } - default String crypticAppleCiderText() { - return "text.garnished.cider.cryptic"; - } - - default String bitterAppleCiderText() { - return "text.garnished.cider.bitter"; - } - default ChatFormatting getStandardColouring() { return ChatFormatting.GRAY; } @@ -80,31 +69,6 @@ default Style getChocolateGlazedColouring() { return Style.EMPTY.withColor(0xB1543E); } - default MobEffect getCinderEffect(ItemStack stack) { - MobEffect effect = null; - Item item = stack.getItem(); - - if (item == GarnishedItems.SPEED_CINDER_CASHEW.get()) { - effect = MobEffects.MOVEMENT_SPEED; - } else if (item == GarnishedItems.STRENGTH_CINDER_WALNUT.get()) { - effect = MobEffects.DAMAGE_BOOST; - } else if (item == GarnishedItems.HASTE_CINDER_ALMOND.get()) { - effect = MobEffects.DIG_SPEED; - } else if (item == GarnishedItems.RESISTANCE_CINDER_PECAN.get()) { - effect = MobEffects.DAMAGE_RESISTANCE; - } else if (item == GarnishedItems.NIGHT_VISION_CINDER_PISTACHIO.get()) { - effect = MobEffects.NIGHT_VISION; - } else if (item == GarnishedItems.FIRE_RESISTANCE_CINDER_MACADAMIA.get()) { - effect = MobEffects.FIRE_RESISTANCE; - } else if (item == GarnishedItems.SLOW_FALLING_CINDER_CHESTNUT.get()) { - effect = MobEffects.SLOW_FALLING; - } else if (item != GarnishedItems.EFFECT_CINDER_BUHG.get() && item != GarnishedItems.POTENT_SPEED_CINDER_HAZELNUT.get()) { - return MobEffects.BLINDNESS; - } - - return effect; - } - default MobEffect getCrypticAppleCiderEffect() { int random = new Random().nextInt(2); @@ -115,14 +79,5 @@ default MobEffect getCrypticAppleCiderEffect() { } } - default boolean getWrappedTangleEffectChance() { - int random = new Random().nextInt(10); - - if (random == 1 || random == 2) { - return false; - } else { - return true; - } - } } diff --git a/src/main/java/net/dakotapride/garnished/item/IniquitousBrewFoodItem.java b/src/main/java/net/dakotapride/garnished/item/IniquitousBrewFoodItem.java new file mode 100644 index 00000000..8ccaeb47 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/IniquitousBrewFoodItem.java @@ -0,0 +1,52 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemUtils; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class IniquitousBrewFoodItem extends Item implements IGarnishedItem { + public IniquitousBrewFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.INIQUITOUS_BREW).stacksTo(1)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (stack.isEmpty()) { + return new ItemStack(Items.BOWL); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.BOWL); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } + + @Override + public @NotNull InteractionResultHolder use(@NotNull Level level, @NotNull Player player, @NotNull InteractionHand usedHand) { + return ItemUtils.startUsingInstantly(level, player, usedHand); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/MeatScrapsFoodItem.java b/src/main/java/net/dakotapride/garnished/item/MeatScrapsFoodItem.java new file mode 100644 index 00000000..fccdd47c --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/MeatScrapsFoodItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.world.item.Item; + +public class MeatScrapsFoodItem extends Item implements IGarnishedItem { + public MeatScrapsFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.MEAT_SCRAPS)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/MeltedCinderFlourNutWithEffectFoodItem.java b/src/main/java/net/dakotapride/garnished/item/MeltedCinderFlourNutWithEffectFoodItem.java index 8643fb6f..73cc35f6 100644 --- a/src/main/java/net/dakotapride/garnished/item/MeltedCinderFlourNutWithEffectFoodItem.java +++ b/src/main/java/net/dakotapride/garnished/item/MeltedCinderFlourNutWithEffectFoodItem.java @@ -11,35 +11,61 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; public class MeltedCinderFlourNutWithEffectFoodItem extends Item implements IGarnishedItem { - public MeltedCinderFlourNutWithEffectFoodItem(Properties properties) { - super(properties.food(GarnishedFoods.MELTED_CINDER_FLOUR_NUT)); + public MeltedCinderFlourNutWithEffectFoodItem(FoodProperties foodProperties, Properties properties) { + super(properties.food(foodProperties)); } - @Override - public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { - if (!stack.is(GarnishedItems.EFFECT_CINDER_BUHG.get()) && !stack.is(GarnishedItems.POTENT_SPEED_CINDER_HAZELNUT.get())) { - livingEntity.addEffect(new MobEffectInstance(getCinderEffect(stack), getCinderEffectDuration)); + public static class Peanut extends MeltedCinderFlourNutWithEffectFoodItem { + public Peanut(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_PEANUT, properties); } - - if (stack.is(GarnishedItems.EFFECT_CINDER_BUHG.get())) { - livingEntity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, getCinderEffectDuration)); - livingEntity.addEffect(new MobEffectInstance(MobEffects.INVISIBILITY, getCinderEffectDuration)); + } + public static class Walnut extends MeltedCinderFlourNutWithEffectFoodItem { + public Walnut(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_WALNUT, properties); } - - if (stack.is(GarnishedItems.POTENT_SPEED_CINDER_HAZELNUT.get())) { - livingEntity.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, getCinderEffectDuration, 1)); + } + public static class Chestnut extends MeltedCinderFlourNutWithEffectFoodItem { + public Chestnut(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_CHESTNUT, properties); + } + } + public static class Hazelnut extends MeltedCinderFlourNutWithEffectFoodItem { + public Hazelnut(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_HAZELNUT, properties); + } + } + public static class Macadamia extends MeltedCinderFlourNutWithEffectFoodItem { + public Macadamia(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_MACADAMIA, properties); + } + } + public static class Cashew extends MeltedCinderFlourNutWithEffectFoodItem { + public Cashew(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_CASHEW, properties); + } + } + public static class Pistachio extends MeltedCinderFlourNutWithEffectFoodItem { + public Pistachio(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_PISTACHIO, properties); + } + } + public static class Almond extends MeltedCinderFlourNutWithEffectFoodItem { + public Almond(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_ALMOND, properties); + } + } + public static class Pecan extends MeltedCinderFlourNutWithEffectFoodItem { + public Pecan(Properties properties) { + super(GarnishedFoods.MELTED_CINDER_FLOUR_PECAN, properties); } - - return super.finishUsingItem(stack, level, livingEntity); } @Override diff --git a/src/main/java/net/dakotapride/garnished/item/OmniscientStewFoodItem.java b/src/main/java/net/dakotapride/garnished/item/OmniscientStewFoodItem.java new file mode 100644 index 00000000..cb9a006b --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/OmniscientStewFoodItem.java @@ -0,0 +1,52 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemUtils; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class OmniscientStewFoodItem extends Item implements IGarnishedItem { + public OmniscientStewFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.OMNISCIENT_STEW).stacksTo(1)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (stack.isEmpty()) { + return new ItemStack(Items.BOWL); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.BOWL); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } + + @Override + public @NotNull InteractionResultHolder use(@NotNull Level level, @NotNull Player player, @NotNull InteractionHand usedHand) { + return ItemUtils.startUsingInstantly(level, player, usedHand); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/PiquantPretzelFoodItem.java b/src/main/java/net/dakotapride/garnished/item/PiquantPretzelFoodItem.java new file mode 100644 index 00000000..ff279a9e --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/PiquantPretzelFoodItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.world.item.Item; + +public class PiquantPretzelFoodItem extends Item implements IGarnishedItem { + public PiquantPretzelFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.PIQUANT_PRETZEL).stacksTo(16)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/SenileSpreadItem.java b/src/main/java/net/dakotapride/garnished/item/SenileSpreadItem.java index de91fa25..3f9be558 100644 --- a/src/main/java/net/dakotapride/garnished/item/SenileSpreadItem.java +++ b/src/main/java/net/dakotapride/garnished/item/SenileSpreadItem.java @@ -16,11 +16,12 @@ import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; -public class SenileSpreadItem extends Item { +public class SenileSpreadItem extends Item { public static final int SPREAD_WIDTH = 3; public static final int SPREAD_HEIGHT = 1; public static final int COUNT_MULTIPLIER = 3; @@ -51,7 +52,7 @@ public SenileSpreadItem(Properties pProperties) { public boolean applySpread(ItemStack stack, Level level, BlockPos pos) { BlockState blockstate = level.getBlockState(pos); - if (blockstate.getBlock().defaultBlockState().is(BlockTags.SOUL_FIRE_BASE_BLOCKS)) { + if (blockstate.getBlock().defaultBlockState().is(BlockTags.SOUL_FIRE_BASE_BLOCKS) || blockstate.getBlock().defaultBlockState().is(Blocks.WARPED_NYLIUM) || blockstate.getBlock().defaultBlockState().is(Blocks.CRIMSON_NYLIUM)) { if (level instanceof ServerLevel) { if (this.isSuccessful()) { this.performSpread((ServerLevel)level, level.random, pos); @@ -75,16 +76,26 @@ public void performSpread(ServerLevel level, RandomSource random, BlockPos pos) BlockPos blockpos = pos.above(); ChunkGenerator chunkgenerator = level.getChunkSource().getGenerator(); Registry> registry = level.registryAccess().registryOrThrow(Registry.CONFIGURED_FEATURE_REGISTRY); - if (blockstate.is(BlockTags.SOUL_FIRE_BASE_BLOCKS)) { - this.place(registry, level, chunkgenerator, random, blockpos); + if (blockstate.is(BlockTags.SOUL_FIRE_BASE_BLOCKS) || blockstate.is(Blocks.WARPED_NYLIUM) || blockstate.is(Blocks.CRIMSON_NYLIUM)) { + this.place(blockstate, registry, level, chunkgenerator, random, blockpos); } } - private void place(Registry> registry, ServerLevel level, ChunkGenerator generator, RandomSource random, BlockPos pos) { - registry.getHolder(GarnishedFeatures.SOUL_SAND_VEGETATION_BONEMEAL_CONFIGURED).ifPresent((p_255920_) -> { - p_255920_.value().place(level, generator, random, pos); - }); + private void place(BlockState blockstate, Registry> registry, ServerLevel level, ChunkGenerator generator, RandomSource random, BlockPos pos) { + if (blockstate.is(BlockTags.SOUL_FIRE_BASE_BLOCKS)) { + registry.getHolder(GarnishedFeatures.SOUL_SAND_VEGETATION_SPREAD_CONFIGURED).ifPresent((feature) -> { + feature.value().place(level, generator, random, pos); + }); + } else if (blockstate.is(Blocks.WARPED_NYLIUM)) { + registry.getHolder(GarnishedFeatures.WARPED_VEGETATION_SPREAD_CONFIGURED).ifPresent((feature) -> { + feature.value().place(level, generator, random, pos); + }); + } else if (blockstate.is(Blocks.CRIMSON_NYLIUM)) { + registry.getHolder(GarnishedFeatures.CRIMSON_VEGETATION_SPREAD_CONFIGURED).ifPresent((feature) -> { + feature.value().place(level, generator, random, pos); + }); + } } public static void getParticles(LevelAccessor level, BlockPos pos, int data) { @@ -116,7 +127,7 @@ public static void getParticles(LevelAccessor level, BlockPos pos, int data) { double d6 = (double)pos.getX() + d5 + randomsource.nextDouble() * d0 * 2.0D; double d7 = (double)pos.getY() + randomsource.nextDouble() * d1; double d8 = (double)pos.getZ() + d5 + randomsource.nextDouble() * d0 * 2.0D; - if (!level.getBlockState(new BlockPos(d6, d7, d8).below()).isAir()) { + if (!level.getBlockState(new BlockPos(d6, d7, d8).below()).isAir()) { level.addParticle(ParticleTypes.SOUL, d6, d7, d8, d2, d3, d4); } } diff --git a/src/main/java/net/dakotapride/garnished/item/ShelledDumplingFoodItem.java b/src/main/java/net/dakotapride/garnished/item/ShelledDumplingFoodItem.java new file mode 100644 index 00000000..a2888107 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/ShelledDumplingFoodItem.java @@ -0,0 +1,10 @@ +package net.dakotapride.garnished.item; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.world.item.Item; + +public class ShelledDumplingFoodItem extends Item implements IGarnishedItem { + public ShelledDumplingFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.SHELLED_DUMPLING).stacksTo(16)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/SweetTeaItem.java b/src/main/java/net/dakotapride/garnished/item/SweetTeaItem.java new file mode 100644 index 00000000..a1280e4f --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/SweetTeaItem.java @@ -0,0 +1,66 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedEffects; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.UseAnim; +import net.minecraft.world.level.Level; + +public class SweetTeaItem extends Item implements IGarnishedItem { + public SweetTeaItem(Properties properties) { + super(properties); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level world, @NotNull LivingEntity entity) { + Player playerentity = entity instanceof Player ? (Player) entity : null; + if (playerentity instanceof ServerPlayer) + CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) playerentity, stack); + + if (!world.isClientSide) + entity.addEffect(new MobEffectInstance(GarnishedEffects.AUSTRAL, 3 * 60 * 20, 0, false, false, false)); + + if (playerentity != null) { + playerentity.awardStat(Stats.ITEM_USED.get(this)); + playerentity.getFoodData().eat(1, .6F); + if (!playerentity.getAbilities().instabuild) + stack.shrink(1); + } + + if (playerentity == null || !playerentity.getAbilities().instabuild) { + if (stack.isEmpty()) + return new ItemStack(Items.GLASS_BOTTLE); + if (playerentity != null) + playerentity.getInventory().add(new ItemStack(Items.GLASS_BOTTLE)); + } + + return stack; + } + + @Override + public int getUseDuration(@NotNull ItemStack stack) { + return 42; + } + + @Override + public @NotNull UseAnim getUseAnimation(@NotNull ItemStack stack) { + return UseAnim.DRINK; + } + + @Override + public @NotNull InteractionResultHolder use(@NotNull Level level, Player player, InteractionHand hand) { + player.startUsingItem(hand); + return InteractionResultHolder.success(player.getItemInHand(hand)); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/VoidMixtureFoodItem.java b/src/main/java/net/dakotapride/garnished/item/VoidMixtureFoodItem.java index 6357f2f5..d82d3d0e 100644 --- a/src/main/java/net/dakotapride/garnished/item/VoidMixtureFoodItem.java +++ b/src/main/java/net/dakotapride/garnished/item/VoidMixtureFoodItem.java @@ -32,13 +32,6 @@ public VoidMixtureFoodItem(Properties properties) { serverPlayer.awardStat(Stats.ITEM_USED.get(this)); } - if (livingEntity instanceof ServerPlayer serverPlayer && getWrappedTangleEffectChance()) { - CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); - serverPlayer.awardStat(Stats.ITEM_USED.get(this)); - - livingEntity.addEffect(new MobEffectInstance(GarnishedEffects.COGNATE, getCognateEffectBaseTick, 1)); - } - if (stack.isEmpty()) { return new ItemStack(Items.BOWL); } else { diff --git a/src/main/java/net/dakotapride/garnished/item/WarpedBrewFoodItem.java b/src/main/java/net/dakotapride/garnished/item/WarpedBrewFoodItem.java new file mode 100644 index 00000000..47335257 --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/item/WarpedBrewFoodItem.java @@ -0,0 +1,52 @@ +package net.dakotapride.garnished.item; + +import org.jetbrains.annotations.NotNull; + +import net.dakotapride.garnished.registry.GarnishedFoods; +import net.minecraft.advancements.CriteriaTriggers; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.stats.Stats; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResultHolder; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemUtils; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; + +public class WarpedBrewFoodItem extends Item implements IGarnishedItem { + public WarpedBrewFoodItem(Properties properties) { + super(properties.food(GarnishedFoods.WARPED_BREW).stacksTo(1)); + } + + @Override + public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity livingEntity) { + super.finishUsingItem(stack, level, livingEntity); + if (livingEntity instanceof ServerPlayer serverPlayer) { + CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); + serverPlayer.awardStat(Stats.ITEM_USED.get(this)); + } + + if (stack.isEmpty()) { + return new ItemStack(Items.BOWL); + } else { + if (livingEntity instanceof Player && !((Player)livingEntity).getAbilities().instabuild) { + ItemStack itemStack = new ItemStack(Items.BOWL); + Player player = (Player)livingEntity; + if (!player.getInventory().add(itemStack)) { + player.drop(itemStack, false); + } + } + + return stack; + } + + } + + @Override + public @NotNull InteractionResultHolder use(@NotNull Level level, @NotNull Player player, @NotNull InteractionHand usedHand) { + return ItemUtils.startUsingInstantly(level, player, usedHand); + } +} diff --git a/src/main/java/net/dakotapride/garnished/item/WrappedSepiaTangleFoodItem.java b/src/main/java/net/dakotapride/garnished/item/WrappedSepiaTangleFoodItem.java index c1728891..8bbcca3e 100644 --- a/src/main/java/net/dakotapride/garnished/item/WrappedSepiaTangleFoodItem.java +++ b/src/main/java/net/dakotapride/garnished/item/WrappedSepiaTangleFoodItem.java @@ -31,13 +31,6 @@ public WrappedSepiaTangleFoodItem(Properties properties) { serverPlayer.awardStat(Stats.ITEM_USED.get(this)); } - if (livingEntity instanceof ServerPlayer serverPlayer && getWrappedTangleEffectChance()) { - CriteriaTriggers.CONSUME_ITEM.trigger(serverPlayer, stack); - serverPlayer.awardStat(Stats.ITEM_USED.get(this)); - - livingEntity.addEffect(new MobEffectInstance(GarnishedEffects.SPIRITED_RESISTANCE, getWrappedTangleEffectDuration, 1)); - } - if (stack.isEmpty()) { return new ItemStack(GarnishedItems.SILICA_HARDENED_WRAP.get()); } else { diff --git a/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetToolItem.java b/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetToolItem.java index e9ed5fee..e956871f 100644 --- a/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetToolItem.java +++ b/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetToolItem.java @@ -76,34 +76,43 @@ public HatchetToolItem(Tier tier, float damage, float speed, Properties properti @Override public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { - if (enchantment == Enchantments.SHARPNESS) - return true; - if (enchantment == Enchantments.SMITE) - return true; - if (enchantment == Enchantments.UNBREAKING) - return true; - if (enchantment == Enchantments.MOB_LOOTING) - return true; - if (enchantment == Enchantments.BANE_OF_ARTHROPODS) - return true; - if (enchantment == Enchantments.VANISHING_CURSE) - return true; - if (enchantment == Enchantments.MENDING) - return true; - if (enchantment == Enchantments.BLOCK_EFFICIENCY) - return true; - if (enchantment == Enchantments.BLOCK_FORTUNE) - return true; - if (enchantment == Enchantments.FIRE_ASPECT) - return true; - if (enchantment == Enchantments.KNOCKBACK) - return true; - if (enchantment == Enchantments.SILK_TOUCH) - return true; - if (enchantment == GarnishedEnchantments.SALVAGING.get()) - return true; - if (enchantment == GarnishedEnchantments.RAVAGING.get()) - return true; + if (enchantment == Enchantments.UNBREAKING) + return true; + if (enchantment == Enchantments.VANISHING_CURSE) + return true; + if (enchantment == Enchantments.MENDING) + return true; + if (enchantment == Enchantments.BLOCK_EFFICIENCY) + return true; + if (enchantment == Enchantments.BLOCK_FORTUNE) + return true; + if (enchantment == Enchantments.FIRE_ASPECT) + return true; + if (enchantment == Enchantments.KNOCKBACK) + return true; + if (enchantment == Enchantments.SILK_TOUCH) + return true; + if (enchantment == GarnishedEnchantments.SALVAGING.get()) + return true; + if (enchantment == GarnishedEnchantments.RAVAGING.get()) + return true; + if (enchantment == GarnishedEnchantments.STRIKING.get()) + return true; + if (enchantment == GarnishedEnchantments.QUICK_STEP.get()) + return true; + if (enchantment == GarnishedEnchantments.REJUVENATE.get()) + return true; + if (enchantment == GarnishedEnchantments.LEECHING_CURSE.get()) + return true; + + if (enchantment == Enchantments.MOB_LOOTING) + return false; + if (enchantment == Enchantments.SHARPNESS) + return false; + if (enchantment == Enchantments.SMITE) + return false; + if (enchantment == Enchantments.BANE_OF_ARTHROPODS) + return false; return CustomEnchantingBehaviorItem.super.canApplyAtEnchantingTable(stack, enchantment); } diff --git a/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetUtils.java b/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetUtils.java index 14e61129..f4e29c0d 100644 --- a/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetUtils.java +++ b/src/main/java/net/dakotapride/garnished/item/hatchet/HatchetUtils.java @@ -26,6 +26,20 @@ public class HatchetUtils { // Grants the player PVE/PVP benefits depending on the situation // Grants additional drops depending on the level static Enchantment ravaging = GarnishedEnchantments.RAVAGING.get(); + // Information + // Maximum Level: 4 + // Minimum Level: 1 + // + // Grants the player bonus damage, similar to Sharpness or Smite + static Enchantment striking = GarnishedEnchantments.STRIKING.get(); + // Information + // Maximum Level: 3 + // Minimum Level: 1 + // + // Grants the player a speed boost whilst under half health. This enchantment cannot be applied alongside Ravaging + static Enchantment quickStep = GarnishedEnchantments.QUICK_STEP.get(); + // + static Enchantment leechingCurse = GarnishedEnchantments.LEECHING_CURSE.get(); // random shit public static final RandomSource random = RandomSource.create(); @@ -48,9 +62,25 @@ public static boolean hasSalvaging(LivingEntity entity) { return hasEnchantment(salvaging, entity); } - public static boolean canApplyRavagingEffects(LivingEntity entity) { - return entity.getMainHandItem().is(GarnishedTags.HATCHETS_TAG) && hasEnchantment(ravaging, entity) && entity.getHealth() <= 10; - } + public static boolean hasStriking(LivingEntity entity) { + return hasEnchantment(striking, entity); + } + + public static boolean hasLeechingCurse(LivingEntity entity) { + return hasEnchantment(leechingCurse, entity); + } + + public static boolean hasQuickStep(LivingEntity entity) { + return hasEnchantment(quickStep, entity); + } + + public static boolean canApplyRavagingEffects(LivingEntity entity) { + return entity.getMainHandItem().is(GarnishedTags.HATCHETS_TAG) && hasEnchantment(ravaging, entity) && entity.getHealth() <= (entity.getMaxHealth() / 2); + } + + public static boolean canApplyQuickStepEffects(LivingEntity entity) { + return entity.getMainHandItem().is(GarnishedTags.HATCHETS_TAG) && hasEnchantment(quickStep, entity) && entity.getHealth() <= (entity.getMaxHealth() / 2); + } @Unique private static boolean hasEnchantment(Enchantment enchantment, LivingEntity entity) { diff --git a/src/main/java/net/dakotapride/garnished/item/scratch_paper/FrostScratchPaperItemRenderer.java b/src/main/java/net/dakotapride/garnished/item/scratch_paper/FrostScratchPaperItemRenderer.java deleted file mode 100644 index 906af1be..00000000 --- a/src/main/java/net/dakotapride/garnished/item/scratch_paper/FrostScratchPaperItemRenderer.java +++ /dev/null @@ -1,81 +0,0 @@ -package net.dakotapride.garnished.item.scratch_paper; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; -import com.simibubi.create.foundation.item.render.CustomRenderedItemModel; -import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; -import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; -import com.simibubi.create.foundation.utility.AnimationTickHolder; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.block.model.ItemTransforms; -import net.minecraft.client.renderer.entity.ItemRenderer; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.util.Mth; -import net.minecraft.world.item.ItemStack; - -public class FrostScratchPaperItemRenderer extends CustomRenderedItemModelRenderer { - - @Override - protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, - ItemTransforms.TransformType transformType, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - LocalPlayer player = Minecraft.getInstance().player; - float partialTicks = AnimationTickHolder.getPartialTicks(); - - boolean leftHand = transformType == ItemTransforms.TransformType.FIRST_PERSON_LEFT_HAND; - boolean firstPerson = leftHand || transformType == ItemTransforms.TransformType.FIRST_PERSON_RIGHT_HAND; - - CompoundTag tag = stack.getOrCreateTag(); - boolean jeiMode = tag.contains("JEI"); - - ms.pushPose(); - - if (tag.contains("ClearsFreezing")) { - ms.pushPose(); - - if (transformType == ItemTransforms.TransformType.GUI) { - ms.translate(0.0F, .2f, 1.0F); - ms.scale(.75f, .75f, .75f); - } else { - int modifier = leftHand ? -1 : 1; - ms.mulPose(Vector3f.YP.rotationDegrees(modifier * 40)); - } - - // Reverse bobbing - float time = (float) (!jeiMode ? player.getUseItemRemainingTicks() - : (-AnimationTickHolder.getTicks()) % stack.getUseDuration()) - partialTicks + 1.0F; - if (time / (float) stack.getUseDuration() < 0.8F) { - float bobbing = -Mth.abs(Mth.cos(time / 4.0F * (float) Math.PI) * 0.1F); - - if (transformType == ItemTransforms.TransformType.GUI) - ms.translate(bobbing, bobbing, 0.0F); - else - ms.translate(0.0f, bobbing, 0.0F); - } - - ItemStack toPolish = ItemStack.of(tag.getCompound("ClearsFreezing")); - itemRenderer.renderStatic(toPolish, ItemTransforms.TransformType.NONE, light, overlay, ms, buffer, 0); - - ms.popPose(); - } - - if (firstPerson) { - int itemInUseCount = player.getUseItemRemainingTicks(); - if (itemInUseCount > 0) { - int modifier = leftHand ? -1 : 1; - ms.translate(modifier * .5f, 0, -.25f); - ms.mulPose(Vector3f.ZP.rotationDegrees(modifier * 40)); - ms.mulPose(Vector3f.XP.rotationDegrees(modifier * 10)); - ms.mulPose(Vector3f.YP.rotationDegrees(modifier * 90)); - } - } - - itemRenderer.render(stack, ItemTransforms.TransformType.NONE, false, ms, buffer, light, overlay, model.getOriginalModel()); - - ms.popPose(); - } - -} diff --git a/src/main/java/net/dakotapride/garnished/item/scratch_paper/PolarHideScratchPaperItem.java b/src/main/java/net/dakotapride/garnished/item/scratch_paper/PolarHideScratchPaperItem.java index 052ebeba..b0ff12fb 100644 --- a/src/main/java/net/dakotapride/garnished/item/scratch_paper/PolarHideScratchPaperItem.java +++ b/src/main/java/net/dakotapride/garnished/item/scratch_paper/PolarHideScratchPaperItem.java @@ -1,6 +1,6 @@ package net.dakotapride.garnished.item.scratch_paper; -import org.jetbrains.annotations.NotNull; +import javax.annotation.ParametersAreNonnullByDefault; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.foundation.item.CustomUseEffectsItem; @@ -8,7 +8,9 @@ import com.simibubi.create.foundation.utility.VecHelper; import io.github.fabricators_of_create.porting_lib.util.NBTSerializer; +import net.dakotapride.garnished.registry.GarnishedEffects; import net.dakotapride.garnished.registry.GarnishedItems; +import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; @@ -17,99 +19,64 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.UseAnim; -import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; -import net.minecraft.world.phys.AABB; -import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; -public class PolarHideScratchPaperItem extends ScratchPaperItem implements CustomUseEffectsItem { - public PolarHideScratchPaperItem(Properties pProperties) { - super(MobEffects.MOVEMENT_SLOWDOWN, GarnishedItems.FROST, Items.BLUE_ICE.getDefaultInstance(), pProperties); +@MethodsReturnNonnullByDefault +@ParametersAreNonnullByDefault +public class PolarHideScratchPaperItem extends Item implements CustomUseEffectsItem { + + public PolarHideScratchPaperItem(Properties properties) { + super(properties.defaultDurability(16)); } @Override - public @NotNull InteractionResultHolder use(@NotNull Level level, Player player, @NotNull InteractionHand hand) { - ItemStack itemstack = player.getItemInHand(hand); + public InteractionResultHolder use(Level worldIn, Player playerIn, InteractionHand handIn) { + ItemStack itemstack = playerIn.getItemInHand(handIn); InteractionResultHolder FAIL = new InteractionResultHolder<>(InteractionResult.FAIL, itemstack); if (itemstack.getOrCreateTag() .contains("ClearsEffect")) { - player.startUsingItem(hand); + playerIn.startUsingItem(handIn); return new InteractionResultHolder<>(InteractionResult.PASS, itemstack); } InteractionHand otherHand = - hand == InteractionHand.MAIN_HAND ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND; - ItemStack itemInOtherHand = player.getItemInHand(otherHand); - if ((player.hasEffect(effect) || player.isFreezing() || player.getTicksFrozen() > 0) && itemInOtherHand.is(utility.get())) { + handIn == InteractionHand.MAIN_HAND ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND; + ItemStack itemInOtherHand = playerIn.getItemInHand(otherHand); + if ((playerIn.hasEffect(GarnishedEffects.FREEZING) || playerIn.isFreezing() || playerIn.getTicksFrozen() > 0) && itemInOtherHand.is(GarnishedItems.FROST.get())) { ItemStack item = itemInOtherHand.copy(); ItemStack toUtilize = item.split(1); - player.startUsingItem(hand); + playerIn.startUsingItem(handIn); itemstack.getOrCreateTag() .put("ClearsEffect", NBTSerializer.serializeNBT(toUtilize)); - player.setItemInHand(otherHand, item); + playerIn.setItemInHand(otherHand, item); return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemstack); } - BlockHitResult raytraceresult = getPlayerPOVHitResult(level, player, ClipContext.Fluid.NONE); - Vec3 hitVec = raytraceresult.getLocation(); - - AABB bb = new AABB(hitVec, hitVec).inflate(1f); - ItemEntity pickUp = null; - for (ItemEntity itemEntity : level.getEntitiesOfClass(ItemEntity.class, bb)) { - if (!itemEntity.isAlive()) - continue; - if (itemEntity.position() - .distanceTo(player.position()) > 3) - continue; - if (!(player.hasEffect(effect) || player.isFreezing() || player.getTicksFrozen() > 0) && itemInOtherHand.is(utility.get())) - continue; - pickUp = itemEntity; - break; - } - - if (pickUp == null) - return FAIL; - - ItemStack item = pickUp.getItem() - .copy(); - ItemStack toUtilize = item.split(1); - - player.startUsingItem(hand); - - if (!level.isClientSide) { - itemstack.getOrCreateTag() - .put("ClearsEffect", NBTSerializer.serializeNBT(toUtilize)); - if (item.isEmpty()) - pickUp.discard(); - else - pickUp.setItem(item); - } + return FAIL; - return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemstack); } @Override - public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity living) { + public ItemStack finishUsingItem(ItemStack stack, Level worldIn, LivingEntity living) { if (!(living instanceof Player player)) return stack; CompoundTag tag = stack.getOrCreateTag(); if (tag.contains("ClearsEffect")) { - if (level.isClientSide) { - spawnParticles(living.getEyePosition(1).add(living.getLookAngle().scale(.5f)), level, particleStack); + if (worldIn.isClientSide) { + spawnParticles(living.getEyePosition(1).add(living.getLookAngle().scale(.5f)), Items.BLUE_ICE.getDefaultInstance(), worldIn); return stack; } - player.removeEffect(effect); + player.removeEffect(GarnishedEffects.FREEZING); player.setTicksFrozen(0); tag.remove("ClearsEffect"); stack.hurtAndBreak(1, living, p -> p.broadcastBreakEvent(p.getUsedItemHand())); @@ -118,7 +85,7 @@ public PolarHideScratchPaperItem(Properties pProperties) { return stack; } - public static void spawnParticles(Vec3 location, Level world, ItemStack particleStack) { + public static void spawnParticles(Vec3 location, ItemStack particleStack, Level world) { for (int i = 0; i < 20; i++) { Vec3 motion = VecHelper.offsetRandomly(Vec3.ZERO, world.random, 1 / 8f); world.addParticle(new ItemParticleOption(ParticleTypes.ITEM, particleStack), location.x, location.y, @@ -127,17 +94,24 @@ public static void spawnParticles(Vec3 location, Level world, ItemStack particle } @Override - public void releaseUsing(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity living, int timeLeft) { - if (!(living instanceof Player player)) + public void releaseUsing(ItemStack stack, Level worldIn, LivingEntity entityLiving, int timeLeft) { + if (!(entityLiving instanceof Player)) return; + Player player = (Player) entityLiving; CompoundTag tag = stack.getOrCreateTag(); if (tag.contains("ClearsEffect")) { ItemStack toUtilize = ItemStack.of(tag.getCompound("ClearsEffect")); - player.getInventory().placeItemBackInInventory(toUtilize); + player.getInventory() + .placeItemBackInInventory(toUtilize); tag.remove("ClearsEffect"); } } +// @Override +// public boolean canPerformAction(ItemStack stack, ToolAction toolAction) { +// return toolAction == ToolActions.AXE_SCRAPE || toolAction == ToolActions.AXE_WAX_OFF; +// } + @Override public Boolean shouldTriggerUseEffects(ItemStack stack, LivingEntity entity) { // Trigger every tick so that we have more fine grain control over the animation @@ -148,8 +122,8 @@ public Boolean shouldTriggerUseEffects(ItemStack stack, LivingEntity entity) { public boolean triggerUseEffects(ItemStack stack, LivingEntity entity, int count, RandomSource random) { CompoundTag tag = stack.getOrCreateTag(); if (tag.contains("ClearsEffect")) { - ItemStack utilityItem = ItemStack.of(tag.getCompound("ClearsEffect")); - ((LivingEntityAccessor) entity).create$callSpawnItemParticles(utilityItem, 1); + ItemStack clearingEffect = ItemStack.of(tag.getCompound("ClearsEffect")); + ((LivingEntityAccessor) entity).create$callSpawnItemParticles(clearingEffect, 1); } // After 6 ticks play the sound every 7th @@ -161,17 +135,17 @@ public boolean triggerUseEffects(ItemStack stack, LivingEntity entity, int count } @Override - public @NotNull SoundEvent getEatingSound() { + public SoundEvent getEatingSound() { return AllSoundEvents.SANDING_SHORT.getMainEvent(); } @Override - public @NotNull UseAnim getUseAnimation(@NotNull ItemStack stack) { + public UseAnim getUseAnimation(ItemStack stack) { return UseAnim.EAT; } @Override - public int getUseDuration(@NotNull ItemStack stack) { + public int getUseDuration(ItemStack stack) { return 16; } @@ -180,9 +154,5 @@ public int getEnchantmentValue() { return 1; } - // @Override - // @OnlyIn(Dist.CLIENT) - // public void initializeClient(Consumer consumer) { - // consumer.accept(SimpleCustomRenderer.create(this, new ScratchPaperItemRenderer())); - // } } + diff --git a/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItem.java b/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItem.java deleted file mode 100644 index 6391ba62..00000000 --- a/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItem.java +++ /dev/null @@ -1,202 +0,0 @@ -package net.dakotapride.garnished.item.scratch_paper; - -import java.util.function.Supplier; - -import org.jetbrains.annotations.NotNull; - -import com.simibubi.create.AllSoundEvents; -import com.simibubi.create.foundation.item.CustomUseEffectsItem; -import com.simibubi.create.foundation.mixin.accessor.LivingEntityAccessor; -import com.simibubi.create.foundation.utility.VecHelper; - -import io.github.fabricators_of_create.porting_lib.util.NBTSerializer; -import net.minecraft.core.particles.ItemParticleOption; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.util.RandomSource; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.InteractionResultHolder; -import net.minecraft.world.effect.MobEffect; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.UseAnim; -import net.minecraft.world.level.ClipContext; -import net.minecraft.world.level.Level; -import net.minecraft.world.phys.AABB; -import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.Vec3; - -public class ScratchPaperItem extends Item implements CustomUseEffectsItem { - MobEffect effect; - Supplier utility; - ItemStack particleStack; - - public ScratchPaperItem(MobEffect effect, Supplier utilityItem, Properties pProperties) { - super(pProperties.defaultDurability(16)); - this.effect = effect; - this.utility = utilityItem; - this.particleStack = utilityItem.get().getDefaultInstance(); - } - - public ScratchPaperItem(MobEffect effect, Supplier utilityItem, ItemStack particleStack, Properties pProperties) { - super(pProperties.defaultDurability(16)); - this.effect = effect; - this.utility = utilityItem; - this.particleStack = particleStack; - } - - @Override - public @NotNull InteractionResultHolder use(@NotNull Level level, Player player, @NotNull InteractionHand hand) { - ItemStack itemstack = player.getItemInHand(hand); - InteractionResultHolder FAIL = new InteractionResultHolder<>(InteractionResult.FAIL, itemstack); - - if (itemstack.getOrCreateTag() - .contains("ClearsEffect")) { - player.startUsingItem(hand); - return new InteractionResultHolder<>(InteractionResult.PASS, itemstack); - } - - InteractionHand otherHand = - hand == InteractionHand.MAIN_HAND ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND; - ItemStack itemInOtherHand = player.getItemInHand(otherHand); - if (player.hasEffect(effect) && itemInOtherHand.is(utility.get())) { - ItemStack item = itemInOtherHand.copy(); - ItemStack toUtilize = item.split(1); - player.startUsingItem(hand); - itemstack.getOrCreateTag() - .put("ClearsEffect", NBTSerializer.serializeNBT(toUtilize)); - player.setItemInHand(otherHand, item); - return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemstack); - } - - BlockHitResult raytraceresult = getPlayerPOVHitResult(level, player, ClipContext.Fluid.NONE); - Vec3 hitVec = raytraceresult.getLocation(); - - AABB bb = new AABB(hitVec, hitVec).inflate(1f); - ItemEntity pickUp = null; - for (ItemEntity itemEntity : level.getEntitiesOfClass(ItemEntity.class, bb)) { - if (!itemEntity.isAlive()) - continue; - if (itemEntity.position() - .distanceTo(player.position()) > 3) - continue; - if (!player.hasEffect(effect) && itemInOtherHand.is(utility.get())) - continue; - pickUp = itemEntity; - break; - } - - if (pickUp == null) - return FAIL; - - ItemStack item = pickUp.getItem() - .copy(); - ItemStack toUtilize = item.split(1); - - player.startUsingItem(hand); - - if (!level.isClientSide) { - itemstack.getOrCreateTag() - .put("ClearsEffect", NBTSerializer.serializeNBT(toUtilize)); - if (item.isEmpty()) - pickUp.discard(); - else - pickUp.setItem(item); - } - - return new InteractionResultHolder<>(InteractionResult.SUCCESS, itemstack); - } - - @Override - public @NotNull ItemStack finishUsingItem(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity living) { - if (!(living instanceof Player player)) - return stack; - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("ClearsEffect")) { - - if (level.isClientSide) { - spawnParticles(living.getEyePosition(1).add(living.getLookAngle().scale(.5f)), level, particleStack); - return stack; - } - - player.removeEffect(effect); - tag.remove("ClearsEffect"); - stack.hurtAndBreak(1, living, p -> p.broadcastBreakEvent(p.getUsedItemHand())); - } - - return stack; - } - - public static void spawnParticles(Vec3 location, Level world, ItemStack particleStack) { - for (int i = 0; i < 20; i++) { - Vec3 motion = VecHelper.offsetRandomly(Vec3.ZERO, world.random, 1 / 8f); - world.addParticle(new ItemParticleOption(ParticleTypes.ITEM, particleStack), location.x, location.y, - location.z, motion.x, motion.y, motion.z); - } - } - - @Override - public void releaseUsing(@NotNull ItemStack stack, @NotNull Level level, @NotNull LivingEntity living, int timeLeft) { - if (!(living instanceof Player player)) - return; - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("ClearsEffect")) { - ItemStack toUtilize = ItemStack.of(tag.getCompound("ClearsEffect")); - player.getInventory().placeItemBackInInventory(toUtilize); - tag.remove("ClearsEffect"); - } - } - - @Override - public Boolean shouldTriggerUseEffects(ItemStack stack, LivingEntity entity) { - // Trigger every tick so that we have more fine grain control over the animation - return true; - } - - @Override - public boolean triggerUseEffects(ItemStack stack, LivingEntity entity, int count, RandomSource random) { - CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("ClearsEffect")) { - ItemStack utilityItem = ItemStack.of(tag.getCompound("ClearsEffect")); - ((LivingEntityAccessor) entity).create$callSpawnItemParticles(utilityItem, 1); - } - - // After 6 ticks play the sound every 7th - if ((entity.getTicksUsingItem() - 6) % 7 == 0) - entity.playSound(entity.getEatingSound(stack), 0.9F + 0.2F * random.nextFloat(), - random.nextFloat() * 0.2F + 0.9F); - - return true; - } - - @Override - public @NotNull SoundEvent getEatingSound() { - return AllSoundEvents.SANDING_SHORT.getMainEvent(); - } - - @Override - public @NotNull UseAnim getUseAnimation(@NotNull ItemStack stack) { - return UseAnim.EAT; - } - - @Override - public int getUseDuration(@NotNull ItemStack stack) { - return 16; - } - - @Override - public int getEnchantmentValue() { - return 1; - } - - // @Override - // @OnlyIn(Dist.CLIENT) - // public void initializeClient(Consumer consumer) { - // consumer.accept(SimpleCustomRenderer.create(this, new ScratchPaperItemRenderer())); - // } -} diff --git a/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItemRenderer.java b/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItemRenderer.java deleted file mode 100644 index 32a4a627..00000000 --- a/src/main/java/net/dakotapride/garnished/item/scratch_paper/ScratchPaperItemRenderer.java +++ /dev/null @@ -1,81 +0,0 @@ -package net.dakotapride.garnished.item.scratch_paper; - -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; -import com.simibubi.create.foundation.item.render.CustomRenderedItemModel; -import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; -import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; -import com.simibubi.create.foundation.utility.AnimationTickHolder; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.player.LocalPlayer; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.block.model.ItemTransforms; -import net.minecraft.client.renderer.entity.ItemRenderer; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.util.Mth; -import net.minecraft.world.item.ItemStack; - -public class ScratchPaperItemRenderer extends CustomRenderedItemModelRenderer { - - @Override - protected void render(ItemStack stack, CustomRenderedItemModel model, PartialItemModelRenderer renderer, - ItemTransforms.TransformType transformType, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - LocalPlayer player = Minecraft.getInstance().player; - float partialTicks = AnimationTickHolder.getPartialTicks(); - - boolean leftHand = transformType == ItemTransforms.TransformType.FIRST_PERSON_LEFT_HAND; - boolean firstPerson = leftHand || transformType == ItemTransforms.TransformType.FIRST_PERSON_RIGHT_HAND; - - CompoundTag tag = stack.getOrCreateTag(); - boolean jeiMode = tag.contains("JEI"); - - ms.pushPose(); - - if (tag.contains("ClearsEffect")) { - ms.pushPose(); - - if (transformType == ItemTransforms.TransformType.GUI) { - ms.translate(0.0F, .2f, 1.0F); - ms.scale(.75f, .75f, .75f); - } else { - int modifier = leftHand ? -1 : 1; - ms.mulPose(Vector3f.YP.rotationDegrees(modifier * 40)); - } - - // Reverse bobbing - float time = (float) (!jeiMode ? player.getUseItemRemainingTicks() - : (-AnimationTickHolder.getTicks()) % stack.getUseDuration()) - partialTicks + 1.0F; - if (time / (float) stack.getUseDuration() < 0.8F) { - float bobbing = -Mth.abs(Mth.cos(time / 4.0F * (float) Math.PI) * 0.1F); - - if (transformType == ItemTransforms.TransformType.GUI) - ms.translate(bobbing, bobbing, 0.0F); - else - ms.translate(0.0f, bobbing, 0.0F); - } - - ItemStack toPolish = ItemStack.of(tag.getCompound("ClearsEffect")); - itemRenderer.renderStatic(toPolish, ItemTransforms.TransformType.NONE, light, overlay, ms, buffer, 0); - - ms.popPose(); - } - - if (firstPerson) { - int itemInUseCount = player.getUseItemRemainingTicks(); - if (itemInUseCount > 0) { - int modifier = leftHand ? -1 : 1; - ms.translate(modifier * .5f, 0, -.25f); - ms.mulPose(Vector3f.ZP.rotationDegrees(modifier * 40)); - ms.mulPose(Vector3f.XP.rotationDegrees(modifier * 10)); - ms.mulPose(Vector3f.YP.rotationDegrees(modifier * 90)); - } - } - - itemRenderer.render(stack, ItemTransforms.TransformType.NONE, false, ms, buffer, light, overlay, model.getOriginalModel()); - - ms.popPose(); - } - -} diff --git a/src/main/java/net/dakotapride/garnished/item/tab/GarnishedCreativeModeTab.java b/src/main/java/net/dakotapride/garnished/item/tab/GarnishedCreativeModeTab.java index 7e619535..b5e42a2c 100644 --- a/src/main/java/net/dakotapride/garnished/item/tab/GarnishedCreativeModeTab.java +++ b/src/main/java/net/dakotapride/garnished/item/tab/GarnishedCreativeModeTab.java @@ -17,310 +17,346 @@ public GarnishedCreativeModeTab() { } @Override - public void fillItemList(@NotNull NonNullList items) { - items.add(GarnishedItems.CRACKED_CASHEW.asStack()); - items.add(GarnishedItems.UNGARNISHED_CASHEW.asStack()); - items.add(GarnishedItems.CASHEW.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_CASHEW.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_CASHEW.asStack()); - items.add(GarnishedItems.SPEED_CINDER_CASHEW.asStack()); - items.add(GarnishedItems.SWEETENED_CASHEW.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_CASHEW.asStack()); - items.add(GarnishedItems.HONEYED_CASHEW.asStack()); - - items.add(GarnishedItems.CRACKED_WALNUT.asStack()); - items.add(GarnishedItems.UNGARNISHED_WALNUT.asStack()); - items.add(GarnishedItems.WALNUT.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_WALNUT.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_WALNUT.asStack()); - items.add(GarnishedItems.STRENGTH_CINDER_WALNUT.asStack()); - items.add(GarnishedItems.SWEETENED_WALNUT.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_WALNUT.asStack()); - items.add(GarnishedItems.HONEYED_WALNUT.asStack()); - - items.add(GarnishedItems.CRACKED_ALMOND.asStack()); - items.add(GarnishedItems.UNGARNISHED_ALMOND.asStack()); - items.add(GarnishedItems.ALMOND.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_ALMOND.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_ALMOND.asStack()); - items.add(GarnishedItems.HASTE_CINDER_ALMOND.asStack()); - items.add(GarnishedItems.SWEETENED_ALMOND.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_ALMOND.asStack()); - items.add(GarnishedItems.HONEYED_ALMOND.asStack()); - - items.add(GarnishedItems.CRACKED_PECAN.asStack()); - items.add(GarnishedItems.UNGARNISHED_PECAN.asStack()); - items.add(GarnishedItems.PECAN.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_PECAN.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_PECAN.asStack()); - items.add(GarnishedItems.RESISTANCE_CINDER_PECAN.asStack()); - items.add(GarnishedItems.SWEETENED_PECAN.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_PECAN.asStack()); - items.add(GarnishedItems.HONEYED_PECAN.asStack()); - - items.add(GarnishedItems.CRACKED_PISTACHIO.asStack()); - items.add(GarnishedItems.UNGARNISHED_PISTACHIO.asStack()); - items.add(GarnishedItems.PISTACHIO.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_PISTACHIO.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_PISTACHIO.asStack()); - items.add(GarnishedItems.NIGHT_VISION_CINDER_PISTACHIO.asStack()); - items.add(GarnishedItems.SWEETENED_PISTACHIO.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_PISTACHIO.asStack()); - items.add(GarnishedItems.HONEYED_PISTACHIO.asStack()); - - items.add(GarnishedItems.CRACKED_MACADAMIA.asStack()); - items.add(GarnishedItems.UNGARNISHED_MACADAMIA.asStack()); - items.add(GarnishedItems.MACADAMIA.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_MACADAMIA.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_MACADAMIA.asStack()); - items.add(GarnishedItems.FIRE_RESISTANCE_CINDER_MACADAMIA.asStack()); - items.add(GarnishedItems.SWEETENED_MACADAMIA.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_MACADAMIA.asStack()); - items.add(GarnishedItems.HONEYED_MACADAMIA.asStack()); - - items.add(GarnishedItems.CRACKED_BUHG.asStack()); - items.add(GarnishedItems.UNGARNISHED_BUHG.asStack()); - items.add(GarnishedItems.BUHG.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_BUHG.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_BUHG.asStack()); - items.add(GarnishedItems.EFFECT_CINDER_BUHG.asStack()); - items.add(GarnishedItems.SWEETENED_BUHG.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_BUHG.asStack()); - items.add(GarnishedItems.HONEYED_BUHG.asStack()); - - items.add(GarnishedItems.CRACKED_HAZELNUT.asStack()); - items.add(GarnishedItems.UNGARNISHED_HAZELNUT.asStack()); - items.add(GarnishedItems.HAZELNUT.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_HAZELNUT.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_HAZELNUT.asStack()); - items.add(GarnishedItems.POTENT_SPEED_CINDER_HAZELNUT.asStack()); - items.add(GarnishedItems.SWEETENED_HAZELNUT.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_HAZELNUT.asStack()); - items.add(GarnishedItems.HONEYED_HAZELNUT.asStack()); - - items.add(GarnishedItems.CRACKED_CHESTNUT.asStack()); - items.add(GarnishedItems.UNGARNISHED_CHESTNUT.asStack()); - items.add(GarnishedItems.CHESTNUT.asStack()); - items.add(GarnishedItems.CINDER_FLOUR_CHESTNUT.asStack()); - items.add(GarnishedItems.MELTED_CINDER_FLOUR_CHESTNUT.asStack()); - items.add(GarnishedItems.SLOW_FALLING_CINDER_CHESTNUT.asStack()); - items.add(GarnishedItems.SWEETENED_CHESTNUT.asStack()); - items.add(GarnishedItems.CHOCOLATE_GLAZED_CHESTNUT.asStack()); - items.add(GarnishedItems.HONEYED_CHESTNUT.asStack()); - - items.add(GarnishedItems.NUT_MIX.asStack()); - items.add(GarnishedItems.SWEETENED_NUT_MIX.asStack()); - items.add(GarnishedItems.CHOCHOLATE_GLAZED_NUT_MIX.asStack()); - items.add(GarnishedItems.HONEYED_NUT_MIX.asStack()); - - items.add(GarnishedItems.GARNISHED_MEAL.asStack()); - - items.add(GarnishedItems.GARNISHED_SWEET_BERRIES.asStack()); - items.add(GarnishedItems.HONEYED_SWEET_BERRIES.asStack()); - - items.add(GarnishedItems.SALAD.asStack()); - items.add(GarnishedItems.PHANTOM_STEAK.asStack()); - items.add(GarnishedItems.BITTER_ALMOND.asStack()); - items.add(GarnishedItems.ALMOND_CHEESE.asStack()); - items.add(GarnishedItems.CASHEW_APPLE.asStack()); - items.add(GarnishedItems.WALNUT_BROWNIE.asStack()); - items.add(GarnishedItems.PECAN_PIE.asStack()); - items.add(GarnishedItems.CASHEW_COOKIE.asStack()); - - items.add(GarnishedItems.PEANUT_OIL_AND_CINDER_SANDWICH.asStack()); - items.add(GarnishedItems.TOPHET_BREW.asStack()); - items.add(GarnishedItems.GRIM_STEW.asStack()); - items.add(GarnishedItems.SOUL_KHANA.asStack()); - items.add(GarnishedItems.SPIRITED_CONCOCTION.asStack()); - items.add(GarnishedItems.PUTRID_STEW.asStack()); - items.add(GarnishedItems.NUT_NACHO_BOWL.asStack()); - items.add(GarnishedItems.CINDER_ROLL.asStack()); - items.add(GarnishedItems.WRAPPED_CRIMSON_TANGLE.asStack()); - items.add(GarnishedItems.WRAPPED_WARPED_TANGLE.asStack()); - items.add(GarnishedItems.WRAPPED_SEPIA_TANGLE.asStack()); - items.add(GarnishedItems.WEEPING_TANGLE.asStack()); - items.add(GarnishedItems.BLAZING_DELIGHT.asStack()); - items.add(GarnishedItems.CRUSHED_CRIMSON_FUNGUS.asStack()); - items.add(GarnishedItems.CRUSHED_WARPED_FUNGUS.asStack()); - items.add(GarnishedItems.CRUSHED_SEPIA_FUNGUS.asStack()); - items.add(GarnishedItems.CRUSHED_SHROOMLIGHT.asStack()); - items.add(GarnishedItems.CRUSHED_ENDER_PEARL.asStack()); - items.add(GarnishedItems.NUT_FLOUR.asStack()); - items.add(GarnishedItems.NUT_NACHO.asStack()); - items.add(GarnishedItems.BRITTLE_DUST.asStack()); - items.add(GarnishedItems.SENILE_DUST.asStack()); - items.add(GarnishedItems.SENILE_SPREAD.asStack()); - items.add(GarnishedItems.CRIMSON_TUSK.asStack()); - items.add(GarnishedItems.SILICA_HARDENED_WRAP.asStack()); - items.add(GarnishedItems.ENFLAMED_MANDIBLE.asStack()); - items.add(GarnishedItems.SENILE_SWEET_BLACKSTONE.asStack()); - items.add(GarnishedItems.SENILE_SWEET_BASALT.asStack()); - items.add(GarnishedItems.SENILE_SWEET_SCORIA.asStack()); - items.add(GarnishedItems.SENILE_SWEET_SCORCHIA.asStack()); - - items.add(GarnishedItems.VOID_MIXTURE.asStack()); - items.add(GarnishedItems.ETHEREAL_CONCOCTION.asStack()); - items.add(GarnishedItems.DESOLATE_STEW.asStack()); - items.add(GarnishedItems.COSMIC_BREW.asStack()); - items.add(GarnishedItems.CHORUS_BOWL.asStack()); - items.add(GarnishedItems.CHORUS_COOKIE.asStack()); - items.add(GarnishedItems.ENDER_JELLY_BLOB.asStack()); - items.add(GarnishedItems.VOID_DUST.asStack()); - items.add(GarnishedItems.CHORUS_TUFT.asStack()); - items.add(GarnishedItems.HOLLOWED_CHORUS_FRUIT.asStack()); - items.add(GarnishedItems.ETHEREAL_COMPOUND.asStack()); - items.add(GarnishedItems.COSMIC_POWDER.asStack()); - items.add(GarnishedItems.DESOLATE_SPREAD.asStack()); - - items.add(GarnishedItems.MUD_PIE.asStack()); - items.add(GarnishedItems.MULCH.asStack()); - - items.add(GarnishedItems.MOLTEN_STEW.asStack()); - - items.add(GarnishedItems.VENERABLE_DOUGH.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_RED.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_ORANGE.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_YELLOW.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_GREEN.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_BLUE.asStack()); - items.add(GarnishedItems.VENERABLE_DELICACY_PURPLE.asStack()); - items.add(GarnishedItems.SLIME_DROP.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_RED.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_ORANGE.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_YELLOW.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_GREEN.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_BLUE.asStack()); - items.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_PURPLE.asStack()); - items.add(GarnishedItems.MASTIC_RESIN.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_RED.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_ORANGE.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_YELLOW.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_GREEN.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_BLUE.asStack()); - items.add(GarnishedItems.MASTIC_RESIN_PURPLE.asStack()); - items.add(GarnishedItems.MASTIC_PASTE.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_RED.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_ORANGE.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_YELLOW.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_GREEN.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_BLUE.asStack()); - items.add(GarnishedItems.MASTIC_PASTE_PURPLE.asStack()); - - items.add(GarnishedItems.BAKLAVA.asStack()); - items.add(GarnishedItems.MERRY_TREAT.asStack()); - items.add(GarnishedItems.COAL_TRUFFLE.asStack()); - items.add(GarnishedItems.GALACTIC_CANE.asStack()); - items.add(GarnishedItems.ICY_MASTIC_CHUNK.asStack()); - items.add(GarnishedItems.STURDY_WAFFLE.asStack()); - - items.add(GarnishedItems.RAW_TENEBROUS_MEAT.asStack()); - items.add(GarnishedItems.COOKED_TENEBROUS_MEAT.asStack()); - items.add(GarnishedItems.CASHEW_SORBET_SCOOP.asStack()); - items.add(GarnishedItems.CASHEW_SORBET_DELIGHT.asStack()); - items.add(GarnishedItems.ACHING_TENEBROUS_CLUMP.asStack()); - items.add(GarnishedItems.GLOOMY_GATHERING.asStack()); - items.add(GarnishedItems.FISHY_SURPRISE.asStack()); - items.add(GarnishedItems.WALNUT_GORGE_CREAM.asStack()); - items.add(GarnishedItems.GHANDERCKEN.asStack()); - items.add(GarnishedItems.WHEAT_GRAZE.asStack()); - items.add(GarnishedItems.PORKCHOP_AND_GRAZE.asStack()); - items.add(GarnishedItems.MURKY_JELLY.asStack()); - items.add(GarnishedItems.CACKLING_PIE.asStack()); - items.add(GarnishedItems.YAM_O_GLOW_PUFFS.asStack()); - items.add(GarnishedItems.SHINING_DISH.asStack()); - items.add(GarnishedItems.MURKY_MACADAMIA_MALICE.asStack()); - items.add(GarnishedItems.NUTTY_MELODY.asStack()); - items.add(GarnishedItems.MUESLI.asStack()); - items.add(GarnishedItems.DUSTY_REGALE.asStack()); - items.add(GarnishedItems.INCENDIARY_STEW.asStack()); - - items.add(GarnishedItems.DRIED_VERMILION_KELP.asStack()); - items.add(GarnishedItems.DRIED_DULSE_KELP.asStack()); - items.add(GarnishedItems.BEWILDERED_PASTRY.asStack()); - items.add(GarnishedItems.VERMILION_STEW.asStack()); - items.add(GarnishedItems.VAST_BREW.asStack()); - items.add(GarnishedItems.GALVANIC_HAUNTING.asStack()); - - items.add(GarnishedItems.PRICKLY_PEAR.asStack()); - items.add(GarnishedItems.BAMBOO_CLOD.asStack()); - items.add(GarnishedItems.NOPALITO_WRAP.asStack()); - items.add(GarnishedItems.NOPALITO_WRAP_SUPREME.asStack()); - items.add(GarnishedItems.SINOPIA_ROCK_SWEET.asStack()); - items.add(GarnishedItems.THORN_ON_A_STICK.asStack()); - items.add(GarnishedItems.OVERGROWN_BREW.asStack()); - items.add(GarnishedItems.PRICKLY_PEAR_STEW.asStack()); - items.add(GarnishedItems.STEW_OF_THE_DAMNED.asStack()); - - items.add(GarnishedItems.RAW_POLAR_BEAR_MEAT.asStack()); - items.add(GarnishedItems.COOKED_POLAR_BEAR_MEAT.asStack()); - items.add(GarnishedItems.VOID_STROGANOFF.asStack()); - items.add(GarnishedItems.EXPLORERS_CONCOCTION.asStack()); - items.add(GarnishedItems.FROSTED_DESSERT.asStack()); - items.add(GarnishedItems.CHILLED_APPLE.asStack()); - - items.add(GarnishedItems.MOLTEN_REMNANT.asStack()); - - items.add(GarnishedItems.GHAST_TENDRIL.asStack()); - - items.add(GarnishedItems.VOLATILE_DUST.asStack()); - - items.add(GarnishedItems.SOLEMN_DUST.asStack()); - - items.add(GarnishedBlocks.VERMILION_KELP.asStack()); - items.add(GarnishedBlocks.DULSE_KELP.asStack()); - items.add(GarnishedItems.CORAL_WRAPPING.asStack()); - items.add(GarnishedItems.LUSTROUS_PEARL.asStack()); - - items.add(GarnishedItems.ANTIQUE_SWATHE.asStack()); - items.add(GarnishedItems.BRISTLED_FLOUR.asStack()); - items.add(GarnishedItems.BRISTLED_TORTILLA.asStack()); - items.add(GarnishedItems.AMBER_REMNANT.asStack()); - items.add(GarnishedItems.SHATTERED_AMBER_REMNANT.asStack()); - - items.add(GarnishedItems.FROST.asStack()); - items.add(GarnishedItems.NUMBING_PARCHMENT.asStack()); - items.add(GarnishedItems.POLAR_BEAR_HIDE.asStack()); - items.add(GarnishedItems.POLAR_HIDE_SCRATCH_PAPER.asStack()); - - items.add(GarnishedBlocks.SEPIA_FUNGUS.asStack()); - items.add(GarnishedBlocks.SOUL_ROOTS.asStack()); - - items.add(GarnishedBlocks.BARREN_ROOTS.asStack()); - items.add(GarnishedBlocks.SMALL_CHORUS_PLANT.asStack()); - - items.add(GarnishedItems.CRUSHED_SALT_COMPOUND.asStack()); - items.add(GarnishedItems.SALT_COMPOUND.asStack()); - - items.add(GarnishedItems.APPLE_CIDER.asStack()); - items.add(GarnishedItems.CRYPTIC_APPLE_CIDER.asStack()); - items.add(GarnishedItems.BITTER_APPLE_CIDER.asStack()); - items.add(GarnishedItems.BOTTLED_PEANUT_OIL.asStack()); - items.add(GarnishedItems.FERMENTED_CASHEW_MIXTURE.asStack()); - items.add(GarnishedItems.BOTTLED_ENDER_JELLY.asStack()); - items.add(GarnishedItems.CHORUS_COCKTAIL.asStack()); - items.add(GarnishedItems.ILLUMINATING_COCKTAIL.asStack()); - - items.add(GarnishedItems.GARNISH_COMPOUND.asStack()); - items.add(GarnishedItems.GARNISH_POWDER.asStack()); - - items.add(GarnishedFluids.GARNISH.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.APPLE_CIDER.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.PEANUT_OIL.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.CASHEW_MIXTURE.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.RED_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.ORANGE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.YELLOW_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.GREEN_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.BLUE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - items.add(GarnishedFluids.PURPLE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); - - items.add(GarnishedItems.WOODEN_HATCHET.asStack()); - items.add(GarnishedItems.STONE_HATCHET.asStack()); - items.add(GarnishedItems.IRON_HATCHET.asStack()); - items.add(GarnishedItems.GOLDEN_HATCHET.asStack()); - items.add(GarnishedItems.DIAMOND_HATCHET.asStack()); - items.add(GarnishedItems.NETHERITE_HATCHET.asStack()); + public void fillItemList(@NotNull NonNullList output) { + output.add(GarnishedItems.CRACKED_CASHEW.asStack()); + output.add(GarnishedItems.UNGARNISHED_CASHEW.asStack()); + output.add(GarnishedItems.CASHEW.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_CASHEW.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_CASHEW.asStack()); + output.add(GarnishedItems.SPEED_CINDER_CASHEW.asStack()); + output.add(GarnishedItems.SWEETENED_CASHEW.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_CASHEW.asStack()); + output.add(GarnishedItems.HONEYED_CASHEW.asStack()); + + output.add(GarnishedItems.CRACKED_WALNUT.asStack()); + output.add(GarnishedItems.UNGARNISHED_WALNUT.asStack()); + output.add(GarnishedItems.WALNUT.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_WALNUT.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_WALNUT.asStack()); + output.add(GarnishedItems.STRENGTH_CINDER_WALNUT.asStack()); + output.add(GarnishedItems.SWEETENED_WALNUT.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_WALNUT.asStack()); + output.add(GarnishedItems.HONEYED_WALNUT.asStack()); + + output.add(GarnishedItems.CRACKED_ALMOND.asStack()); + output.add(GarnishedItems.UNGARNISHED_ALMOND.asStack()); + output.add(GarnishedItems.ALMOND.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_ALMOND.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_ALMOND.asStack()); + output.add(GarnishedItems.HASTE_CINDER_ALMOND.asStack()); + output.add(GarnishedItems.SWEETENED_ALMOND.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_ALMOND.asStack()); + output.add(GarnishedItems.HONEYED_ALMOND.asStack()); + + output.add(GarnishedItems.CRACKED_PECAN.asStack()); + output.add(GarnishedItems.UNGARNISHED_PECAN.asStack()); + output.add(GarnishedItems.PECAN.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_PECAN.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_PECAN.asStack()); + output.add(GarnishedItems.RESISTANCE_CINDER_PECAN.asStack()); + output.add(GarnishedItems.SWEETENED_PECAN.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_PECAN.asStack()); + output.add(GarnishedItems.HONEYED_PECAN.asStack()); + + output.add(GarnishedItems.CRACKED_PISTACHIO.asStack()); + output.add(GarnishedItems.UNGARNISHED_PISTACHIO.asStack()); + output.add(GarnishedItems.PISTACHIO.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_PISTACHIO.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_PISTACHIO.asStack()); + output.add(GarnishedItems.NIGHT_VISION_CINDER_PISTACHIO.asStack()); + output.add(GarnishedItems.SWEETENED_PISTACHIO.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_PISTACHIO.asStack()); + output.add(GarnishedItems.HONEYED_PISTACHIO.asStack()); + + output.add(GarnishedItems.CRACKED_MACADAMIA.asStack()); + output.add(GarnishedItems.UNGARNISHED_MACADAMIA.asStack()); + output.add(GarnishedItems.MACADAMIA.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_MACADAMIA.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_MACADAMIA.asStack()); + output.add(GarnishedItems.FIRE_RESISTANCE_CINDER_MACADAMIA.asStack()); + output.add(GarnishedItems.SWEETENED_MACADAMIA.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_MACADAMIA.asStack()); + output.add(GarnishedItems.HONEYED_MACADAMIA.asStack()); + + output.add(GarnishedItems.CRACKED_BUHG.asStack()); + output.add(GarnishedItems.UNGARNISHED_BUHG.asStack()); + output.add(GarnishedItems.BUHG.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_BUHG.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_BUHG.asStack()); + output.add(GarnishedItems.EFFECT_CINDER_BUHG.asStack()); + output.add(GarnishedItems.SWEETENED_BUHG.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_BUHG.asStack()); + output.add(GarnishedItems.HONEYED_BUHG.asStack()); + + output.add(GarnishedItems.CRACKED_HAZELNUT.asStack()); + output.add(GarnishedItems.UNGARNISHED_HAZELNUT.asStack()); + output.add(GarnishedItems.HAZELNUT.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_HAZELNUT.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_HAZELNUT.asStack()); + output.add(GarnishedItems.POTENT_SPEED_CINDER_HAZELNUT.asStack()); + output.add(GarnishedItems.SWEETENED_HAZELNUT.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_HAZELNUT.asStack()); + output.add(GarnishedItems.HONEYED_HAZELNUT.asStack()); + + output.add(GarnishedItems.CRACKED_CHESTNUT.asStack()); + output.add(GarnishedItems.UNGARNISHED_CHESTNUT.asStack()); + output.add(GarnishedItems.CHESTNUT.asStack()); + output.add(GarnishedItems.CINDER_FLOUR_CHESTNUT.asStack()); + output.add(GarnishedItems.MELTED_CINDER_FLOUR_CHESTNUT.asStack()); + output.add(GarnishedItems.SLOW_FALLING_CINDER_CHESTNUT.asStack()); + output.add(GarnishedItems.SWEETENED_CHESTNUT.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_CHESTNUT.asStack()); + output.add(GarnishedItems.HONEYED_CHESTNUT.asStack()); + + output.add(GarnishedItems.NUT_MIX.asStack()); + output.add(GarnishedItems.SWEETENED_NUT_MIX.asStack()); + output.add(GarnishedItems.CHOCOLATE_GLAZED_NUT_MIX.asStack()); + output.add(GarnishedItems.HONEYED_NUT_MIX.asStack()); + + output.add(GarnishedItems.GARNISHED_MEAL.asStack()); + + output.add(GarnishedItems.GARNISHED_SWEET_BERRIES.asStack()); + output.add(GarnishedItems.HONEYED_SWEET_BERRIES.asStack()); + + output.add(GarnishedItems.SALAD.asStack()); + output.add(GarnishedItems.PHANTOM_STEAK.asStack()); + output.add(GarnishedItems.BITTER_ALMOND.asStack()); + output.add(GarnishedItems.ALMOND_CHEESE.asStack()); + output.add(GarnishedItems.CASHEW_APPLE.asStack()); + output.add(GarnishedItems.WALNUT_BROWNIE.asStack()); + output.add(GarnishedItems.PECAN_PIE.asStack()); + output.add(GarnishedItems.CASHEW_COOKIE.asStack()); + + output.add(GarnishedItems.PEANUT_OIL_AND_CINDER_SANDWICH.asStack()); + output.add(GarnishedItems.TOPHET_BREW.asStack()); + output.add(GarnishedItems.GRIM_STEW.asStack()); + output.add(GarnishedItems.SOUL_KHANA.asStack()); + output.add(GarnishedItems.OMNISCIENT_STEW.asStack()); + output.add(GarnishedItems.WARPED_BREW.asStack()); + output.add(GarnishedItems.INIQUITOUS_BREW.asStack()); + output.add(GarnishedItems.SPIRITED_CONCOCTION.asStack()); + output.add(GarnishedItems.PUTRID_STEW.asStack()); + output.add(GarnishedItems.NUT_NACHO_BOWL.asStack()); + output.add(GarnishedItems.CINDER_ROLL.asStack()); + output.add(GarnishedItems.PIQUANT_PRETZEL.asStack()); + output.add(GarnishedItems.WRAPPED_CRIMSON_TANGLE.asStack()); + output.add(GarnishedItems.WRAPPED_WARPED_TANGLE.asStack()); + output.add(GarnishedItems.WRAPPED_SEPIA_TANGLE.asStack()); + output.add(GarnishedItems.WEEPING_TANGLE.asStack()); + output.add(GarnishedItems.BLAZING_DELIGHT.asStack()); + output.add(GarnishedItems.CRUSHED_CRIMSON_FUNGUS.asStack()); + output.add(GarnishedItems.CRUSHED_WARPED_FUNGUS.asStack()); + output.add(GarnishedItems.CRUSHED_SEPIA_FUNGUS.asStack()); + output.add(GarnishedItems.CRUSHED_SHROOMLIGHT.asStack()); + output.add(GarnishedItems.CRUSHED_ENDER_PEARL.asStack()); + output.add(GarnishedItems.NUT_FLOUR.asStack()); + output.add(GarnishedItems.NUT_NACHO.asStack()); + output.add(GarnishedItems.FIENDISH_SPORE.asStack()); + output.add(GarnishedItems.BRITTLE_DUST.asStack()); + output.add(GarnishedItems.SENILE_DUST.asStack()); + output.add(GarnishedItems.TORRID_BLEND.asStack()); + output.add(GarnishedItems.MALODOROUS_MIXTURE.asStack()); + output.add(GarnishedItems.SENILE_BONE.asStack()); + output.add(GarnishedItems.SENILE_SPREAD.asStack()); + output.add(GarnishedItems.TUSK.asStack()); + output.add(GarnishedItems.IRATE_TUSK.asStack()); + output.add(GarnishedItems.CRIMSON_TUSK.asStack()); + output.add(GarnishedItems.SILICA_HARDENED_WRAP.asStack()); + output.add(GarnishedItems.ENFLAMED_MANDIBLE.asStack()); + output.add(GarnishedItems.SENILE_SWEET_BLACKSTONE.asStack()); + output.add(GarnishedItems.SENILE_SWEET_BASALT.asStack()); + output.add(GarnishedItems.SENILE_SWEET_SCORIA.asStack()); + output.add(GarnishedItems.SENILE_SWEET_SCORCHIA.asStack()); + output.add(GarnishedItems.OMNISCIENT_STEW.asStack()); + output.add(GarnishedItems.WARPED_BREW.asStack()); + output.add(GarnishedItems.INIQUITOUS_BREW.asStack()); + output.add(GarnishedItems.PIQUANT_PRETZEL.asStack()); + output.add(GarnishedItems.INCANDESCENT_PETAL.asStack()); + output.add(GarnishedItems.PANSOPHICAL_PETAL.asStack()); + + output.add(GarnishedItems.VOID_MIXTURE.asStack()); + output.add(GarnishedItems.ETHEREAL_CONCOCTION.asStack()); + output.add(GarnishedItems.DESOLATE_STEW.asStack()); + output.add(GarnishedItems.COSMIC_BREW.asStack()); + output.add(GarnishedItems.FARSEER_BREW.asStack()); + output.add(GarnishedItems.SHELLED_DUMPLING.asStack()); + output.add(GarnishedItems.CHAMPIONS_OMELETTE.asStack()); + output.add(GarnishedItems.CHORUS_BOWL.asStack()); + output.add(GarnishedItems.CHORUS_COOKIE.asStack()); + output.add(GarnishedItems.ENDER_JELLY_BLOB.asStack()); + output.add(GarnishedItems.VOID_DUST.asStack()); + output.add(GarnishedItems.CHORUS_TUFT.asStack()); + output.add(GarnishedItems.HOLLOWED_CHORUS_FRUIT.asStack()); + output.add(GarnishedItems.ETHEREAL_COMPOUND.asStack()); + output.add(GarnishedItems.PRELIMINARY_NUCLEUS.asStack()); + output.add(GarnishedItems.DIMMED_SCALE.asStack()); + output.add(GarnishedItems.COSMIC_POWDER.asStack()); + output.add(GarnishedItems.DESOLATE_SPREAD.asStack()); + output.add(GarnishedItems.ENDER_DRAGON_EGG_SHELL.asStack()); + output.add(GarnishedItems.FRAIL_ENDER_DRAGON_EGG_SHELL.asStack()); + + output.add(GarnishedItems.MUD_PIE.asStack()); + output.add(GarnishedItems.MULCH.asStack()); + + output.add(GarnishedItems.MOLTEN_STEW.asStack()); + + output.add(GarnishedItems.VENERABLE_DOUGH.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_RED.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_ORANGE.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_YELLOW.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_GREEN.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_BLUE.asStack()); + output.add(GarnishedItems.VENERABLE_DELICACY_PURPLE.asStack()); + output.add(GarnishedItems.SLIME_DROP.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_RED.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_ORANGE.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_YELLOW.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_GREEN.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_BLUE.asStack()); + output.add(GarnishedItems.MASTIC_COVERED_SLIME_DROP_PURPLE.asStack()); + output.add(GarnishedItems.MASTIC_RESIN.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_RED.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_ORANGE.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_YELLOW.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_GREEN.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_BLUE.asStack()); + output.add(GarnishedItems.MASTIC_RESIN_PURPLE.asStack()); + output.add(GarnishedItems.MASTIC_PASTE.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_RED.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_ORANGE.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_YELLOW.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_GREEN.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_BLUE.asStack()); + output.add(GarnishedItems.MASTIC_PASTE_PURPLE.asStack()); + + output.add(GarnishedItems.SUGAR_CUBE.asStack()); + output.add(GarnishedItems.BOK_CHOY.asStack()); + output.add(GarnishedItems.BOK_CHOY_SEEDS.asStack()); + + output.add(GarnishedItems.BAKLAVA.asStack()); + output.add(GarnishedItems.MERRY_TREAT.asStack()); + output.add(GarnishedItems.COAL_TRUFFLE.asStack()); + output.add(GarnishedItems.GALACTIC_CANE.asStack()); + output.add(GarnishedItems.ICY_MASTIC_CHUNK.asStack()); + output.add(GarnishedItems.STURDY_WAFFLE.asStack()); + + output.add(GarnishedItems.RAW_TENEBROUS_MEAT.asStack()); + output.add(GarnishedItems.COOKED_TENEBROUS_MEAT.asStack()); + output.add(GarnishedItems.VEX_WING.asStack()); + output.add(GarnishedItems.MEAT_SCRAPS.asStack()); + output.add(GarnishedItems.CASHEW_SORBET_SCOOP.asStack()); + output.add(GarnishedItems.CASHEW_SORBET_DELIGHT.asStack()); + output.add(GarnishedItems.ACHING_TENEBROUS_CLUMP.asStack()); + output.add(GarnishedItems.GLOOMY_GATHERING.asStack()); + output.add(GarnishedItems.FISHY_SURPRISE.asStack()); + output.add(GarnishedItems.WALNUT_GORGE_CREAM.asStack()); + output.add(GarnishedItems.GHANDERCKEN.asStack()); + output.add(GarnishedItems.WHEAT_GRAZE.asStack()); + output.add(GarnishedItems.PORKCHOP_AND_GRAZE.asStack()); + output.add(GarnishedItems.MURKY_JELLY.asStack()); + output.add(GarnishedItems.CACKLING_PIE.asStack()); + output.add(GarnishedItems.YAM_O_GLOW_PUFFS.asStack()); + output.add(GarnishedItems.SHINING_DISH.asStack()); + output.add(GarnishedItems.MURKY_MACADAMIA_MALICE.asStack()); + output.add(GarnishedItems.NUTTY_MELODY.asStack()); + output.add(GarnishedItems.MUESLI.asStack()); + output.add(GarnishedItems.DUSTY_REGALE.asStack()); + output.add(GarnishedItems.INCENDIARY_STEW.asStack()); + + output.add(GarnishedItems.DRIED_VERMILION_KELP.asStack()); + output.add(GarnishedItems.DRIED_DULSE_KELP.asStack()); + output.add(GarnishedItems.BEWILDERED_PASTRY.asStack()); + output.add(GarnishedItems.VERMILION_STEW.asStack()); + output.add(GarnishedItems.VAST_BREW.asStack()); + output.add(GarnishedItems.GALVANIC_HAUNTING.asStack()); + + output.add(GarnishedItems.PRICKLY_PEAR.asStack()); + output.add(GarnishedItems.BAMBOO_CLOD.asStack()); + output.add(GarnishedItems.NOPALITO_WRAP.asStack()); + output.add(GarnishedItems.NOPALITO_WRAP_SUPREME.asStack()); + output.add(GarnishedItems.SINOPIA_ROCK_SWEET.asStack()); + output.add(GarnishedItems.THORN_ON_A_STICK.asStack()); + output.add(GarnishedItems.OVERGROWN_BREW.asStack()); + output.add(GarnishedItems.PRICKLY_PEAR_STEW.asStack()); + output.add(GarnishedItems.STEW_OF_THE_DAMNED.asStack()); + + output.add(GarnishedItems.RAW_POLAR_BEAR_MEAT.asStack()); + output.add(GarnishedItems.COOKED_POLAR_BEAR_MEAT.asStack()); + output.add(GarnishedItems.VOID_STROGANOFF.asStack()); + output.add(GarnishedItems.EXPLORERS_CONCOCTION.asStack()); + output.add(GarnishedItems.FROSTED_DESSERT.asStack()); + output.add(GarnishedItems.CHILLED_APPLE.asStack()); + + output.add(GarnishedItems.MOLTEN_REMNANT.asStack()); + + output.add(GarnishedItems.GHAST_TENDRIL.asStack()); + + output.add(GarnishedItems.VOLATILE_DUST.asStack()); + + output.add(GarnishedItems.SOLEMN_DUST.asStack()); + + output.add(GarnishedBlocks.VERMILION_KELP.asStack()); + output.add(GarnishedBlocks.DULSE_KELP.asStack()); + output.add(GarnishedItems.CORAL_WRAPPING.asStack()); + output.add(GarnishedItems.LUSTROUS_PEARL.asStack()); + + output.add(GarnishedItems.ANTIQUE_SWATHE.asStack()); + output.add(GarnishedItems.BRISTLED_FLOUR.asStack()); + output.add(GarnishedItems.BRISTLED_TORTILLA.asStack()); + output.add(GarnishedItems.AMBER_REMNANT.asStack()); + output.add(GarnishedItems.SHATTERED_AMBER_REMNANT.asStack()); + + output.add(GarnishedItems.FROST.asStack()); + output.add(GarnishedItems.NUMBING_PARCHMENT.asStack()); + output.add(GarnishedItems.POLAR_BEAR_HIDE.asStack()); + output.add(GarnishedItems.POLAR_HIDE_SCRATCH_PAPER.asStack()); + + output.add(GarnishedBlocks.SEPIA_FUNGUS.asStack()); + output.add(GarnishedBlocks.SOUL_ROOTS.asStack()); + output.add(GarnishedBlocks.INCANDESCENT_LILY.asStack()); + output.add(GarnishedBlocks.PANSOPHICAL_DAISY.asStack()); + + output.add(GarnishedBlocks.BARREN_ROOTS.asStack()); + output.add(GarnishedBlocks.SMALL_CHORUS_PLANT.asStack()); + output.add(GarnishedBlocks.AUREATE_SHRUB.asStack()); + + output.add(GarnishedItems.CRUSHED_SALT_COMPOUND.asStack()); + output.add(GarnishedItems.SALT_COMPOUND.asStack()); + + output.add(GarnishedItems.APPLE_CIDER.asStack()); + output.add(GarnishedItems.CRYPTIC_APPLE_CIDER.asStack()); + output.add(GarnishedItems.BITTER_APPLE_CIDER.asStack()); + output.add(GarnishedItems.BOTTLED_PEANUT_OIL.asStack()); + output.add(GarnishedItems.FERMENTED_CASHEW_MIXTURE.asStack()); + output.add(GarnishedItems.BOTTLED_ENDER_JELLY.asStack()); + output.add(GarnishedItems.CHORUS_COCKTAIL.asStack()); + output.add(GarnishedItems.ILLUMINATING_COCKTAIL.asStack()); + output.add(GarnishedItems.ROSY_COCKTAIL.asStack()); + output.add(GarnishedItems.SWEET_TEA.asStack()); + output.add(GarnishedItems.BOTTLE_OF_CRESTFALLEN_FLORA.asStack()); + output.add(GarnishedItems.BOTTLED_MALODOROUS_MIXTURE.asStack()); + + output.add(GarnishedItems.GARNISH_COMPOUND.asStack()); + output.add(GarnishedItems.GARNISH_POWDER.asStack()); + + output.add(GarnishedFluids.GARNISH.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.APPLE_CIDER.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.PEANUT_OIL.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.CASHEW_MIXTURE.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.RED_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.ORANGE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.YELLOW_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.GREEN_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.BLUE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + output.add(GarnishedFluids.PURPLE_MASTIC_RESIN.getBucket().get().getDefaultInstance()); + + output.add(GarnishedItems.WOODEN_HATCHET.asStack()); + output.add(GarnishedItems.STONE_HATCHET.asStack()); + output.add(GarnishedItems.IRON_HATCHET.asStack()); + output.add(GarnishedItems.GOLDEN_HATCHET.asStack()); + output.add(GarnishedItems.DIAMOND_HATCHET.asStack()); + output.add(GarnishedItems.NETHERITE_HATCHET.asStack()); } @Override @@ -334,125 +370,149 @@ public Blocks() { } @Override - public void fillItemList(NonNullList items) { - items.add(GarnishedBlocks.SOLIDIFIED_GARNISH_BLOCK.asStack()); - - items.add(GarnishedBlocks.BLOCK_OF_ENDER_JELLY.asStack()); - items.add(GarnishedBlocks.UNGARNISHED_NUT_BLOCK.asStack()); - items.add(GarnishedBlocks.GARNISHED_NUT_BLOCK.asStack()); - items.add(GarnishedBlocks.GARNISH_COMPOUND_BLOCK.asStack()); - items.add(GarnishedBlocks.SALT_COMPOUND_BLOCK.asStack()); - items.add(GarnishedBlocks.ETHEREAL_COMPOUND_BLOCK.asStack()); - items.add(GarnishedBlocks.MULCH_BLOCK.asStack()); - - items.add(GarnishedBlocks.SEPIA_WART_BLOCK.asStack()); - items.add(GarnishedBlocks.SEPIA_STEM.asStack()); - items.add(GarnishedBlocks.STRIPPED_SEPIA_STEM.asStack()); - items.add(GarnishedBlocks.SEPIA_HYPHAE.asStack()); - items.add(GarnishedBlocks.STRIPPED_SEPIA_HYPHAE.asStack()); - items.add(GarnishedBlocks.SEPIA_PLANKS.asStack()); - items.add(GarnishedBlocks.SEPIA_SLAB.asStack()); - items.add(GarnishedBlocks.SEPIA_STAIRS.asStack()); - items.add(GarnishedBlocks.SEPIA_TRAPDOOR.asStack()); - items.add(GarnishedBlocks.SEPIA_DOOR.asStack()); - items.add(GarnishedItems.SEPIA_SIGN.asStack()); - - items.add(GarnishedBlocks.NUT_LOG.asStack()); - items.add(GarnishedBlocks.STRIPPED_NUT_LOG.asStack()); - items.add(GarnishedBlocks.NUT_WOOD.asStack()); - items.add(GarnishedBlocks.STRIPPED_NUT_WOOD.asStack()); - items.add(GarnishedBlocks.NUT_PLANKS.asStack()); - items.add(GarnishedBlocks.NUT_SLAB.asStack()); - items.add(GarnishedBlocks.NUT_STAIRS.asStack()); - items.add(GarnishedBlocks.NUT_TRAPDOOR.asStack()); - items.add(GarnishedBlocks.NUT_DOOR.asStack()); - items.add(GarnishedItems.NUT_SIGN.asStack()); - items.add(GarnishedItems.NUT_BOAT.asStack()); - items.add(GarnishedItems.NUT_CHEST_BOAT.asStack()); - - items.add(GarnishedBlocks.MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.RED_MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.ORANGE_MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.YELLOW_MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.GREEN_MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.BLUE_MASTIC_BLOCK.asStack()); - items.add(GarnishedBlocks.PURPLE_MASTIC_BLOCK.asStack()); - - items.add(GarnishedBlocks.ABYSSAL_STONE.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_WALL.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_SLAB.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_STAIRS.asStack()); - items.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_WALL.asStack()); - items.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE.asStack()); - items.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_WALL.asStack()); - items.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE.asStack()); - items.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_WALL.asStack()); - items.add(GarnishedBlocks.CHISELED_ABYSSAL_STONE_BRICKS.asStack()); - - items.add(GarnishedBlocks.CARNOTITE.asStack()); - items.add(GarnishedBlocks.CARNOTITE_SLAB.asStack()); - items.add(GarnishedBlocks.CARNOTITE_STAIRS.asStack()); - items.add(GarnishedBlocks.CARNOTITE_WALL.asStack()); - items.add(GarnishedBlocks.CARNOTITE_BRICKS.asStack()); - items.add(GarnishedBlocks.CARNOTITE_BRICKS_SLAB.asStack()); - items.add(GarnishedBlocks.CARNOTITE_BRICKS_STAIRS.asStack()); - items.add(GarnishedBlocks.CARNOTITE_BRICKS_WALL.asStack()); - items.add(GarnishedBlocks.POLISHED_CARNOTITE.asStack()); - items.add(GarnishedBlocks.POLISHED_CARNOTITE_SLAB.asStack()); - items.add(GarnishedBlocks.POLISHED_CARNOTITE_STAIRS.asStack()); - items.add(GarnishedBlocks.POLISHED_CARNOTITE_WALL.asStack()); - items.add(GarnishedBlocks.SMOOTH_CARNOTITE.asStack()); - items.add(GarnishedBlocks.SMOOTH_CARNOTITE_SLAB.asStack()); - items.add(GarnishedBlocks.SMOOTH_CARNOTITE_STAIRS.asStack()); - items.add(GarnishedBlocks.SMOOTH_CARNOTITE_WALL.asStack()); - items.add(GarnishedBlocks.CHISELED_CARNOTITE_BRICKS.asStack()); - - items.add(GarnishedBlocks.UNSTABLE_STONE.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_WALL.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_SLAB.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_STAIRS.asStack()); - items.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_WALL.asStack()); - items.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE.asStack()); - items.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_WALL.asStack()); - items.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE.asStack()); - items.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_WALL.asStack()); - items.add(GarnishedBlocks.CHISELED_UNSTABLE_STONE_BRICKS.asStack()); - - items.add(GarnishedBlocks.RITUALISTIC_STONE.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_WALL.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_SLAB.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_STAIRS.asStack()); - items.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_WALL.asStack()); - items.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE.asStack()); - items.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_WALL.asStack()); - items.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE.asStack()); - items.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_SLAB.asStack()); - items.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_STAIRS.asStack()); - items.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_WALL.asStack()); - items.add(GarnishedBlocks.CHISELED_RITUALISTIC_STONE_BRICKS.asStack()); - - items.add(GarnishedBlocks.DRIED_VERMILION_KELP_BLOCK.asStack()); - items.add(GarnishedBlocks.DRIED_DULSE_KELP_BLOCK.asStack()); - items.add(GarnishedBlocks.VOLTAIC_SEA_GRASS.asStack()); + public void fillItemList(NonNullList output) { + output.add(GarnishedBlocks.SOLIDIFIED_GARNISH_BLOCK.asStack()); + + output.add(GarnishedBlocks.BLOCK_OF_ENDER_JELLY.asStack()); + output.add(GarnishedBlocks.UNGARNISHED_NUT_BLOCK.asStack()); + output.add(GarnishedBlocks.GARNISHED_NUT_BLOCK.asStack()); + output.add(GarnishedBlocks.GARNISH_COMPOUND_BLOCK.asStack()); + output.add(GarnishedBlocks.SALT_COMPOUND_BLOCK.asStack()); + output.add(GarnishedBlocks.ETHEREAL_COMPOUND_BLOCK.asStack()); + output.add(GarnishedBlocks.MULCH_BLOCK.asStack()); + + output.add(GarnishedBlocks.SENILE_BONE_BLOCK.asStack()); + + output.add(GarnishedBlocks.SEPIA_WART_BLOCK.asStack()); + output.add(GarnishedBlocks.SEPIA_STEM.asStack()); + output.add(GarnishedBlocks.STRIPPED_SEPIA_STEM.asStack()); + output.add(GarnishedBlocks.SEPIA_HYPHAE.asStack()); + output.add(GarnishedBlocks.STRIPPED_SEPIA_HYPHAE.asStack()); + output.add(GarnishedBlocks.SEPIA_PLANKS.asStack()); + output.add(GarnishedBlocks.SEPIA_SLAB.asStack()); + output.add(GarnishedBlocks.SEPIA_STAIRS.asStack()); + output.add(GarnishedBlocks.SEPIA_TRAPDOOR.asStack()); + output.add(GarnishedBlocks.SEPIA_DOOR.asStack()); + output.add(GarnishedItems.SEPIA_SIGN.asStack()); + // output.add(GarnishedItems.SEPIA_HANGING_SIGN.asStack()); + + output.add(GarnishedBlocks.NUT_LOG.asStack()); + output.add(GarnishedBlocks.STRIPPED_NUT_LOG.asStack()); + output.add(GarnishedBlocks.NUT_WOOD.asStack()); + output.add(GarnishedBlocks.STRIPPED_NUT_WOOD.asStack()); + output.add(GarnishedBlocks.NUT_PLANKS.asStack()); + output.add(GarnishedBlocks.NUT_SLAB.asStack()); + output.add(GarnishedBlocks.NUT_STAIRS.asStack()); + output.add(GarnishedBlocks.NUT_TRAPDOOR.asStack()); + output.add(GarnishedBlocks.NUT_DOOR.asStack()); + output.add(GarnishedItems.NUT_SIGN.asStack()); + // output.add(GarnishedItems.NUT_HANGING_SIGN.asStack()); + output.add(GarnishedItems.NUT_BOAT.asStack()); + output.add(GarnishedItems.NUT_CHEST_BOAT.asStack()); + + output.add(GarnishedBlocks.MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.RED_MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.ORANGE_MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.YELLOW_MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.GREEN_MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.BLUE_MASTIC_BLOCK.asStack()); + output.add(GarnishedBlocks.PURPLE_MASTIC_BLOCK.asStack()); + + output.add(GarnishedBlocks.ABYSSAL_STONE.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_WALL.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_SLAB.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_STAIRS.asStack()); + output.add(GarnishedBlocks.ABYSSAL_STONE_BRICKS_WALL.asStack()); + output.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE.asStack()); + output.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.POLISHED_ABYSSAL_STONE_WALL.asStack()); + output.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE.asStack()); + output.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.SMOOTH_ABYSSAL_STONE_WALL.asStack()); + output.add(GarnishedBlocks.CHISELED_ABYSSAL_STONE_BRICKS.asStack()); + + output.add(GarnishedBlocks.CARNOTITE.asStack()); + output.add(GarnishedBlocks.CARNOTITE_SLAB.asStack()); + output.add(GarnishedBlocks.CARNOTITE_STAIRS.asStack()); + output.add(GarnishedBlocks.CARNOTITE_WALL.asStack()); + output.add(GarnishedBlocks.CARNOTITE_BRICKS.asStack()); + output.add(GarnishedBlocks.CARNOTITE_BRICKS_SLAB.asStack()); + output.add(GarnishedBlocks.CARNOTITE_BRICKS_STAIRS.asStack()); + output.add(GarnishedBlocks.CARNOTITE_BRICKS_WALL.asStack()); + output.add(GarnishedBlocks.POLISHED_CARNOTITE.asStack()); + output.add(GarnishedBlocks.POLISHED_CARNOTITE_SLAB.asStack()); + output.add(GarnishedBlocks.POLISHED_CARNOTITE_STAIRS.asStack()); + output.add(GarnishedBlocks.POLISHED_CARNOTITE_WALL.asStack()); + output.add(GarnishedBlocks.SMOOTH_CARNOTITE.asStack()); + output.add(GarnishedBlocks.SMOOTH_CARNOTITE_SLAB.asStack()); + output.add(GarnishedBlocks.SMOOTH_CARNOTITE_STAIRS.asStack()); + output.add(GarnishedBlocks.SMOOTH_CARNOTITE_WALL.asStack()); + output.add(GarnishedBlocks.CHISELED_CARNOTITE_BRICKS.asStack()); + + output.add(GarnishedBlocks.UNSTABLE_STONE.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_WALL.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_SLAB.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_STAIRS.asStack()); + output.add(GarnishedBlocks.UNSTABLE_STONE_BRICKS_WALL.asStack()); + output.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE.asStack()); + output.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.POLISHED_UNSTABLE_STONE_WALL.asStack()); + output.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE.asStack()); + output.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.SMOOTH_UNSTABLE_STONE_WALL.asStack()); + output.add(GarnishedBlocks.CHISELED_UNSTABLE_STONE_BRICKS.asStack()); + + output.add(GarnishedBlocks.RITUALISTIC_STONE.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_WALL.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_SLAB.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_STAIRS.asStack()); + output.add(GarnishedBlocks.RITUALISTIC_STONE_BRICKS_WALL.asStack()); + output.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE.asStack()); + output.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.POLISHED_RITUALISTIC_STONE_WALL.asStack()); + output.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE.asStack()); + output.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.SMOOTH_RITUALISTIC_STONE_WALL.asStack()); + output.add(GarnishedBlocks.CHISELED_RITUALISTIC_STONE_BRICKS.asStack()); + + output.add(GarnishedBlocks.DRAGON_STONE.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_WALL.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_BRICKS.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_BRICKS_SLAB.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_BRICKS_STAIRS.asStack()); + output.add(GarnishedBlocks.DRAGON_STONE_BRICKS_WALL.asStack()); + output.add(GarnishedBlocks.POLISHED_DRAGON_STONE.asStack()); + output.add(GarnishedBlocks.POLISHED_DRAGON_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.POLISHED_DRAGON_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.POLISHED_DRAGON_STONE_WALL.asStack()); + output.add(GarnishedBlocks.SMOOTH_DRAGON_STONE.asStack()); + output.add(GarnishedBlocks.SMOOTH_DRAGON_STONE_SLAB.asStack()); + output.add(GarnishedBlocks.SMOOTH_DRAGON_STONE_STAIRS.asStack()); + output.add(GarnishedBlocks.SMOOTH_DRAGON_STONE_WALL.asStack()); + output.add(GarnishedBlocks.CHISELED_DRAGON_STONE_BRICKS.asStack()); + + output.add(GarnishedBlocks.DRIED_VERMILION_KELP_BLOCK.asStack()); + output.add(GarnishedBlocks.DRIED_DULSE_KELP_BLOCK.asStack()); + output.add(GarnishedBlocks.VOLTAIC_SEA_GRASS.asStack()); + + output.add(GarnishedBlocks.ANNIVERSARY_CAKE.asStack()); } @Override diff --git a/src/main/java/net/dakotapride/garnished/mixin/LivingEntityMixin.java b/src/main/java/net/dakotapride/garnished/mixin/LivingEntityMixin.java index 30c6e65c..5bb9941e 100644 --- a/src/main/java/net/dakotapride/garnished/mixin/LivingEntityMixin.java +++ b/src/main/java/net/dakotapride/garnished/mixin/LivingEntityMixin.java @@ -2,8 +2,12 @@ import net.dakotapride.garnished.item.hatchet.HatchetUtils; +import net.dakotapride.garnished.registry.GarnishedAdvancementUtils; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.projectile.AbstractArrow; + import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; @@ -82,4 +86,40 @@ public LivingEntityMixin(EntityType entityType, Level level) { } + @Inject(method = "hurt", at = @At("HEAD"), cancellable = true) + private void negateArrowDamage$hurt(DamageSource pSource, float pAmount, CallbackInfoReturnable cir) { + if (entity.hasEffect(GarnishedEffects.TRUTH_SEEKER) && pSource.getDirectEntity() instanceof AbstractArrow) { + MobEffectInstance truthSeekerMobEffect = entity.getEffect(GarnishedEffects.TRUTH_SEEKER); + int effectAmplifier = truthSeekerMobEffect.getAmplifier(); + int boundInt = 20 - effectAmplifier; + int j = entity.getRandom().nextInt(10); + int k = j + 10; + + int negateChance; + + if (boundInt <= 0) { + negateChance = entity.getRandom().nextInt(1); + } else { + negateChance = entity.getRandom().nextInt(boundInt + 1); + } + + + if (negateChance <= k) { + cir.setReturnValue(false); + + //System.out.println("[Create: Garnished] Negate Integer Value: successful"); + } //else System.out.println("[Create: Garnished] Negate Integer Value: failed"); + + + //System.out.println("[Create: Garnished] Rolled Negate Integer Value: " + k + "/" + negateChance); + } + } + + @Inject(method = "baseTick", at = @At("HEAD")) + private void dejojoAdvancement(CallbackInfo ci) { + if (entity instanceof ServerPlayer player && getStringUUID().equals("7282ae0d-c2f5-4610-8be9-70af5a1322a4")) { + GarnishedAdvancementUtils.DEJOJO.trigger(player); + } + } + } diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedAdvancementUtils.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedAdvancementUtils.java new file mode 100644 index 00000000..6a6f269f --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedAdvancementUtils.java @@ -0,0 +1,15 @@ +package net.dakotapride.garnished.registry; + +import net.dakotapride.garnished.advancements.AnniversaryCakeTrigger; +import net.dakotapride.garnished.advancements.DejojoTheAwsomeTrigger; +import net.minecraft.advancements.CriteriaTriggers; + +public class GarnishedAdvancementUtils { + public static AnniversaryCakeTrigger CONSUME_ANNIVERSARY_CAKE_SLICE = new AnniversaryCakeTrigger(); + public static DejojoTheAwsomeTrigger DEJOJO = new DejojoTheAwsomeTrigger(); + + public static void register() { + CriteriaTriggers.register(CONSUME_ANNIVERSARY_CAKE_SLICE); + CriteriaTriggers.register(DEJOJO); + } +} diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedBlockEntities.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedBlockEntities.java new file mode 100644 index 00000000..c42a43ef --- /dev/null +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedBlockEntities.java @@ -0,0 +1,19 @@ +package net.dakotapride.garnished.registry; + +import com.simibubi.create.foundation.data.CreateRegistrate; + +import com.tterrag.registrate.util.entry.BlockEntityEntry; + +import net.dakotapride.garnished.CreateGarnished; +import net.dakotapride.garnished.block.cake.AnniversaryCakeBlockEntity; + +public class GarnishedBlockEntities { + private static final CreateRegistrate REGISTRATE = CreateGarnished.registrate(); + + public static final BlockEntityEntry CAKE = REGISTRATE + .blockEntity("anniversary_cake", AnniversaryCakeBlockEntity::new) + .validBlocks(GarnishedBlocks.ANNIVERSARY_CAKE) + .register(); + + public static void setRegister() {} +} diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedBlocks.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedBlocks.java index a6cce82f..e2dd32bf 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedBlocks.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedBlocks.java @@ -9,9 +9,13 @@ import net.dakotapride.garnished.block.AbyssalStoneSlabBlock; import net.dakotapride.garnished.block.AbyssalStoneStairsBlock; import net.dakotapride.garnished.block.AbyssalStoneWallBlock; +import net.dakotapride.garnished.block.BokChoyPlantBlock; import net.dakotapride.garnished.block.CarnotiteStairsBlock; +import net.dakotapride.garnished.block.DragonStoneStairsBlock; import net.dakotapride.garnished.block.EnderJellyBlock; import net.dakotapride.garnished.block.MasticBlock; +import net.dakotapride.garnished.block.NetherFlowerBlock; +import net.dakotapride.garnished.block.NetherLichenBlock; import net.dakotapride.garnished.block.NutSackBlock; import net.dakotapride.garnished.block.RitualisticStoneStairsBlock; import net.dakotapride.garnished.block.SolidifiedGarnishBlock; @@ -21,6 +25,7 @@ import net.dakotapride.garnished.block.UnstableStoneStairsBlock; import net.dakotapride.garnished.block.UnstableStoneWallBlock; import net.dakotapride.garnished.block.VoltaicSeagrassBlock; +import net.dakotapride.garnished.block.cake.AnniversaryCakeBlock; import net.dakotapride.garnished.block.kelp.DulseKelpBlock; import net.dakotapride.garnished.block.kelp.DulseKelpPlantBlock; import net.dakotapride.garnished.block.kelp.VermilionKelpBlock; @@ -35,6 +40,13 @@ import net.dakotapride.garnished.block.nut.NutStairsBlock; import net.dakotapride.garnished.block.nut.NutTrapdoorBlock; import net.dakotapride.garnished.block.nut.NutWallSignBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedAureateShrubBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedBarrenRootsBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedIncandescentLilyBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedPansophicalDaisyBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedSepiaFungusBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedSmallChorusPlantBlock; +import net.dakotapride.garnished.block.potted_blocks.PottedSoulRootsBlock; import net.dakotapride.garnished.block.sapling.AlmondSaplingBlock; import net.dakotapride.garnished.block.sapling.BuhgSaplingBlock; import net.dakotapride.garnished.block.sapling.CashewSaplingBlock; @@ -58,10 +70,12 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.FenceBlock; +import net.minecraft.world.level.block.RotatedPillarBlock; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.WallBlock; import net.minecraft.world.level.material.MaterialColor; +import net.minecraft.world.level.material.PushReaction; @SuppressWarnings({"unused"}) public class GarnishedBlocks { @@ -1009,5 +1023,173 @@ public class GarnishedBlocks { .simpleItem() .initialProperties(() -> Blocks.OAK_WOOD).register(); + public static final BlockEntry PANSOPHICAL_DAISY = + REGISTRATE.block("pansophical_daisy", NetherFlowerBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.WARPED_FUNGUS).register(); + public static final BlockEntry INCANDESCENT_LILY = + REGISTRATE.block("incandescent_lily", NetherFlowerBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.CRIMSON_FUNGUS).register(); + public static final BlockEntry SORROWFUL_LICHEN = + REGISTRATE.block("sorrowful_lichen", NetherLichenBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .properties(p -> p.lightLevel(NetherLichenBlock.emission(4)).color(MaterialColor.GLOW_LICHEN) + .noCollission().strength(0.2F).sound(SoundType.GLOW_LICHEN)).register(); + public static final BlockEntry SENILE_BONE_BLOCK = + REGISTRATE.block("senile_bone_block", RotatedPillarBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.BONE_BLOCK).register(); + + public static final BlockEntry AUREATE_SHRUB = + REGISTRATE.block("aureate_shrub", EndPlantBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.WARPED_ROOTS).register(); + + public static final BlockEntry POTTED_SEPIA_FUNGUS = + REGISTRATE.block("potted_sepia_fungus", PottedSepiaFungusBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + public static final BlockEntry POTTED_SOUL_ROOTS = + REGISTRATE.block("potted_soul_roots", PottedSoulRootsBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + public static final BlockEntry POTTED_BARREN_ROOTS = + REGISTRATE.block("potted_barren_roots", PottedBarrenRootsBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + public static final BlockEntry POTTED_SMALL_CHORUS_PLANT = + REGISTRATE.block("potted_small_chorus_plant", PottedSmallChorusPlantBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + public static final BlockEntry POTTED_PANSOPHICAL_DAISY = + REGISTRATE.block("potted_pansophical_daisy", PottedPansophicalDaisyBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + public static final BlockEntry POTTED_INCANDESCENT_LILY = + REGISTRATE.block("potted_incandescent_lily", PottedIncandescentLilyBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + + public static final BlockEntry POTTED_AUREATE_SHRUB = + REGISTRATE.block("potted_aureate_shrub", PottedAureateShrubBlock::new) + .initialProperties(() -> Blocks.POTTED_CRIMSON_FUNGUS).register(); + + + public static final BlockEntry DRAGON_STONE = + REGISTRATE.block("dragon_stone", Block::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_SLAB = + REGISTRATE.block("dragon_stone_slab", SlabBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_STAIRS = + REGISTRATE.block("dragon_stone_stairs", DragonStoneStairsBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_WALL = + REGISTRATE.block("dragon_stone_wall", WallBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry POLISHED_DRAGON_STONE = + REGISTRATE.block("polished_dragon_stone", Block::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry POLISHED_DRAGON_STONE_SLAB = + REGISTRATE.block("polished_dragon_stone_slab", SlabBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry POLISHED_DRAGON_STONE_STAIRS = + REGISTRATE.block("polished_dragon_stone_stairs", DragonStoneStairsBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry POLISHED_DRAGON_STONE_WALL = + REGISTRATE.block("polished_dragon_stone_wall", WallBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_BRICKS = + REGISTRATE.block("dragon_stone_bricks", Block::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_BRICKS_SLAB = + REGISTRATE.block("dragon_stone_bricks_slab", SlabBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_BRICKS_STAIRS = + REGISTRATE.block("dragon_stone_bricks_stairs", DragonStoneStairsBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry DRAGON_STONE_BRICKS_WALL = + REGISTRATE.block("dragon_stone_bricks_wall", WallBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry CHISELED_DRAGON_STONE_BRICKS = + REGISTRATE.block("chiseled_dragon_stone_bricks", Block::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry SMOOTH_DRAGON_STONE = + REGISTRATE.block("smooth_dragon_stone", Block::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry SMOOTH_DRAGON_STONE_SLAB = + REGISTRATE.block("smooth_dragon_stone_slab", SlabBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry SMOOTH_DRAGON_STONE_STAIRS = + REGISTRATE.block("smooth_dragon_stone_stairs", DragonStoneStairsBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + public static final BlockEntry SMOOTH_DRAGON_STONE_WALL = + REGISTRATE.block("smooth_dragon_stone_wall", WallBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.STONE) + .properties(p -> p.explosionResistance(12.0F)).register(); + + public static final BlockEntry ANNIVERSARY_CAKE = + REGISTRATE.block("anniversary_cake", AnniversaryCakeBlock::new) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .simpleItem() + .initialProperties(() -> Blocks.CAKE).register(); + + public static final BlockEntry BOK_CHOY_PLANT = + REGISTRATE.block("bok_choy_plant", BokChoyPlantBlock::new) + .initialProperties(() -> Blocks.WHEAT) + .blockstate((ctx, pov) -> pov.simpleBlock(ctx.get(), AssetLookup.standardModel(ctx, pov))) + .properties(p -> p.color(MaterialColor.GRASS).noCollission().instabreak().sound(SoundType.GRASS)) + .register(); + public static void setRegister() {} } diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedDamageSource.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedDamageSource.java index 4daea2e2..0d82d91b 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedDamageSource.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedDamageSource.java @@ -5,4 +5,5 @@ public class GarnishedDamageSource { public static final DamageSource MULCH_MUNCHING = (new DamageSource("garnished.mulch_munching")); public static final DamageSource FAN_FREEZING = (new DamageSource("garnished.fan_freezing")); + public static final DamageSource LEECHING = (new DamageSource("garnished.leeching")); } diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedEffects.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedEffects.java index 357ceab4..8972c9fb 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedEffects.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedEffects.java @@ -1,6 +1,7 @@ package net.dakotapride.garnished.registry; import net.dakotapride.garnished.CreateGarnished; +import net.dakotapride.garnished.effect.AustralMobEffect; import net.dakotapride.garnished.effect.AversionMobEffect; import net.dakotapride.garnished.effect.CognateMobEffect; import net.dakotapride.garnished.effect.FlagrantMobEffect; @@ -10,6 +11,7 @@ import net.dakotapride.garnished.effect.SpiritedResistanceMobEffect; import net.dakotapride.garnished.effect.SugarHighMobEffect; import net.dakotapride.garnished.effect.ThornsMobEffect; +import net.dakotapride.garnished.effect.TruthSeekerMobEffect; import net.fabricmc.fabric.api.registry.FabricBrewingRecipeRegistry; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; @@ -52,6 +54,14 @@ public class GarnishedEffects { public static MobEffect FREEZING = effect("freezing", new FreezingMobEffect()); + public static MobEffect TRUTH_SEEKER = effect("truth_seeker", new TruthSeekerMobEffect()); + + public static MobEffect AUSTRAL = effect("austral", new AustralMobEffect() + .addAttributeModifier(Attributes.MOVEMENT_SPEED, "8e5b13bb-d71e-4e28-a4e2-b0e98eb4b9d3", + 0.045, AttributeModifier.Operation.MULTIPLY_TOTAL) + .addAttributeModifier(Attributes.ATTACK_DAMAGE, "b9d7efff-0199-457d-bcfb-190ef862d2b0", + -0.20, AttributeModifier.Operation.MULTIPLY_TOTAL)); + public static Potion AVERSION_POTION = potion("aversion", new Potion( new MobEffectInstance(AVERSION, 2400))); public static Potion LONG_AVERSION_POTION = potion("long_aversion", new Potion("aversion", diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedEnchantments.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedEnchantments.java index 484bb9c6..bd8e83b3 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedEnchantments.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedEnchantments.java @@ -3,8 +3,12 @@ import com.tterrag.registrate.util.entry.RegistryEntry; import net.dakotapride.garnished.CreateGarnished; +import net.dakotapride.garnished.enchantment.CurseOfTheLeechEnchantment; +import net.dakotapride.garnished.enchantment.QuickStepEnchantment; import net.dakotapride.garnished.enchantment.RavagingEnchantment; +import net.dakotapride.garnished.enchantment.RejuvenateEnchantment; import net.dakotapride.garnished.enchantment.SalvagingEnchantment; +import net.dakotapride.garnished.enchantment.StrikingEnchantment; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentCategory; @@ -25,6 +29,34 @@ public class GarnishedEnchantments { .rarity(Enchantment.Rarity.UNCOMMON) .register(); + public static final RegistryEntry STRIKING = CreateGarnished.registrate() + .object("striking") + .enchantment(EnchantmentCategory.WEAPON, StrikingEnchantment::new) + .addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND) + .rarity(Enchantment.Rarity.RARE) + .register(); + + public static final RegistryEntry QUICK_STEP = CreateGarnished.registrate() + .object("quick_step") + .enchantment(EnchantmentCategory.WEAPON, QuickStepEnchantment::new) + .addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND) + .rarity(Enchantment.Rarity.VERY_RARE) + .register(); + + public static final RegistryEntry REJUVENATE = CreateGarnished.registrate() + .object("rejuvenate") + .enchantment(EnchantmentCategory.WEAPON, RejuvenateEnchantment::new) + .addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND) + .rarity(Enchantment.Rarity.VERY_RARE) + .register(); + + public static final RegistryEntry LEECHING_CURSE = CreateGarnished.registrate() + .object("leeching_curse") + .enchantment(EnchantmentCategory.WEAPON, CurseOfTheLeechEnchantment::new) + .addSlots(EquipmentSlot.MAINHAND, EquipmentSlot.OFFHAND) + .rarity(Enchantment.Rarity.VERY_RARE) + .register(); + public static void setRegister() {} } diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedFeatures.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedFeatures.java index d43761e0..f932ac86 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedFeatures.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedFeatures.java @@ -36,13 +36,17 @@ public class GarnishedFeatures { public static final ResourceKey> SOUL_ROOTS_CONFIGURED = registerConfiguredKey("patch_soul_roots_configured"); public static final ResourceKey SOUL_ROOTS_PLACED = registerPlacedKey("patch_soul_roots_placed"); - public static final ResourceKey> SOUL_SAND_VEGETATION_BONEMEAL_CONFIGURED = registerConfiguredKey("soul_sand_vegetation_bonemeal"); + public static final ResourceKey> SOUL_SAND_VEGETATION_SPREAD_CONFIGURED = registerConfiguredKey("soul_sand_vegetation_spread"); + public static final ResourceKey> WARPED_VEGETATION_SPREAD_CONFIGURED = registerConfiguredKey("warped_vegetation_spread"); + public static final ResourceKey> CRIMSON_VEGETATION_SPREAD_CONFIGURED = registerConfiguredKey("crimson_vegetation_spread"); public static final ResourceKey> BARREN_ROOTS_CONFIGURED = registerConfiguredKey("patch_barren_roots_configured"); public static final ResourceKey BARREN_ROOTS_PLACED = registerPlacedKey("patch_barren_roots_placed"); public static final ResourceKey> CHORUS_PLANT_CONFIGURED = registerConfiguredKey("patch_chorus_plant_configured"); public static final ResourceKey CHORUS_PLANT_PLACED = registerPlacedKey("patch_chorus_plant_placed"); + public static final ResourceKey> END_STONE_VEGETATION_SPREAD_CONFIGURED = registerConfiguredKey("end_stone_vegetation_spread"); + public static final ResourceKey> END_STONE_VEGETATION_BONEMEAL_CONFIGURED = registerConfiguredKey("end_stone_vegetation_bonemeal"); public static final VermilionKelpFeature VERMILION_KELP_FEATURE = register("vermilion_kelp", new VermilionKelpFeature(NoneFeatureConfiguration.CODEC)); @@ -59,6 +63,11 @@ public class GarnishedFeatures { public static final ResourceKey REMNANT_PLACED = registerPlacedKey("ores_overworld"); + public static final ResourceKey> PANSOPHICAL_DAISY = registerConfiguredKey("pansophical_daisy_configured"); + public static final ResourceKey> INCANDESCENT_LILY = registerConfiguredKey("incandescent_lily_configured"); + public static final ResourceKey> SORROWFUL_LICHEN = registerConfiguredKey("sorrowful_lichen_configured"); + public static final ResourceKey> SORROWFUL_LICHEN_BASALT_DELTAS = registerConfiguredKey("sorrowful_lichen_basalt_deltas_configured"); + public static ResourceLocation set(String id) { return new ResourceLocation(CreateGarnished.ID, id); } diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedFluids.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedFluids.java index de726fe8..14cae88e 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedFluids.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedFluids.java @@ -4,7 +4,6 @@ import javax.annotation.Nullable; -import com.simibubi.create.AllTags; import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.fluid.FluidHelper; @@ -65,6 +64,8 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) public static final FluidEntry GREEN_MASTIC_RESIN; public static final FluidEntry BLUE_MASTIC_RESIN; public static final FluidEntry PURPLE_MASTIC_RESIN; + public static final FluidEntry DRAGON_BREATH; + public static final FluidEntry SWEET_TEA; static { GARNISH = REGISTRATE @@ -76,7 +77,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.liquid_garnish", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.liquid_garnish", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -93,7 +94,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.apple_cider", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.apple_cider", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -110,7 +111,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.peanut_oil", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.peanut_oil", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -127,7 +128,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.cashew_mixture", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.cashew_mixture", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -145,7 +146,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -162,7 +163,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.red_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.red_mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -179,7 +180,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.orange_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.orange_mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -196,7 +197,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.yellow_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.yellow_mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -213,7 +214,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.green_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.green_mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -230,7 +231,7 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.blue_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.blue_mastic_resin", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> @@ -247,7 +248,41 @@ private static ResourceLocation createLocation(String fluid, boolean isFlowing) .tickRate(25) .flowSpeed(3) .blastResistance(100f)) - .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.purple_mastic_resin", 1500, 1400)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.purple_mastic_resin", 1500, 1400)) + .onRegisterAfter(Registry.ITEM.key(), fluid -> { + Fluid source = fluid.getSource(); + FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> + new FullItemFluidStorage(context, bucket -> ItemVariant.of(BUCKET), FluidVariant.of(source), FluidConstants.BUCKET)); + FluidStorage.combinedItemApiProvider(BUCKET).register(context -> + new EmptyItemFluidStorage(context, bucket -> ItemVariant.of(source.getBucket()), source, FluidConstants.BUCKET)); + }).register(); + DRAGON_BREATH = REGISTRATE + .fluid("dragon_breath", + createLocation("dragon_breath", false), + createLocation("dragon_breath", true) + ) + .fluidProperties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .flowSpeed(3) + .blastResistance(100f)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.garnished.dragon_breath", 1500, 1400)) + .onRegisterAfter(Registry.ITEM.key(), fluid -> { + Fluid source = fluid.getSource(); + FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> + new FullItemFluidStorage(context, bucket -> ItemVariant.of(BUCKET), FluidVariant.of(source), FluidConstants.BUCKET)); + FluidStorage.combinedItemApiProvider(BUCKET).register(context -> + new EmptyItemFluidStorage(context, bucket -> ItemVariant.of(source.getBucket()), source, FluidConstants.BUCKET)); + }).register(); + SWEET_TEA = REGISTRATE + .fluid("sweet_tea", + createLocation("sweet_tea", false), + createLocation("sweet_tea", true) + ) + .fluidProperties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .flowSpeed(3) + .blastResistance(100f)) + .fluidAttributes(() -> new CreateAdditionsAttributeHandler("fluid.garnished.garnished.sweet_tea", 1500, 1400)) .onRegisterAfter(Registry.ITEM.key(), fluid -> { Fluid source = fluid.getSource(); FluidStorage.combinedItemApiProvider(source.getBucket()).register(context -> diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedFoods.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedFoods.java index 892a3762..78dee7b6 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedFoods.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedFoods.java @@ -17,6 +17,26 @@ public class GarnishedFoods implements IGarnishedItem { public static final FoodProperties GARNISHED_BERRIES = new FoodProperties.Builder().nutrition(5).saturationMod(0.3F).build(); // Cinder Flour (Melted) + public static final FoodProperties MELTED_CINDER_FLOUR_PEANUT = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, getCinderEffectDuration), 1.0F) + .effect(new MobEffectInstance(MobEffects.INVISIBILITY, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_WALNUT = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.DAMAGE_BOOST, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_ALMOND = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.DIG_SPEED, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_HAZELNUT = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, getCinderEffectDuration, 1), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_CHESTNUT = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.SLOW_FALLING, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_PISTACHIO = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.NIGHT_VISION, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_MACADAMIA = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.FIRE_RESISTANCE, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_PECAN = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.DAMAGE_RESISTANCE, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_CASHEW = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F) + .effect(new MobEffectInstance(MobEffects.MOVEMENT_SPEED, getCinderEffectDuration), 1.0F).build(); + public static final FoodProperties MELTED_CINDER_FLOUR_NUT = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F).build(); // Sweetened @@ -24,7 +44,7 @@ public class GarnishedFoods implements IGarnishedItem { public static final FoodProperties SWEETENED_NUT_MIX = new FoodProperties.Builder().nutrition(9).saturationMod(0.4F).build(); // Chocolate Glazed - public static final FoodProperties CHOCHOLATE_GLAZED_NUT = new FoodProperties.Builder().nutrition(4).saturationMod(0.4F).build(); + public static final FoodProperties CHOCOLATE_GLAZED_NUT = new FoodProperties.Builder().nutrition(4).saturationMod(0.4F).build(); public static final FoodProperties CHOCOLATE_GLAZED_NUT_MIX = new FoodProperties.Builder().nutrition(7).saturationMod(0.6F).build(); // Honeyed @@ -105,7 +125,8 @@ public class GarnishedFoods implements IGarnishedItem { public static final FoodProperties MASTIC_COVERED_SLIME_DROP = new FoodProperties.Builder().nutrition(7).saturationMod(0.4F).fast().build(); public static final FoodProperties VENERABLE_DELICACY = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F).build(); public static final FoodProperties GALACTIC_CANE = new FoodProperties.Builder().nutrition(7).saturationMod(0.3F).build(); - public static final FoodProperties MERRY_TREAT = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F).build(); + public static final FoodProperties MERRY_TREAT = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F) + .effect(new MobEffectInstance(GarnishedEffects.SUGAR_HIGH, getSugarHighEffectBaseTick, 1), 1.0F).build(); public static final FoodProperties ICY_MASTIC_CHUNK = new FoodProperties.Builder().nutrition(3).saturationMod(0.1F) .effect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 100, 2), 1.0F) .effect(new MobEffectInstance(MobEffects.REGENERATION, 160, 1), 1.0F).fast().build(); @@ -172,12 +193,28 @@ public class GarnishedFoods implements IGarnishedItem { public static final FoodProperties EXPLORERS_CONCOCTION = new FoodProperties.Builder().nutrition(10).saturationMod(0.6F).build(); public static final FoodProperties CHILLED_APPLE = new FoodProperties.Builder().nutrition(4).saturationMod(0.2F).build(); + // Refurbished + public static final FoodProperties OMNISCIENT_STEW = new FoodProperties.Builder().nutrition(10).saturationMod(0.6F).build(); + public static final FoodProperties WARPED_BREW = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F).build(); + public static final FoodProperties INIQUITOUS_BREW = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F).build(); + public static final FoodProperties BOTTLE_OF_CRESTFALLEN_FLORA = new FoodProperties.Builder().nutrition(8).saturationMod(0.8F).build(); + public static final FoodProperties BOTTLED_MALODOROUS_MIXTURE = new FoodProperties.Builder().nutrition(6).saturationMod(0.4F).build(); + public static final FoodProperties PIQUANT_PRETZEL = new FoodProperties.Builder().nutrition(4).saturationMod(0.2F).build(); + public static final FoodProperties CHAMPIONS_OMELETTE = new FoodProperties.Builder().nutrition(14).saturationMod(1.0F).build(); + public static final FoodProperties FARSEER_BREW = new FoodProperties.Builder().nutrition(8).saturationMod(0.4F).build(); + public static final FoodProperties SHELLED_DUMPLING = new FoodProperties.Builder().nutrition(6).saturationMod(0.3F).build(); + public static final FoodProperties MEAT_SCRAPS = new FoodProperties.Builder().nutrition(6).saturationMod(0.4F).build(); + public static final FoodProperties BOK_CHOY = new FoodProperties.Builder().nutrition(2).saturationMod(0.1F).build(); + public static final FoodProperties SWEET_TEA = new FoodProperties.Builder().nutrition(4).saturationMod(0.2F).build(); + + // Farmer's Delight Foods public static final FoodProperties PECAN_PIE_SLICE = new FoodProperties.Builder().nutrition(3).saturationMod(0.2F).build(); public static final FoodProperties PHANTOM_BURGER = new FoodProperties.Builder().nutrition(8).saturationMod(0.6F).meat().build(); public static final FoodProperties PHANTOM_BEEF_PATTY = new FoodProperties.Builder().nutrition(3).saturationMod(0.2F).meat().build(); public static final FoodProperties GLOW_INK_ROLL = new FoodProperties.Builder().nutrition(7).saturationMod(0.3F).build(); public static final FoodProperties GLOW_INK_ROLL_SLICE = new FoodProperties.Builder().nutrition(3).saturationMod(0.1F).build(); + public static final FoodProperties ANNIVERSARY_CAKE_SLICE = new FoodProperties.Builder().nutrition(4).saturationMod(0.2F).build(); diff --git a/src/main/java/net/dakotapride/garnished/registry/GarnishedItems.java b/src/main/java/net/dakotapride/garnished/registry/GarnishedItems.java index fe0530e0..4c628ac0 100644 --- a/src/main/java/net/dakotapride/garnished/registry/GarnishedItems.java +++ b/src/main/java/net/dakotapride/garnished/registry/GarnishedItems.java @@ -38,12 +38,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_cashew", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_CASHEW = REGISTRATE.item("melted_cinder_cashew", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry SPEED_CINDER_CASHEW = - REGISTRATE.item("cinder_cashew_speed", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry SPEED_CINDER_CASHEW = + REGISTRATE.item("cinder_cashew_speed", MeltedCinderFlourNutWithEffectFoodItem.Cashew::new).register(); public static final ItemEntry SWEETENED_CASHEW = REGISTRATE.item("sweetened_cashew", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_CASHEW = - REGISTRATE.item("chocolate_glazed_cashew", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_CASHEW = + REGISTRATE.item("chocolate_glazed_cashew", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_CASHEW = REGISTRATE.item("honeyed_cashew", HoneyedNutFoodItem::new).register(); @@ -59,12 +59,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_walnut", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_WALNUT = REGISTRATE.item("melted_cinder_walnut", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry STRENGTH_CINDER_WALNUT = - REGISTRATE.item("cinder_walnut_strength", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry STRENGTH_CINDER_WALNUT = + REGISTRATE.item("cinder_walnut_strength", MeltedCinderFlourNutWithEffectFoodItem.Walnut::new).register(); public static final ItemEntry SWEETENED_WALNUT = REGISTRATE.item("sweetened_walnut", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_WALNUT = - REGISTRATE.item("chocolate_glazed_walnut", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_WALNUT = + REGISTRATE.item("chocolate_glazed_walnut", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_WALNUT = REGISTRATE.item("honeyed_walnut", HoneyedNutFoodItem::new).register(); @@ -80,12 +80,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_almond", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_ALMOND = REGISTRATE.item("melted_cinder_almond", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry HASTE_CINDER_ALMOND = - REGISTRATE.item("cinder_almond_haste", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry HASTE_CINDER_ALMOND = + REGISTRATE.item("cinder_almond_haste", MeltedCinderFlourNutWithEffectFoodItem.Almond::new).register(); public static final ItemEntry SWEETENED_ALMOND = REGISTRATE.item("sweetened_almond", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_ALMOND = - REGISTRATE.item("chocolate_glazed_almond", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_ALMOND = + REGISTRATE.item("chocolate_glazed_almond", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_ALMOND = REGISTRATE.item("honeyed_almond", HoneyedNutFoodItem::new).register(); @@ -101,12 +101,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_pecan", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_PECAN = REGISTRATE.item("melted_cinder_pecan", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry RESISTANCE_CINDER_PECAN = - REGISTRATE.item("cinder_pecan_resistance", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry RESISTANCE_CINDER_PECAN = + REGISTRATE.item("cinder_pecan_resistance", MeltedCinderFlourNutWithEffectFoodItem.Pecan::new).register(); public static final ItemEntry SWEETENED_PECAN = REGISTRATE.item("sweetened_pecan", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_PECAN = - REGISTRATE.item("chocolate_glazed_pecan", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_PECAN = + REGISTRATE.item("chocolate_glazed_pecan", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_PECAN = REGISTRATE.item("honeyed_pecan", HoneyedNutFoodItem::new).register(); @@ -122,12 +122,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_pistachio", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_PISTACHIO = REGISTRATE.item("melted_cinder_pistachio", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry NIGHT_VISION_CINDER_PISTACHIO = - REGISTRATE.item("cinder_pistachio_night_vision", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry NIGHT_VISION_CINDER_PISTACHIO = + REGISTRATE.item("cinder_pistachio_night_vision", MeltedCinderFlourNutWithEffectFoodItem.Pistachio::new).register(); public static final ItemEntry SWEETENED_PISTACHIO = REGISTRATE.item("sweetened_pistachio", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_PISTACHIO = - REGISTRATE.item("chocolate_glazed_pistachio", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_PISTACHIO = + REGISTRATE.item("chocolate_glazed_pistachio", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_PISTACHIO = REGISTRATE.item("honeyed_pistachio", HoneyedNutFoodItem::new).register(); @@ -143,12 +143,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_macadamia", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_MACADAMIA = REGISTRATE.item("melted_cinder_macadamia", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry FIRE_RESISTANCE_CINDER_MACADAMIA = - REGISTRATE.item("cinder_macadamia_fire_resistance", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry FIRE_RESISTANCE_CINDER_MACADAMIA = + REGISTRATE.item("cinder_macadamia_fire_resistance", MeltedCinderFlourNutWithEffectFoodItem.Macadamia::new).register(); public static final ItemEntry SWEETENED_MACADAMIA = REGISTRATE.item("sweetened_macadamia", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_MACADAMIA = - REGISTRATE.item("chocolate_glazed_macadamia", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_MACADAMIA = + REGISTRATE.item("chocolate_glazed_macadamia", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_MACADAMIA = REGISTRATE.item("honeyed_macadamia", HoneyedNutFoodItem::new).register(); @@ -164,12 +164,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_hazelnut", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_HAZELNUT = REGISTRATE.item("melted_cinder_hazelnut", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry POTENT_SPEED_CINDER_HAZELNUT = - REGISTRATE.item("cinder_hazelnut_speed_potent", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry POTENT_SPEED_CINDER_HAZELNUT = + REGISTRATE.item("cinder_hazelnut_speed_potent", MeltedCinderFlourNutWithEffectFoodItem.Hazelnut::new).register(); public static final ItemEntry SWEETENED_HAZELNUT = REGISTRATE.item("sweetened_hazelnut", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_HAZELNUT = - REGISTRATE.item("chocolate_glazed_hazelnut", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_HAZELNUT = + REGISTRATE.item("chocolate_glazed_hazelnut", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_HAZELNUT = REGISTRATE.item("honeyed_hazelnut", HoneyedNutFoodItem::new).register(); @@ -186,12 +186,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_peanut", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_BUHG = REGISTRATE.item("melted_cinder_peanut", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry EFFECT_CINDER_BUHG = - REGISTRATE.item("cinder_peanut_effect", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry EFFECT_CINDER_BUHG = + REGISTRATE.item("cinder_peanut_effect", MeltedCinderFlourNutWithEffectFoodItem.Peanut::new).register(); public static final ItemEntry SWEETENED_BUHG = REGISTRATE.item("sweetened_peanut", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_BUHG = - REGISTRATE.item("chocolate_glazed_peanut", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_BUHG = + REGISTRATE.item("chocolate_glazed_peanut", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_BUHG = REGISTRATE.item("honeyed_peanut", HoneyedNutFoodItem::new).register(); @@ -207,12 +207,12 @@ public class GarnishedItems { REGISTRATE.item("cinder_chestnut", CinderFlourNutFoodItem::new).register(); public static final ItemEntry MELTED_CINDER_FLOUR_CHESTNUT = REGISTRATE.item("melted_cinder_chestnut", MeltedCinderFlourNutFoodItem::new).register(); - public static final ItemEntry SLOW_FALLING_CINDER_CHESTNUT = - REGISTRATE.item("cinder_chestnut_slow_falling", MeltedCinderFlourNutWithEffectFoodItem::new).register(); + public static final ItemEntry SLOW_FALLING_CINDER_CHESTNUT = + REGISTRATE.item("cinder_chestnut_slow_falling", MeltedCinderFlourNutWithEffectFoodItem.Chestnut::new).register(); public static final ItemEntry SWEETENED_CHESTNUT = REGISTRATE.item("sweetened_chestnut", SweetenedNutFoodItem::new).register(); - public static final ItemEntry CHOCOLATE_GLAZED_CHESTNUT = - REGISTRATE.item("chocolate_glazed_chestnut", ChocholateGlazedNutFoodItem::new).register(); + public static final ItemEntry CHOCOLATE_GLAZED_CHESTNUT = + REGISTRATE.item("chocolate_glazed_chestnut", ChocolateGlazedNutFoodItem::new).register(); public static final ItemEntry HONEYED_CHESTNUT = REGISTRATE.item("honeyed_chestnut", HoneyedNutFoodItem::new).register(); @@ -221,7 +221,7 @@ public class GarnishedItems { REGISTRATE.item("nut_mix", NutMixFoodItem::new).register(); public static final ItemEntry SWEETENED_NUT_MIX = REGISTRATE.item("sweetened_nut_mix", SweetenedNutMixFoodItem::new).register(); - public static final ItemEntry CHOCHOLATE_GLAZED_NUT_MIX = + public static final ItemEntry CHOCOLATE_GLAZED_NUT_MIX = REGISTRATE.item("chocolate_glazed_nut_mix", ChocolateGlazedNutMixFoodItem::new).register(); public static final ItemEntry HONEYED_NUT_MIX = REGISTRATE.item("honeyed_nut_mix", HoneyedNutMixFoodItem::new).register(); @@ -660,6 +660,74 @@ public class GarnishedItems { public static final ItemEntry POLAR_BEAR_HIDE = REGISTRATE.item("polar_bear_hide", Item::new).register(); + // Garnished v1.8: Refurbished + public static final ItemEntry OMNISCIENT_STEW = + REGISTRATE.item("omniscient_stew", OmniscientStewFoodItem::new).register(); + public static final ItemEntry WARPED_BREW = + REGISTRATE.item("warped_brew", WarpedBrewFoodItem::new).register(); + public static final ItemEntry INIQUITOUS_BREW = + REGISTRATE.item("iniquitous_brew", IniquitousBrewFoodItem::new).register(); + public static final ItemEntry BOTTLE_OF_CRESTFALLEN_FLORA = + REGISTRATE.item("crestfallen_flora", BottleOfCrestfallenFloraFoodItem::new).register(); + public static final ItemEntry BOTTLED_MALODOROUS_MIXTURE = + REGISTRATE.item("bottled_malodorous_mixture", BottledMalodorousMixtureFoodItem::new).register(); + public static final ItemEntry PIQUANT_PRETZEL = + REGISTRATE.item("piquant_pretzel", PiquantPretzelFoodItem::new).register(); + public static final ItemEntry MEAT_SCRAPS = + REGISTRATE.item("meat_scraps", MeatScrapsFoodItem::new).register(); + public static final ItemEntry CHAMPIONS_OMELETTE = + REGISTRATE.item("champion_omelette", ChampionsOmeletteFoodItem::new) + .properties(p -> p.rarity(Rarity.EPIC)).register(); + public static final ItemEntry FARSEER_BREW = + REGISTRATE.item("farseer_brew", FarseerBrewFoodItem::new).register(); + public static final ItemEntry SHELLED_DUMPLING = + REGISTRATE.item("shelled_dumpling", ShelledDumplingFoodItem::new) + .properties(p -> p.rarity(Rarity.UNCOMMON)).register(); + public static final ItemEntry BOK_CHOY = + REGISTRATE.item("bok_choy", BokChoyFoodItem::new).register(); + public static final ItemEntry SWEET_TEA = + REGISTRATE.item("sweet_tea", SweetTeaItem::new).register(); + + public static final ItemEntry BOK_CHOY_SEEDS = + REGISTRATE.item("bok_choy_seeds", BokChoyLeafItem::new).register(); + + public static final ItemEntry TUSK = + REGISTRATE.item("tusk", Item::new).register(); + public static final ItemEntry IRATE_TUSK = + REGISTRATE.item("irate_tusk", Item::new).register(); + public static final ItemEntry PANSOPHICAL_PETAL = + REGISTRATE.item("pansophical_petal", Item::new).register(); + public static final ItemEntry INCANDESCENT_PETAL = + REGISTRATE.item("incandescent_petal", Item::new).register(); + public static final ItemEntry SENILE_BONE = + REGISTRATE.item("senile_bone", Item::new).register(); + public static final ItemEntry FIENDISH_SPORE = + REGISTRATE.item("fiendish_spore", Item::new).register(); + public static final ItemEntry TORRID_BLEND = + REGISTRATE.item("torrid_blend", Item::new).register(); + public static final ItemEntry MALODOROUS_MIXTURE = + REGISTRATE.item("malodorous_mixture", Item::new).register(); + public static final ItemEntry DIMMED_SCALE = + REGISTRATE.item("dimmed_scale", Item::new).register(); + public static final ItemEntry PRELIMINARY_NUCLEUS = + REGISTRATE.item("preliminary_nucleus", Item::new).register(); + public static final ItemEntry VEX_WING = + REGISTRATE.item("vex_wing", Item::new).register(); + public static final ItemEntry ENDER_DRAGON_EGG_SHELL = + REGISTRATE.item("ender_egg_shell", Item::new) + .properties(p -> p.rarity(Rarity.EPIC)).register(); + public static final ItemEntry FRAIL_ENDER_DRAGON_EGG_SHELL = + REGISTRATE.item("frail_ender_egg_shell", Item::new).register(); + public static final ItemEntry SUGAR_CUBE = + REGISTRATE.item("sugar_cube", Item::new).register(); + + public static final ItemEntry INCOMPLETE_ENDER_DRAGON_EGG = + REGISTRATE.item("incomplete_ender_dragon_egg", Item::new) + .properties(p -> p.rarity(Rarity.UNCOMMON)).register(); + public static final ItemEntry INCOMPLETE_CHAMPION_OMELETTE = + REGISTRATE.item("incomplete_champion_omelette", Item::new) + .properties(p -> p.rarity(Rarity.UNCOMMON)).register(); + // Farmer's Delight Items public static final ItemEntry PECAN_PIE_SLICE = REGISTRATE.item("pecan_pie_slice", PecanPieSliceFoodItem::new).register(); diff --git a/src/main/java/net/dakotapride/garnished/registry/JEI/GarnishedJEI.java b/src/main/java/net/dakotapride/garnished/registry/JEI/GarnishedJEI.java index ca56b173..c06994e6 100644 --- a/src/main/java/net/dakotapride/garnished/registry/JEI/GarnishedJEI.java +++ b/src/main/java/net/dakotapride/garnished/registry/JEI/GarnishedJEI.java @@ -11,6 +11,7 @@ import mezz.jei.api.IModPlugin; import mezz.jei.api.JeiPlugin; +import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.recipe.category.IRecipeCategory; import mezz.jei.api.registration.IRecipeCatalystRegistration; import mezz.jei.api.registration.IRecipeCategoryRegistration; @@ -25,10 +26,13 @@ import net.dakotapride.garnished.recipe.RedDyeBlowingFanRecipe; import net.dakotapride.garnished.recipe.YellowDyeBlowingFanRecipe; import net.dakotapride.garnished.registry.GarnishedFluids; +import net.dakotapride.garnished.registry.GarnishedItems; import net.dakotapride.garnished.registry.GarnishedRecipeTypes; import net.dakotapride.garnished.registry.JEI.add.RecipeCategoryBuilder; import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Recipe; @@ -58,6 +62,33 @@ public void registerRecipes(IRecipeRegistration registration) { ingredientManager = registration.getIngredientManager(); allCategories.forEach(c -> c.registerRecipes(registration)); + registration.addIngredientInfo(new ItemStack(GarnishedItems.ENFLAMED_MANDIBLE.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.enflamed_mandible.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.GHAST_TENDRIL.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.ghast_tendril.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.MOLTEN_REMNANT.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.molten_remnant.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.RAW_POLAR_BEAR_MEAT.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.polar_bear_meat.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.POLAR_BEAR_HIDE.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.polar_bear_hide.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.NUMBING_PARCHMENT.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.stray_parchment.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.RAW_TENEBROUS_MEAT.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.tenebrous_meat.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.TUSK.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.tusk.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.IRATE_TUSK.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.irate_tusk.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.DIMMED_SCALE.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.ender_scale.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.PRELIMINARY_NUCLEUS.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.endermite_heart.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.MEAT_SCRAPS.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.ravager_meat.information")); + registration.addIngredientInfo(new ItemStack(GarnishedItems.VEX_WING.get()), VanillaTypes.ITEM_STACK, + Component.translatable("jei.garnished.vex_wing.information")); + // fabric: hide flowing fluids // registration.getIngredientManager().removeIngredientsAtRuntime( // FabricTypes.FLUID_STACK, diff --git a/src/main/resources/assets/emi/recipe/additions/ender_scale.json b/src/main/resources/assets/emi/recipe/additions/ender_scale.json new file mode 100644 index 00000000..aa6b3b49 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/ender_scale.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:dimmed_scale" + ], + "text": "emi.garnished.ender_scale.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/endermite_heart.json b/src/main/resources/assets/emi/recipe/additions/endermite_heart.json new file mode 100644 index 00000000..2d6f3c21 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/endermite_heart.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:preliminary_nucleus" + ], + "text": "emi.garnished.endermite_heart.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/enflamed_mandible.json b/src/main/resources/assets/emi/recipe/additions/enflamed_mandible.json new file mode 100644 index 00000000..4b255cc5 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/enflamed_mandible.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:enflamed_mandible" + ], + "text": "emi.garnished.enflamed_mandible.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/ghast_tendril.json b/src/main/resources/assets/emi/recipe/additions/ghast_tendril.json new file mode 100644 index 00000000..02ab5ebf --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/ghast_tendril.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:ghast_tendril" + ], + "text": "emi.garnished.ghast_tendril.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/irate_tusk.json b/src/main/resources/assets/emi/recipe/additions/irate_tusk.json new file mode 100644 index 00000000..e5cd7302 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/irate_tusk.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:irate_tusk" + ], + "text": "emi.garnished.irate_tusk.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/molten_remnant.json b/src/main/resources/assets/emi/recipe/additions/molten_remnant.json new file mode 100644 index 00000000..d4546895 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/molten_remnant.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:molten_remnant" + ], + "text": "emi.garnished.molten_remnant.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/polar_bear_hide.json b/src/main/resources/assets/emi/recipe/additions/polar_bear_hide.json new file mode 100644 index 00000000..c5440ad4 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/polar_bear_hide.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:polar_bear_hide" + ], + "text": "emi.garnished.polar_bear_hide.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/polar_bear_meat.json b/src/main/resources/assets/emi/recipe/additions/polar_bear_meat.json new file mode 100644 index 00000000..aa99ad35 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/polar_bear_meat.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:raw_polar_bear_meat" + ], + "text": "emi.garnished.polar_bear_meat.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/ravager_meat.json b/src/main/resources/assets/emi/recipe/additions/ravager_meat.json new file mode 100644 index 00000000..4ee51236 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/ravager_meat.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:meat_scraps" + ], + "text": "emi.garnished.ravager_meat.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/stray_parchment.json b/src/main/resources/assets/emi/recipe/additions/stray_parchment.json new file mode 100644 index 00000000..dbe57b2d --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/stray_parchment.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:numbing_parchment" + ], + "text": "emi.garnished.stray_parchment.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/tenebrous_meat.json b/src/main/resources/assets/emi/recipe/additions/tenebrous_meat.json new file mode 100644 index 00000000..622618c7 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/tenebrous_meat.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:raw_tenebrous_meat" + ], + "text": "emi.garnished.tenebrous_meat.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/tusk.json b/src/main/resources/assets/emi/recipe/additions/tusk.json new file mode 100644 index 00000000..fa25db33 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/tusk.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:tusk" + ], + "text": "emi.garnished.tusk.information" +} diff --git a/src/main/resources/assets/emi/recipe/additions/vex_wing.json b/src/main/resources/assets/emi/recipe/additions/vex_wing.json new file mode 100644 index 00000000..b6203d46 --- /dev/null +++ b/src/main/resources/assets/emi/recipe/additions/vex_wing.json @@ -0,0 +1,7 @@ +{ + "type": "emi:info", + "stacks": [ + "item:garnished:vex_wing" + ], + "text": "emi.garnished.vex_wing.information" +} diff --git a/src/main/resources/assets/garnished/blockstates/anniversary_cake.json b/src/main/resources/assets/garnished/blockstates/anniversary_cake.json new file mode 100644 index 00000000..82fc8bfb --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/anniversary_cake.json @@ -0,0 +1,22 @@ +{ + "variants": { + "anniversary_bites=0": { + "model": "garnished:block/anniversary_cake" + }, + "anniversary_bites=1": { + "model": "garnished:block/anniversary_cake_slice1" + }, + "anniversary_bites=2": { + "model": "garnished:block/anniversary_cake_slice2" + }, + "anniversary_bites=3": { + "model": "garnished:block/anniversary_cake_slice3" + }, + "anniversary_bites=4": { + "model": "garnished:block/anniversary_cake_slice4" + }, + "anniversary_bites=5": { + "model": "garnished:block/anniversary_cake_slice5" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/aureate_shrub.json b/src/main/resources/assets/garnished/blockstates/aureate_shrub.json new file mode 100644 index 00000000..c45d826e --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/aureate_shrub.json @@ -0,0 +1,15 @@ +{ + "variants": { + "": [ + { + "model": "garnished:block/aureate_shrub_0" + }, + { + "model": "garnished:block/aureate_shrub_1" + }, + { + "model": "garnished:block/aureate_shrub_2" + } + ] + } +} diff --git a/src/main/resources/assets/garnished/blockstates/bok_choy_plant.json b/src/main/resources/assets/garnished/blockstates/bok_choy_plant.json new file mode 100644 index 00000000..62d7cff5 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/bok_choy_plant.json @@ -0,0 +1,13 @@ +{ + "variants": { + "age=0": { + "model": "garnished:block/bok_choy_stage0" + }, + "age=1": { + "model": "garnished:block/bok_choy_stage1" + }, + "age=2": { + "model": "garnished:block/bok_choy_stage2" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/chiseled_dragon_stone_bricks.json b/src/main/resources/assets/garnished/blockstates/chiseled_dragon_stone_bricks.json new file mode 100644 index 00000000..d45c1919 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/chiseled_dragon_stone_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/chiseled_dragon_stone_bricks" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_breath.json b/src/main/resources/assets/garnished/blockstates/dragon_breath.json new file mode 100644 index 00000000..0f236cf2 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_breath.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/dragon_breath" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone.json b/src/main/resources/assets/garnished/blockstates/dragon_stone.json new file mode 100644 index 00000000..a3b5c657 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/dragon_stone" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks.json new file mode 100644 index 00000000..f43da52a --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/dragon_stone_bricks" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_slab.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_slab.json new file mode 100644 index 00000000..0b6641f3 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "garnished:block/dragon_stone_bricks_slab" + }, + "type=double": { + "model": "garnished:block/dragon_stone_bricks" + }, + "type=top": { + "model": "garnished:block/dragon_stone_bricks_slab_top" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_stairs.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_stairs.json new file mode 100644 index 00000000..34f282e5 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_bricks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_bricks_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_wall.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_wall.json new file mode 100644 index 00000000..5e3e09fb --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_bricks_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_bricks_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_slab.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_slab.json new file mode 100644 index 00000000..1b0b4ab1 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "garnished:block/dragon_stone_slab" + }, + "type=double": { + "model": "garnished:block/dragon_stone" + }, + "type=top": { + "model": "garnished:block/dragon_stone_slab_top" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_stairs.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_stairs.json new file mode 100644 index 00000000..91df5fa2 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "garnished:block/dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "garnished:block/dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "garnished:block/dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/dragon_stone_wall.json b/src/main/resources/assets/garnished/blockstates/dragon_stone_wall.json new file mode 100644 index 00000000..baee323a --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/dragon_stone_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "garnished:block/dragon_stone_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "garnished:block/dragon_stone_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/incandescent_lily.json b/src/main/resources/assets/garnished/blockstates/incandescent_lily.json new file mode 100644 index 00000000..170c1ab6 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/incandescent_lily.json @@ -0,0 +1,15 @@ +{ + "variants": { + "": [ + { + "model": "garnished:block/incandescent_lily_0" + }, + { + "model": "garnished:block/incandescent_lily_1" + }, + { + "model": "garnished:block/incandescent_lily_2" + } + ] + } +} diff --git a/src/main/resources/assets/garnished/blockstates/pansophical_daisy.json b/src/main/resources/assets/garnished/blockstates/pansophical_daisy.json new file mode 100644 index 00000000..fbf4ab09 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/pansophical_daisy.json @@ -0,0 +1,15 @@ +{ + "variants": { + "": [ + { + "model": "garnished:block/pansophical_daisy_0" + }, + { + "model": "garnished:block/pansophical_daisy_1" + }, + { + "model": "garnished:block/pansophical_daisy_2" + } + ] + } +} diff --git a/src/main/resources/assets/garnished/blockstates/polished_dragon_stone.json b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone.json new file mode 100644 index 00000000..f671dd56 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/polished_dragon_stone" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_slab.json b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_slab.json new file mode 100644 index 00000000..7ab3ddc3 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "garnished:block/polished_dragon_stone_slab" + }, + "type=double": { + "model": "garnished:block/polished_dragon_stone" + }, + "type=top": { + "model": "garnished:block/polished_dragon_stone_slab_top" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_stairs.json b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_stairs.json new file mode 100644 index 00000000..5cdcb41a --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "garnished:block/polished_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "garnished:block/polished_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "garnished:block/polished_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_wall.json b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_wall.json new file mode 100644 index 00000000..2771c47b --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/polished_dragon_stone_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "garnished:block/polished_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/potted_aureate_shrub.json b/src/main/resources/assets/garnished/blockstates/potted_aureate_shrub.json new file mode 100644 index 00000000..27873c24 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_aureate_shrub.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/potted_aureate_shrub" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/potted_barren_roots.json b/src/main/resources/assets/garnished/blockstates/potted_barren_roots.json new file mode 100644 index 00000000..a462fc7d --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_barren_roots.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/potted_barren_roots" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/potted_incandescent_lily.json b/src/main/resources/assets/garnished/blockstates/potted_incandescent_lily.json new file mode 100644 index 00000000..a37da2ad --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_incandescent_lily.json @@ -0,0 +1,15 @@ +{ + "variants": { + "": [ + { + "model": "garnished:block/potted_incandescent_lily_0" + }, + { + "model": "garnished:block/potted_incandescent_lily_1" + }, + { + "model": "garnished:block/potted_incandescent_lily_2" + } + ] + } +} diff --git a/src/main/resources/assets/garnished/blockstates/potted_pansophical_daisy.json b/src/main/resources/assets/garnished/blockstates/potted_pansophical_daisy.json new file mode 100644 index 00000000..b148c7bb --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_pansophical_daisy.json @@ -0,0 +1,15 @@ +{ + "variants": { + "": [ + { + "model": "garnished:block/potted_pansophical_daisy_0" + }, + { + "model": "garnished:block/potted_pansophical_daisy_1" + }, + { + "model": "garnished:block/potted_pansophical_daisy_2" + } + ] + } +} diff --git a/src/main/resources/assets/garnished/blockstates/potted_sepia_fungus.json b/src/main/resources/assets/garnished/blockstates/potted_sepia_fungus.json new file mode 100644 index 00000000..9fb78f5e --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_sepia_fungus.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/potted_sepia_fungus" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/potted_small_chorus_plant.json b/src/main/resources/assets/garnished/blockstates/potted_small_chorus_plant.json new file mode 100644 index 00000000..0ec1d859 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_small_chorus_plant.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/potted_small_chorus_plant" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/potted_soul_roots.json b/src/main/resources/assets/garnished/blockstates/potted_soul_roots.json new file mode 100644 index 00000000..aec2b7ec --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/potted_soul_roots.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/potted_soul_roots" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/senile_bone_block.json b/src/main/resources/assets/garnished/blockstates/senile_bone_block.json new file mode 100644 index 00000000..984e489e --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/senile_bone_block.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "garnished:block/senile_bone_block", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "garnished:block/senile_bone_block" + }, + "axis=z": { + "model": "garnished:block/senile_bone_block", + "x": 90 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone.json b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone.json new file mode 100644 index 00000000..871ba554 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/smooth_dragon_stone" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_slab.json b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_slab.json new file mode 100644 index 00000000..9e9ff5a1 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "garnished:block/smooth_dragon_stone_slab" + }, + "type=double": { + "model": "garnished:block/smooth_dragon_stone" + }, + "type=top": { + "model": "garnished:block/smooth_dragon_stone_slab_top" + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_stairs.json b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_stairs.json new file mode 100644 index 00000000..38e350e1 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "garnished:block/smooth_dragon_stone_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "garnished:block/smooth_dragon_stone_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} diff --git a/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_wall.json b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_wall.json new file mode 100644 index 00000000..cccd1c09 --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/smooth_dragon_stone_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_post" + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side", + "uvlock": true + }, + "when": { + "north": "low" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "low" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "low" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "low" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side_tall", + "uvlock": true + }, + "when": { + "north": "tall" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "tall" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "tall" + } + }, + { + "apply": { + "model": "garnished:block/smooth_dragon_stone_wall_side_tall", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "tall" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/sorrowful_lichen.json b/src/main/resources/assets/garnished/blockstates/sorrowful_lichen.json new file mode 100644 index 00000000..80e94a8a --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/sorrowful_lichen.json @@ -0,0 +1,150 @@ +{ + "multipart": [ + { + "apply": { + "model": "garnished:block/sorrowful_lichen" + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen" + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 90 + }, + "when": { + "east": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 90 + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 180 + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 180 + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 270 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "y": 270 + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "x": 270 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "x": 270 + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "x": 90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "garnished:block/sorrowful_lichen", + "uvlock": true, + "x": 90 + }, + "when": { + "down": "false", + "east": "false", + "north": "false", + "south": "false", + "up": "false", + "west": "false" + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/blockstates/sweet_tea.json b/src/main/resources/assets/garnished/blockstates/sweet_tea.json new file mode 100644 index 00000000..62c3933c --- /dev/null +++ b/src/main/resources/assets/garnished/blockstates/sweet_tea.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "garnished:block/sweet_tea" + } + } +} diff --git a/src/main/resources/assets/garnished/lang/en_us.json b/src/main/resources/assets/garnished/lang/en_us.json index 823cde16..45a211f1 100644 --- a/src/main/resources/assets/garnished/lang/en_us.json +++ b/src/main/resources/assets/garnished/lang/en_us.json @@ -50,6 +50,7 @@ "item.garnished.phantom_burger": "Phantom Burger", "item.garnished.glow_ink_roll": "Glow Ink Roll", "item.garnished.glow_ink_roll_slice": "Glow Ink Roll Slice", + "item.garnished.anniversary_cake_slice": "Slice of Anniversary Cake", "text.garnished.integration.farmersdelight.missing": "Please install Farmer's Delight!", "item.garnished.cashew": "Cashew", @@ -269,9 +270,17 @@ "item.garnished.netherite_hatchet": "Netherite Hatchet", "enchantment.garnished.salvaging": "Salvaging", "enchantment.garnished.ravaging": "Ravaging", - - "enchantment.garnished.ravaging.desc": "Provides additional drops from certain mobs", - "enchantment.garnished.salvaging.desc": "Provides additional drops from certain mobs", + "enchantment.garnished.striking": "Striking", + "enchantment.garnished.quick_step": "Quick Step", + "enchantment.garnished.rejuvenate": "Rejuvenate", + "enchantment.garnished.leeching_curse": "Curse of the Leech", + + "enchantment.garnished.ravaging.desc": "Provides additional drops from certain mobs. Also increases attack damage while under half health.", + "enchantment.garnished.salvaging.desc": "Provides additional drops from certain mobs.", + "enchantment.garnished.striking.desc": "Increases the damage of a given hatchet.", + "enchantment.garnished.quick_step.desc": "Increases the movement speed while under half health.", + "enchantment.garnished.rejuvenate.desc": "Regenerates health every time they attack another entity.", + "enchantment.garnished.leeching_curse.desc": "Damages the user every time they attack another entity.", "item.garnished.molten_remnant": "Molten Remnant", "item.garnished.molten_stew": "Molten Stew", @@ -515,17 +524,110 @@ "create.recipe.garnished.fan_freezing.fan": "Fan behind Powder Snow", "recipe.garnished.fan_freezing": "Bulk Freezing", "create.recipe.garnished.red_dye_blowing.fan": "Fan behind Red Liquefied Mastic Resin", - "recipe.garnished.red_dye_blowing": "Bulk Dyeing", + "recipe.garnished.red_dye_blowing": "Red Bulk Dyeing", "create.recipe.garnished.orange_dye_blowing.fan": "Fan behind Orange Liquefied Mastic Resin", - "recipe.garnished.orange_dye_blowing": "Bulk Dyeing", + "recipe.garnished.orange_dye_blowing": "Orange Bulk Dyeing", "create.recipe.garnished.yellow_dye_blowing.fan": "Fan behind Yellow Liquefied Mastic Resin", - "recipe.garnished.yellow_dye_blowing": "Bulk Dyeing", + "recipe.garnished.yellow_dye_blowing": "Yellow Bulk Dyeing", "create.recipe.garnished.green_dye_blowing.fan": "Fan behind Green Liquefied Mastic Resin", - "recipe.garnished.green_dye_blowing": "Bulk Dyeing", + "recipe.garnished.green_dye_blowing": "Green Bulk Dyeing", "create.recipe.garnished.blue_dye_blowing.fan": "Fan behind Blue Liquefied Mastic Resin", - "recipe.garnished.blue_dye_blowing": "Bulk Dyeing", + "recipe.garnished.blue_dye_blowing": "Blue Bulk Dyeing", "create.recipe.garnished.purple_dye_blowing.fan": "Fan behind Purple Liquefied Mastic Resin", - "recipe.garnished.purple_dye_blowing": "Bulk Dyeing", + "recipe.garnished.purple_dye_blowing": "Purple Bulk Dyeing", + + "block.garnished.senile_bone_block": "Senile Bone Block", + "block.garnished.pansophical_daisy": "Pansophical Daisy", + "block.garnished.incandescent_lily": "Incandescent Lily", + "block.garnished.sorrowful_lichen": "Sorrowful Lichen", + "item.garnished.pansophical_petal": "Pansophical Petal", + "item.garnished.incandescent_petal": "Incandescent Petal", + "item.garnished.senile_bone": "Senile Bone", + "item.garnished.tusk": "Tusk", + "item.garnished.irate_tusk": "Irate Tusk", + "item.garnished.vex_wing": "Vex Wing", + "item.garnished.meat_scraps": "Meat Scraps", + "item.garnished.dimmed_scale": "Dimmed Scale", + "item.garnished.preliminary_nucleus": "Preliminary Nucleus", + "item.garnished.omniscient_stew": "Omniscient Stew", + "item.garnished.warped_brew": "Warped Brew", + "item.garnished.iniquitous_brew": "Iniquitous Brew", + "item.garnished.crestfallen_flora": "Bottle of Crestfallen Flora", + "item.garnished.bottled_malodorous_mixture": "Bottled Malodorous Mixture", + "item.garnished.piquant_pretzel": "Piquant Pretzel", + "item.garnished.fiendish_spore": "Fiendish Spore", + "item.garnished.torrid_blend": "Torrid Blend", + "item.garnished.malodorous_mixture": "Malodorous Mixture", + "block.garnished.aureate_shrub": "Aureate Shrub", + "block.garnished.dragon_stone": "§eWyvern Stone", + "block.garnished.dragon_stone_slab": "§eWyvern Stone Slab", + "block.garnished.dragon_stone_stairs": "§eWyvern Stone Stairs", + "block.garnished.dragon_stone_wall": "§eWyvern Stone Wall", + "block.garnished.dragon_stone_bricks": "§eWyvern Stone Bricks", + "block.garnished.dragon_stone_bricks_slab": "§eWyvern Stone Brick Slab", + "block.garnished.dragon_stone_bricks_stairs": "§eWyvern Stone Brick Stairs", + "block.garnished.dragon_stone_bricks_wall": "§eWyvern Stone Brick Wall", + "block.garnished.polished_dragon_stone": "§ePolished Wyvern Stone", + "block.garnished.polished_dragon_stone_slab": "§ePolished Wyvern Stone Slab", + "block.garnished.polished_dragon_stone_stairs": "§ePolished Wyvern Stone Stairs", + "block.garnished.polished_dragon_stone_wall": "§ePolished Wyvern Stone Wall", + "block.garnished.chiseled_dragon_stone_bricks": "§eChiseled Wyvern Stone Bricks", + "block.garnished.smooth_dragon_stone": "§eSmooth Wyvern Stone", + "block.garnished.smooth_dragon_stone_stairs": "§eSmooth Wyvern Stone Stairs", + "block.garnished.smooth_dragon_stone_slab": "§eSmooth Wyvern Stone Slab", + "block.garnished.smooth_dragon_stone_wall": "§eSmooth Wyvern Stone Wall", + "item.garnished.ender_egg_shell": "Dragon Egg Shell", + "item.garnished.frail_ender_egg_shell": "§eFrail Dragon Egg Shell", + "item.garnished.champion_omelette": "Champion's Omelette", + "item.garnished.farseer_brew": "Farseer Brew", + "item.garnished.shelled_dumpling": "Shelled Dumpling", + "item.garnished.incomplete_champion_omelette": "Incomplete Champion's Omelette", + "item.garnished.incomplete_ender_dragon_egg": "Incomplete Dragon Egg", + "item.garnished.bok_choy": "Bok Choy Bulb", + "item.garnished.bok_choy_seeds": "Bok Choy Leaf", + "block.garnished.bok_choy_plant": "Bok Choy", + "item.garnished.sweet_tea": "Sweet Tea", + "item.garnished.sugar_cube": "Sugar Cube", + "block.garnished.anniversary_cake": "Anniversary Cake", + "effect.garnished.truth_seeker": "Truth Seeker", + "effect.garnished.austral": "Austral", + "effect.garnished.aversion.description": "Functions like a nut allergy, eating nuts while having this effect applied will result in Nausea.", + "effect.garnished.spirited_resistance.description": "Removes certain negative status effects. Acts like thorns if certain undead mobs attack.", + "effect.garnished.cognate.description": "Allows the inflicted to freely look at endermen.", + "effect.garnished.flagrant.description": "Endermen are always aggressive to anyone inflicted with this effect.", + "effect.garnished.sugar_high.description": "Provides a slight speed boost. If the inflicted consumes a Coal Truffle, regeneration is provided.", + "effect.garnished.sanctity.description": "Provides temporary armor points and absorption health points.", + "effect.garnished.thorns.description": "Functions like the thorns enchantment, simply as a status effect.", + "effect.garnished.mummification.description": "Slows the inflicted. Damages the inflicted severely when the effect runs out.", + "effect.garnished.freezing.description": "Slows the inflicted, having a near identical effect to being inside powder snow.", + "effect.garnished.truth_seeker.description": "Makes the inflicted invulnerable to arrows, similar to a Shulker. Higher levels allow for full invincibility.", + "jei.garnished.enflamed_mandible.information": "Can be dropped by Blazes when using the Ravaging enchantment.", + "jei.garnished.ghast_tendril.information": "Can be dropped by Ghasts when using the Ravaging enchantment.", + "jei.garnished.molten_remnant.information": "Can be dropped by Magma Cubes when using the Ravaging enchantment.", + "jei.garnished.polar_bear_meat.information": "Can be dropped by Polar Bears when using the Ravaging enchantment.", + "jei.garnished.polar_bear_hide.information": "Can be dropped by Polar Bears when using the Ravaging enchantment.", + "jei.garnished.stray_parchment.information": "Can be dropped by Strays when using the Ravaging enchantment.", + "jei.garnished.tenebrous_meat.information": "Can be dropped by Wardens when using the Ravaging enchantment, and can also be found in Ancient City loot chests.", + "jei.garnished.tusk.information": "Can be dropped by Hoglins when using the Ravaging enchantment, and can also be dropped rarely by Pigs when using the Salvaging enchantment.", + "jei.garnished.irate_tusk.information": "Can be dropped rarely by Hoglins when using the Ravaging enchantment.", + "jei.garnished.ender_scale.information": "Can be dropped by Endermen, Endermites, and the Ender Dragon with varying chances when using the Ravaging enchantment.", + "jei.garnished.endermite_heart.information": "Can be dropped by Endermites when using the Ravaging enchantment.", + "jei.garnished.vex_wing.information": "Can be dropped by Vexes when using the Ravaging enchantment, and can also be dropped rarely by Allays when using the Salvaging enchantment.", + "jei.garnished.ravager_meat.information": "Can be dropped by Ravagers when using the Ravaging enchantment.", + + "emi.garnished.enflamed_mandible.information": "Can be dropped by Blazes when using the Ravaging enchantment.", + "emi.garnished.ghast_tendril.information": "Can be dropped by Ghasts when using the Ravaging enchantment.", + "emi.garnished.molten_remnant.information": "Can be dropped by Magma Cubes when using the Ravaging enchantment.", + "emi.garnished.polar_bear_meat.information": "Can be dropped by Polar Bears when using the Ravaging enchantment.", + "emi.garnished.polar_bear_hide.information": "Can be dropped by Polar Bears when using the Ravaging enchantment.", + "emi.garnished.stray_parchment.information": "Can be dropped by Strays when using the Ravaging enchantment.", + "emi.garnished.tenebrous_meat.information": "Can be dropped by Wardens when using the Ravaging enchantment, and can also be found in Ancient City loot chests.", + "emi.garnished.tusk.information": "Can be dropped by Hoglins when using the Ravaging enchantment, and can also be dropped rarely by Pigs when using the Salvaging enchantment.", + "emi.garnished.irate_tusk.information": "Can be dropped rarely by Hoglins when using the Ravaging enchantment.", + "emi.garnished.ender_scale.information": "Can be dropped by Endermen, Endermites, and the Ender Dragon with varying chances when using the Ravaging enchantment.", + "emi.garnished.endermite_heart.information": "Can be dropped by Endermites when using the Ravaging enchantment.", + "emi.garnished.vex_wing.information": "Can be dropped by Vexes when using the Ravaging enchantment, and can also be dropped rarely by Allays when using the Salvaging enchantment.", + "emi.garnished.ravager_meat.information": "Can be dropped by Ravagers when using the Ravaging enchantment.", "tag.item.c.buckets.mastic_resin": "Liquefied Mastic Resin Buckets", "tag.item.c.cheese": "Cheese", @@ -539,6 +641,7 @@ "tag.item.garnished.aversion_foods": "Foods That Inflict Aversion", "tag.item.garnished.berries": "Berries", "tag.item.garnished.bottled.apple_cider": "Bottled Apple Cider", + "tag.item.garnished.apple_cider": "Bottled Apple Cider", "tag.item.garnished.bottled.peanut_oil": "Bottled Peanut Oil", "tag.item.garnished.bottled.cashew_mixture": "Bottled Cashew Mixture", "tag.item.garnished.buhg": "Items That Unlock The Buhg Advancement", @@ -579,6 +682,7 @@ "tag.item.garnished.stone_types.carnotite": "Carnotite", "tag.item.garnished.stone_types.ritualistic_stone": "Ritualistic Stone", "tag.item.garnished.stone_types.unstable_stone": "Unstable Stone", + "tag.item.garnished.stone_types.dragon_stone": "Wyvern Stone", "tag.item.garnished.stripped_nut_logs": "Stripped Nut Logs", "tag.item.garnished.stripped_sepia_stems": "Stripped Sepia Stems", "tag.item.garnished.sweetened_nuts": "Sweetened Nuts", @@ -588,12 +692,21 @@ "tag.item.garnished.venerable_delicacies": "Venerable Delicacies", "tag.item.minecraft.glazed_terracotta": "Glazed Terracotta", "tag.item.minecraft.shulker_boxes": "Shulker Boxes", + "tag.item.c.buckets.apple_cider": "Apple Cider Buckets", + "tag.item.c.buckets.liquid_garnish": "Liquid Garnish Buckets", + "tag.item.c.buckets.cashew_mixture": "Cashew Mixture Buckets", + "tag.item.c.buckets.dragon_breath": "Dragon's Breath Buckets", + "tag.item.c.buckets.peanut_oil": "Peanut Oil Buckets", + "tag.item.c.buckets.sweet_tea": "Sweet Tea Buckets", "tag.fluid.garnished.apple_cider": "Apple Cider", "tag.fluid.garnished.cashew_mixture": "Cashew Mixture", "tag.fluid.garnished.fluids": "Fluids From The Create: Garnished Mod", "tag.fluid.garnished.liquid_garnish": "Liquid Garnish", "tag.fluid.garnished.mastic_resin": "Liquefied Mastic Resin", "tag.fluid.garnished.peanut_oil": "Peanut Oil", + "tag.fluid.garnished.dragon_breath": "Dragon's Breath", + "tag.fluid.garnished.sweet_tea": "Sweet Tea", + "emi.category.garnished.fan_freezing": "Bulk Freezing", "create.recipe.fan_freezing.fan": "Fan Behind Powdered Snow", @@ -642,28 +755,34 @@ "item.garnished.green_mastic_resin_bucket": "Bucket of Colored Mastic Resin", "item.garnished.blue_mastic_resin_bucket": "Bucket of Colored Mastic Resin", "item.garnished.purple_mastic_resin_bucket": "Bucket of Colored Mastic Resin", - "fluid.liquid_garnish": "Liquid Garnish", + "item.garnished.dragon_breath_bucket": "Bucket of Dragon's Breath", + "item.garnished.sweet_tea_bucket": "Bucket of Sweet Tea", + "fluid.garnished.liquid_garnish": "Liquid Garnish", "block.garnished.garnish": "Liquid Garnish", - "fluid.apple_cider": "Apple Cider", + "fluid.garnished.apple_cider": "Apple Cider", "block.garnished.apple_cider": "Apple Cider", - "fluid.peanut_oil": "Peanut Oil", + "fluid.garnished.peanut_oil": "Peanut Oil", "block.garnished.peanut_oil": "Peanut Oil", - "fluid.cashew_mixture": "Cashew Mixture", + "fluid.garnished.cashew_mixture": "Cashew Mixture", "block.garnished.cashew_mixture": "Cashew Mixture", - "fluid.mastic_resin": "Liquefied Mastic Resin", + "fluid.garnished.mastic_resin": "Liquefied Mastic Resin", "block.garnished.mastic_resin": "Liquefied Mastic Resin", - "fluid.red_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.red_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.red_mastic_resin": "Liquefied Colored Mastic Resin", - "fluid.orange_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.orange_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.orange_mastic_resin": "Liquefied Colored Mastic Resin", - "fluid.yellow_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.yellow_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.yellow_mastic_resin": "Liquefied Colored Mastic Resin", - "fluid.green_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.green_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.green_mastic_resin": "Liquefied Colored Mastic Resin", - "fluid.blue_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.blue_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.blue_mastic_resin": "Liquefied Colored Mastic Resin", - "fluid.purple_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.purple_mastic_resin": "Liquefied Colored Mastic Resin", "block.garnished.purple_mastic_resin": "Liquefied Colored Mastic Resin", + "fluid.garnished.dragon_breath": "Dragon's Breath", + "block.garnished.dragon_breath": "Dragon's Breath", + "fluid.garnished.sweet_tea": "Sweet Tea", + "block.garnished.sweet_tea": "Sweet Tea", "block.garnished.nut_plant": "Nut Growth", "block.garnished.nut_sapling": "Nut Tree Sapling", @@ -673,6 +792,11 @@ "item.garnished.garnish_powder": "Powdered Garnish", "death.attack.garnished.mulch_munching": "%s munched on too much mulch", + "death.attack.garnished.mulch_munching.player": "%1$s was force fed too much mulch by %2$s", + "death.attack.garnished.fan_freezing": "%1$s was turned ice cold by an Encased Fan", + "death.attack.garnished.fan_freezing.player": "%1$s was frozen by %2$s", + "death.attack.garnished.leeching": "%1$s couldn't deal with the consequences of their actions", + "death.attack.garnished.leeching.player": "%1$s... REALLY didn't want to live at the same time as %2$s", "advancement.garnished.nut_tree.title": "Vast Wilderness", "advancement.garnished.nut_tree.description": "Obtain Ungarnished Nuts by exploring the world", @@ -746,110 +870,14 @@ "advancement.garnished.ritualistic_stone.description": "Obtain Ritualistic Stone", "advancement.garnished.rosy_cocktail.title": "Pink Lemonade Served Stone Cold", "advancement.garnished.rosy_cocktail.description": "Obtain a Rosy Cocktail", - - "garnished.ponder.kelp_garnished.header": "Kelp From Frigid Environments", - "garnished.ponder.dulse_kelp.header": "Dulse Kelp", - "garnished.ponder.vermilion_kelp.header": "Vermilion Kelp", - "garnished.ponder.mastic_resin_recipe.header": "Mastic Resin", - "garnished.ponder.coloured_mastic_resin.header": "Colored Mastic Resin", - "garnished.ponder.mastic_paste.header": "Mastic Resin Paste", - "garnished.ponder.mastic_fluid.header": "Liquefied Mastic Fluid", - "garnished.ponder.mastic_resin_create_stone.header": "Liquefied Mastic Fluid Interactions [1]", - "garnished.ponder.mastic_resin_vanilla_stone.header": "Liquefied Mastic Fluid Interactions [2]", - "garnished.ponder.mastic_resin_garnished_stone.header": "Liquefied Mastic Fluid Interactions [3]", - "garnished.ponder.cracked_nuts.header": "Cracked Nuts", - "garnished.ponder.nut_tree.header": "Nut Trees", - "garnished.ponder.milling_nuts.header": "Milling Your Nuts", - "garnished.ponder.hatchets.header": "Hatchets", - "garnished.ponder.hatchet_attacking.header": "Attacking With Hatchets", - "garnished.ponder.integrated_hatchets.header": "Integrated Hatchets", - "garnished.ponder.brittle_dust.header": "Brittle Dust", - "garnished.ponder.senile_dust.header": "Senile Dust", - "garnished.ponder.senile_spread.header": "Senile Spread", - "garnished.ponder.peanut_oil_item.header": "Bottled Peanut Oil", - "garnished.ponder.apple_cider_item.header": "Bottled Apple Cider", - "garnished.ponder.heat_sources.header": "Additional Heat Sources", - "garnished.ponder.basic_fluid_interactions.header": "Standard Fluid Interactions", - "garnished.ponder.crushing_fungus.header": "Crushing Fungi", - "garnished.ponder.apple_cider_creation.header": "Creating Apple Cider", - "garnished.ponder.apple_cider_misc.header": "Apple Cider Variants", - "garnished.ponder.cashew_mixture.header": "Cashew Mixture", - "garnished.ponder.cashew_sorbet.header": "Cashew Sorbet Scoops", - "garnished.ponder.kelp_garnished.text_1": "You will find different types of kelp generating in certain biomes", - "garnished.ponder.dulse_kelp.text_1": "Dulse Kelp can be found in Frozen Oceans", - "garnished.ponder.dulse_kelp.text_2": "You can cook Dulse Kelp to make a dried variant of which to eat", - "garnished.ponder.dulse_kelp.text_3": "This can also be compacted into a Dried Dulse Kelp Block", - "garnished.ponder.vermilion_kelp.text_1": "Vermilion Kelp can be found in Cold Oceans", - "garnished.ponder.vermilion_kelp.text_2": "You can cook Vermilion Kelp to make a dried variant of which to eat", - "garnished.ponder.vermilion_kelp.text_3": "This can also be compacted into a Dried Vermilion Kelp Block", - "garnished.ponder.mastic_resin_recipe.text_1": "Drop 3 Wheat Seeds and 1 Slime Ball into a Heated Basin with a Mechanical Press above", - "garnished.ponder.mastic_resin_recipe.text_2": "This will produce a singular piece of Mastic Resin that is uncolored", - "garnished.ponder.coloured_mastic_resin.text_1": "You can make colored variations either manually or by utilizing Mechanical Crafters", - "garnished.ponder.coloured_mastic_resin.text_2": "This will produce 8 of the colored Mastic Resin dependant of the dye used", - "garnished.ponder.coloured_mastic_resin.text_3": "You can also recolor any piece of Mastic Resin to be one of the other core colors", - "garnished.ponder.coloured_mastic_resin.text_4": "Red, Orange, Yellow, Green, Blue, Purple", - "garnished.ponder.mastic_paste.text_1": "You can press Mastic Resin into Mastic Paste, which can be used in other recipes", - "garnished.ponder.mastic_paste.text_2": "This paste can also be compacted into a block by using 9 of any kind of Mastic Paste", - "garnished.ponder.mastic_paste.text_3": "This can either be used as decoration or to further enhance your factories", - "garnished.ponder.mastic_fluid.text_1": "You can put a block of any Mastic Resin inside of a heated basin in order to mix it into its respective fluid", - "garnished.ponder.mastic_fluid.text_2": "This liquid has several fluid interactions and some even have use in your kitchen", - "garnished.ponder.mastic_fluid.text_3": "The red variant, for example, generates Crimsite upon colliding with lava", - "garnished.ponder.mastic_resin_create_stone.text_1": "Red Liquefied Mastic Resin can generate Crimsite when touching lava", - "garnished.ponder.mastic_resin_create_stone.text_2": "Blue Liquefied Mastic Resin can generate Asurine when touching lava", - "garnished.ponder.mastic_resin_create_stone.text_3": "Green Liquefied Mastic Resin can generate Veridium when touching lava", - "garnished.ponder.mastic_resin_vanilla_stone.text_1": "Regular Liquefied Mastic Resin can generate Tuff when touching lava", - "garnished.ponder.mastic_resin_vanilla_stone.text_2": "Orange Liquefied Mastic Resin can generate Terracotta when touching lava", - "garnished.ponder.mastic_resin_garnished_stone.text_1": "Yellow Liquefied Mastic Resin can generate Carnotite when touching lava", - "garnished.ponder.mastic_resin_garnished_stone.text_2": "Purple Liquefied Mastic Resin can generate Abyssal Stone when touching lava", - "garnished.ponder.cracked_nuts.text_1": "You can plant these cracked nuts onto the ground, of which they will act like saplings for their respective nut type", - "garnished.ponder.nut_tree.text_1": "You can find Nut Trees generating in the Plains biome", - "garnished.ponder.nut_tree.text_2": "Breaking leaves present on these trees will provide you with different kinds of nuts, which can be grown into their own unique tree later", - "garnished.ponder.nut_tree.text_3": "These trees also have their own unique wood type, having a green inner coloring while somewhat resembling oak on the outside", - "garnished.ponder.milling_nuts.text_1": "You may find that you have a slight chance to gain additional profits, allowing these foods and blocks to be replenished more efficiently", - "garnished.ponder.hatchets.text_1": "Hatchets are a tool that can be used similarly to an axe and has the combined stats of swords and axes alike", - "garnished.ponder.hatchet_attacking.text_1": "Hatchets have 2 enchantments, the first being Ravaging", - "garnished.ponder.hatchet_attacking.text_2": "Ravaging allows for certain hostile mob drops to either become more lucrative or to become available to the player", - "garnished.ponder.hatchet_attacking.text_3": "The second enchantment, which has 2 levels, is Salvaging", - "garnished.ponder.hatchet_attacking.text_4": "Salvaging acts similarly to Ravaging, except with certain passive mobs", - "garnished.ponder.integrated_hatchets.text_1": "Certain mods have integration available for these Hatchets", - "garnished.ponder.integrated_hatchets.text_2": "These mods include (Fabric/Forge):", - "garnished.ponder.integrated_hatchets.text_3": "Additional Additions", - "garnished.ponder.integrated_hatchets.text_4": "Deeper & Darker", - "garnished.ponder.integrated_hatchets.text_5": "Create: Stuff & Additions", - "garnished.ponder.integrated_hatchets.text_6": "Mythic Upgrades", - "garnished.ponder.integrated_hatchets.text_7": "Depending on the Hatchet you're using, it will share the abilities that are provided in its respective mod", - "garnished.ponder.brittle_dust.text_1": "Scorchia can be turned into Brittle Dust by using either a set of Crushing Wheels or a Millstone", - "garnished.ponder.brittle_dust.text_2": "Brittle Dust can be used to make certain potions or to make other ingredients", - "garnished.ponder.senile_dust.text_1": "You can haunt Brittle Dust to turn it into Senile Dust, which can be used to make other foods and helpful resources", - "garnished.ponder.senile_spread.text_1": "Applying Senile Dust onto bone meal will provide you with Senile Spread", - "garnished.ponder.senile_spread.text_2": "Senile Spread can be used on soul sand or soul soil to produce Soul Roots and Sepia Fungus plants", - "garnished.ponder.peanut_oil_item.text_1": "Using Ungarnished Peanuts and Powdered Garnish, you can make Peanut Oil, of which can be bottled up to provide nutrition and cleanse you of Poisoning", - "garnished.ponder.heat_sources.text_1": "You can use Buckets of Peanut Oil to superheat your blaze burners with a renewable source", - "garnished.ponder.heat_sources.text_2": "You can also use regular nuts (of mostly any kind) to heat your blaze burners normally", - "garnished.ponder.basic_fluid_interactions.text_1": "Liquefied Garnish produces Calcite when exposed to lava", - "garnished.ponder.basic_fluid_interactions.text_2": "Apple Cider produces Ochrum when exposed to lava", - "garnished.ponder.basic_fluid_interactions.text_3": "Peanut Oil produces Dripstone when exposed to lava", - "garnished.ponder.basic_fluid_interactions.text_4": "Cashew Mixture produces End Stone when exposed to lava", - "garnished.ponder.crushing_fungus.text_1": "You can either use a pair of crushing wheels or a millstone in order to obtain crushed variants for a select few nether fungi-related blocks/items", - "garnished.ponder.apple_cider_item.text_1": "Apple Cider can be used to cleanse the user of Withering, no matter the type of Apple Cider being consumed", - "garnished.ponder.apple_cider_creation.text_1": "Apple Cider can be created by putting any Cracked Nuts, 2 Apples, 1 Garnish Compound, and 250mb inside of a heated basin for mixing", - "garnished.ponder.apple_cider_creation.text_2": "This fluid can be made into Bottled Apple Cider and other variations of the drink", - "garnished.ponder.apple_cider_misc.text_1": "Cryptic Apple Cider can be obtained by applying any flower to Bottled Apple Cider, and will provide a 50% to either harm the user or to enhance the user's abilities", - "garnished.ponder.apple_cider_misc.text_2": "Bitter Apple Cider can be obtained by applying Cashew Apple to Bottled Apple Cider, and will provide the user with enhanced damage reduction but also slowing the user down", - "garnished.ponder.cashew_mixture.text_1": "Regular Cashew Mixture can be made by compacting 2 Cashew Fruit and 2 Ungarnished (or Garnished) Cashews inside of a heated basin", - "garnished.ponder.cashew_sorbet.text_1": "You can use Cashew Mixture to make a few different foods, one of them being Cashew Sorbet Scoops, which can be made by putting a snowball, 2 of any nut, and 250mb of Cashew Mixture inside of a basin for mixing", - "garnished.ponder.tag.recent_changes": "Recent Changes", - "garnished.ponder.tag.cracked_nuts": "Cracked Nut Entries", - "garnished.ponder.tag.hatchets": "Hatchet-related Entries", - "garnished.ponder.tag.kelp_related": "Kelp-related Entries", - "garnished.ponder.tag.mastic_resin": "Mastic Resin Entries", - "garnished.ponder.tag.crushed_nether_ingredients": "Crushed Nether Ingredients", - "garnished.ponder.tag.fluids": "Garnished Fluids", - "garnished.ponder.tag.recent_changes.description": "Recent additions and adjustments that are included in the most recent version of Create: Garnished", - "garnished.ponder.tag.cracked_nuts.description": "Entries that relate to the Cracked Nut additions of Create: Garnished", - "garnished.ponder.tag.kelp_related.description": "Entries that relate to the kelp variants introduced by Create: Garnished", - "garnished.ponder.tag.mastic_resin.description": "Entries that relate to the Mastic Resin additions of Create: Garnished", - "garnished.ponder.tag.hatchets.description": "Entries that relate to the Hatchets of Create: Garnished", - "garnished.ponder.tag.crushed_nether_ingredients.description": "Entries that relate to the crushed nether-ingredients of Create: Garnished", - "garnished.ponder.tag.fluids.description": "Entries that relate to fluids added by Create: Garnished" + "advancement.garnished.dragon_stone.title": "*ROAR*", + "advancement.garnished.dragon_stone.description": "Obtain Wyvern Stone", + "advancement.garnished.bok_choyo.title": "DeChoyo", + "advancement.garnished.bok_choyo.description": "Obtain a Bok Choy Bulb", + "advancement.garnished.sweet_tea.title": "Southern Delight", + "advancement.garnished.sweet_tea.description": "Obtain Sweet Tea", + "advancement.garnished.anniversary_cake.title": "Happy Anniversary!", + "advancement.garnished.anniversary_cake.description": "Consume a slice of Anniversary Cake - Thank you for your support in 2023 and 2024!", + "advancement.garnished.dejojotheawsome.title": "Awsome", + "advancement.garnished.dejojotheawsome.description": "Join a world as the one who started it all - Thank you, Dejojo" } diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake.json b/src/main/resources/assets/garnished/models/block/anniversary_cake.json new file mode 100644 index 00000000..ab2ae1d2 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake.json @@ -0,0 +1,169 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [6, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [4, 7.125, 6, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [6, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [-0.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 4.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [6.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [4.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 15, 14], + "faces": { + "north": {"uv": [1.5, 4, 3, 5.125], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 5.125], "texture": "#0"}, + "south": {"uv": [4.5, 4, 6, 5.125], "texture": "#0"}, + "west": {"uv": [3, 4, 4.5, 5.125], "texture": "#0"}, + "up": {"uv": [3, 4, 1.5, 2.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 3, 4], "texture": "#0"} + } + }, + { + "from": [1.5, 12.5, 1.5], + "to": [14.5, 15.5, 14.5], + "faces": { + "north": {"uv": [1.625, 11.125, 3.25, 11.5], "texture": "#0"}, + "east": {"uv": [0, 11.125, 1.625, 11.5], "texture": "#0"}, + "south": {"uv": [4.875, 11.125, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [3.25, 11.125, 4.875, 11.5], "texture": "#0"}, + "up": {"uv": [3.25, 11.125, 1.625, 9.5], "texture": "#0"}, + "down": {"uv": [4.875, 9.5, 3.25, 11.125], "texture": "#0"} + } + }, + { + "from": [4, 14.25, 4], + "to": [12, 21.25, 12], + "faces": { + "north": {"uv": [2, 1.625, 1, 2.5], "texture": "#0"}, + "east": {"uv": [3, 1.625, 2, 2.5], "texture": "#0"}, + "south": {"uv": [4, 1.625, 3, 2.5], "texture": "#0"}, + "west": {"uv": [1, 1.625, 0, 2.5], "texture": "#0"}, + "up": {"uv": [1, 1.625, 2, 0.625], "texture": "#0"}, + "down": {"uv": [2, 0.625, 3, 1.625], "texture": "#0"} + } + }, + { + "from": [3.5, 18.75, 3.5], + "to": [12.5, 21.75, 12.5], + "faces": { + "north": {"uv": [1.125, 9.125, 2.25, 9.5], "texture": "#0"}, + "east": {"uv": [0, 9.125, 1.125, 9.5], "texture": "#0"}, + "south": {"uv": [3.375, 9.125, 4.5, 9.5], "texture": "#0"}, + "west": {"uv": [2.25, 9.125, 3.375, 9.5], "texture": "#0"}, + "up": {"uv": [2.25, 9.125, 1.125, 8], "texture": "#0"}, + "down": {"uv": [3.375, 8, 2.25, 9.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + }, + { + "name": "2", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 2, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + } + ] + }, + { + "name": "3", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 4, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [5] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake_slice1.json b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice1.json new file mode 100644 index 00000000..e35fb25b --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice1.json @@ -0,0 +1,169 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [6, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [4, 7.125, 6, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [6, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [-0.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 4.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [6.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [4.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 15, 14], + "faces": { + "north": {"uv": [1.5, 4, 3, 5.125], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 5.125], "texture": "#0"}, + "south": {"uv": [4.5, 4, 6, 5.125], "texture": "#0"}, + "west": {"uv": [3, 4, 4.5, 5.125], "texture": "#0"}, + "up": {"uv": [3, 4, 1.5, 2.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 3, 4], "texture": "#0"} + } + }, + { + "from": [1.5, 12.5, 1.5], + "to": [14.5, 15.5, 14.5], + "faces": { + "north": {"uv": [1.625, 11.125, 3.25, 11.5], "texture": "#0"}, + "east": {"uv": [0, 11.125, 1.625, 11.5], "texture": "#0"}, + "south": {"uv": [4.875, 11.125, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [3.25, 11.125, 4.875, 11.5], "texture": "#0"}, + "up": {"uv": [3.25, 11.125, 1.625, 9.5], "texture": "#0"}, + "down": {"uv": [4.875, 9.5, 3.25, 11.125], "texture": "#0"} + } + }, + { + "from": [8, 14.25, 4], + "to": [12, 21.25, 12], + "faces": { + "north": {"uv": [2, 1.625, 1.5, 2.5], "texture": "#0"}, + "east": {"uv": [3, 1.625, 2, 2.5], "texture": "#0"}, + "south": {"uv": [3.5, 1.625, 3, 2.5], "texture": "#0"}, + "west": {"uv": [5, 1.625, 4, 2.5], "texture": "#0"}, + "up": {"uv": [1, 1.625, 2, 0.625], "texture": "#0"}, + "down": {"uv": [2, 0.625, 3, 1.625], "texture": "#0"} + } + }, + { + "from": [7.5, 18.75, 3.5], + "to": [12.5, 21.75, 12.5], + "faces": { + "north": {"uv": [1.125, 9.125, 1.75, 9.5], "texture": "#0"}, + "east": {"uv": [0, 9.125, 1.125, 9.5], "texture": "#0"}, + "south": {"uv": [3.375, 9.125, 4, 9.5], "texture": "#0"}, + "west": {"uv": [2.25, 9.125, 3.375, 9.5], "texture": "#0"}, + "up": {"uv": [1.75, 9.125, 1.125, 8], "texture": "#0"}, + "down": {"uv": [3.375, 8, 2.25, 9.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + }, + { + "name": "2", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 2, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + } + ] + }, + { + "name": "3", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 4, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [5] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake_slice2.json b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice2.json new file mode 100644 index 00000000..1c6f07de --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice2.json @@ -0,0 +1,129 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [6, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [4, 7.125, 6, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [6, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [-0.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 4.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [6.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [4.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 15, 14], + "faces": { + "north": {"uv": [1.5, 4, 3, 5.125], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 5.125], "texture": "#0"}, + "south": {"uv": [4.5, 4, 6, 5.125], "texture": "#0"}, + "west": {"uv": [3, 4, 4.5, 5.125], "texture": "#0"}, + "up": {"uv": [3, 4, 1.5, 2.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 3, 4], "texture": "#0"} + } + }, + { + "from": [1.5, 12.5, 1.5], + "to": [14.5, 15.5, 14.5], + "faces": { + "north": {"uv": [1.625, 11.125, 3.25, 11.5], "texture": "#0"}, + "east": {"uv": [0, 11.125, 1.625, 11.5], "texture": "#0"}, + "south": {"uv": [4.875, 11.125, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [3.25, 11.125, 4.875, 11.5], "texture": "#0"}, + "up": {"uv": [3.25, 11.125, 1.625, 9.5], "texture": "#0"}, + "down": {"uv": [4.875, 9.5, 3.25, 11.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + }, + { + "name": "2", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 2, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake_slice3.json b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice3.json new file mode 100644 index 00000000..b1cd7992 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice3.json @@ -0,0 +1,129 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [6, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [4, 7.125, 6, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [6, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [-0.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 4.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [6.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [4.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + }, + { + "from": [8, 6, 2], + "to": [14, 15, 14], + "faces": { + "north": {"uv": [1.5, 4, 2.25, 5.125], "texture": "#0"}, + "east": {"uv": [0, 4, 1.5, 5.125], "texture": "#0"}, + "south": {"uv": [5.25, 4, 6, 5.125], "texture": "#0"}, + "west": {"uv": [6, 4, 7.5, 5.125], "texture": "#0"}, + "up": {"uv": [3, 4, 1.5, 2.5], "texture": "#0"}, + "down": {"uv": [4.5, 2.5, 3, 4], "texture": "#0"} + } + }, + { + "from": [7.5, 12.5, 1.5], + "to": [14.5, 15.5, 14.5], + "faces": { + "north": {"uv": [1.625, 11.125, 2.5, 11.5], "texture": "#0"}, + "east": {"uv": [0, 11.125, 1.625, 11.5], "texture": "#0"}, + "south": {"uv": [5.625, 11.125, 6.5, 11.5], "texture": "#0"}, + "west": {"uv": [3.25, 11.125, 4.875, 11.5], "texture": "#0"}, + "up": {"uv": [2.5, 11.125, 1.625, 9.5], "texture": "#0"}, + "down": {"uv": [4.875, 9.5, 3.25, 11.125], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + }, + { + "name": "2", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 2, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [3] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake_slice4.json b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice4.json new file mode 100644 index 00000000..9eae3898 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice4.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 4, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [6, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [4, 7.125, 6, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [6, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [-0.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 4.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [6.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [4.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/anniversary_cake_slice5.json b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice5.json new file mode 100644 index 00000000..92475d76 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/anniversary_cake_slice5.json @@ -0,0 +1,89 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [128, 128], + "textures": { + "0": "garnished:block/cake", + "particle": "minecraft:item/sugar" + }, + "elements": [ + { + "from": [8, 0, 0], + "to": [16, 7, 16], + "faces": { + "north": {"uv": [2, 7.125, 3, 8], "texture": "#0"}, + "east": {"uv": [0, 7.125, 2, 8], "texture": "#0"}, + "south": {"uv": [7, 7.125, 8, 8], "texture": "#0"}, + "west": {"uv": [8, 7.125, 10, 8], "texture": "#0"}, + "up": {"uv": [4, 7.125, 2, 5.125], "texture": "#0"}, + "down": {"uv": [5, 5.125, 4, 7.125], "texture": "#0"} + } + }, + { + "from": [7.5, 4.5, -0.5], + "to": [16.5, 7.5, 16.5], + "faces": { + "north": {"uv": [2.125, 13.625, 3.25, 14], "texture": "#0"}, + "east": {"uv": [0, 13.625, 2.125, 14], "texture": "#0"}, + "south": {"uv": [7.375, 13.625, 8.5, 14], "texture": "#0"}, + "west": {"uv": [4.25, 13.625, 6.375, 14], "texture": "#0"}, + "up": {"uv": [3.25, 13.625, 2.125, 11.5], "texture": "#0"}, + "down": {"uv": [6.375, 11.5, 4.25, 13.625], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "thirdperson_lefthand": { + "rotation": [69.5, 0, 0], + "translation": [-6, 5.75, 2.75], + "scale": [0.9, 0.9, 0.9] + }, + "firstperson_righthand": { + "translation": [-8.75, 0, 0] + }, + "firstperson_lefthand": { + "translation": [-8.75, 0, 0] + }, + "ground": { + "scale": [0.45, 0.45, 0.45] + }, + "gui": { + "rotation": [25, 45, 0], + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + }, + "head": { + "translation": [0, 8.25, 0] + } + }, + "groups": [ + { + "name": "cake", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + { + "name": "1", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [ + 0, + { + "name": "frosting", + "origin": [8, 8, 8], + "color": 0, + "nbt": "{}", + "children": [1] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/aureate_shrub_0.json b/src/main/resources/assets/garnished/models/block/aureate_shrub_0.json new file mode 100644 index 00000000..6462851c --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/aureate_shrub_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/aureate_shrub/0" + } +} diff --git a/src/main/resources/assets/garnished/models/block/aureate_shrub_1.json b/src/main/resources/assets/garnished/models/block/aureate_shrub_1.json new file mode 100644 index 00000000..6536322e --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/aureate_shrub_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/aureate_shrub/1" + } +} diff --git a/src/main/resources/assets/garnished/models/block/aureate_shrub_2.json b/src/main/resources/assets/garnished/models/block/aureate_shrub_2.json new file mode 100644 index 00000000..16ea1e01 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/aureate_shrub_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/aureate_shrub/2" + } +} diff --git a/src/main/resources/assets/garnished/models/block/bok_choy_stage0.json b/src/main/resources/assets/garnished/models/block/bok_choy_stage0.json new file mode 100644 index 00000000..abb13375 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/bok_choy_stage0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "garnished:block/bok_choy/0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/bok_choy_stage1.json b/src/main/resources/assets/garnished/models/block/bok_choy_stage1.json new file mode 100644 index 00000000..9269f003 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/bok_choy_stage1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "garnished:block/bok_choy/1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/bok_choy_stage2.json b/src/main/resources/assets/garnished/models/block/bok_choy_stage2.json new file mode 100644 index 00000000..251c482d --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/bok_choy_stage2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/crop", + "textures": { + "crop": "garnished:block/bok_choy/2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/chiseled_dragon_stone_bricks.json b/src/main/resources/assets/garnished/models/block/chiseled_dragon_stone_bricks.json new file mode 100644 index 00000000..49af1693 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/chiseled_dragon_stone_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "garnished:block/chiseled_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_breath.json b/src/main/resources/assets/garnished/models/block/dragon_breath.json new file mode 100644 index 00000000..f4e0f507 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_breath.json @@ -0,0 +1,6 @@ +{ + "textures": { + "particle": "garnished:fluid/dragon_breath_still" + } +} + diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone.json b/src/main/resources/assets/garnished/models/block/dragon_stone.json new file mode 100644 index 00000000..bd1d9542 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks.json new file mode 100644 index 00000000..a23647e7 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab.json new file mode 100644 index 00000000..7a70abe9 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "garnished:block/dragon_stone_bricks", + "side": "garnished:block/dragon_stone_bricks", + "top": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab_top.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab_top.json new file mode 100644 index 00000000..88894604 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "garnished:block/dragon_stone_bricks", + "side": "garnished:block/dragon_stone_bricks", + "top": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs.json new file mode 100644 index 00000000..3e35c34b --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "garnished:block/dragon_stone_bricks", + "side": "garnished:block/dragon_stone_bricks", + "top": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_inner.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_inner.json new file mode 100644 index 00000000..17f1a529 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "garnished:block/dragon_stone_bricks", + "side": "garnished:block/dragon_stone_bricks", + "top": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_outer.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_outer.json new file mode 100644 index 00000000..2df8729e --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "garnished:block/dragon_stone_bricks", + "side": "garnished:block/dragon_stone_bricks", + "top": "garnished:block/dragon_stone_bricks" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_inventory.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_inventory.json new file mode 100644 index 00000000..6aeac46f --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "garnished:block/dragon_stone_bricks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_post.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_post.json new file mode 100644 index 00000000..6e9be993 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "garnished:block/dragon_stone_bricks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side.json new file mode 100644 index 00000000..a555d571 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "garnished:block/dragon_stone_bricks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side_tall.json b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side_tall.json new file mode 100644 index 00000000..c315c3b9 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_bricks_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "garnished:block/dragon_stone_bricks" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_slab.json b/src/main/resources/assets/garnished/models/block/dragon_stone_slab.json new file mode 100644 index 00000000..bede9534 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "garnished:block/dragon_stone", + "side": "garnished:block/dragon_stone", + "top": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_slab_top.json b/src/main/resources/assets/garnished/models/block/dragon_stone_slab_top.json new file mode 100644 index 00000000..9a8a5878 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "garnished:block/dragon_stone", + "side": "garnished:block/dragon_stone", + "top": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs.json new file mode 100644 index 00000000..ed975e7c --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "garnished:block/dragon_stone", + "side": "garnished:block/dragon_stone", + "top": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_inner.json b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_inner.json new file mode 100644 index 00000000..f21bd1f1 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "garnished:block/dragon_stone", + "side": "garnished:block/dragon_stone", + "top": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_outer.json b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_outer.json new file mode 100644 index 00000000..7f2ff6f5 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "garnished:block/dragon_stone", + "side": "garnished:block/dragon_stone", + "top": "garnished:block/dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_wall_inventory.json b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_inventory.json new file mode 100644 index 00000000..1f79af03 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "garnished:block/dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_wall_post.json b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_post.json new file mode 100644 index 00000000..8e175142 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "garnished:block/dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side.json b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side.json new file mode 100644 index 00000000..ab1bf53b --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "garnished:block/dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side_tall.json b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side_tall.json new file mode 100644 index 00000000..fefff2be --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/dragon_stone_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "garnished:block/dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/incandescent_lily_0.json b/src/main/resources/assets/garnished/models/block/incandescent_lily_0.json new file mode 100644 index 00000000..42685b07 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/incandescent_lily_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/incandescent_lily/0" + } +} diff --git a/src/main/resources/assets/garnished/models/block/incandescent_lily_1.json b/src/main/resources/assets/garnished/models/block/incandescent_lily_1.json new file mode 100644 index 00000000..da09722d --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/incandescent_lily_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/incandescent_lily/1" + } +} diff --git a/src/main/resources/assets/garnished/models/block/incandescent_lily_2.json b/src/main/resources/assets/garnished/models/block/incandescent_lily_2.json new file mode 100644 index 00000000..1dd53350 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/incandescent_lily_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/incandescent_lily/2" + } +} diff --git a/src/main/resources/assets/garnished/models/block/pansophical_daisy_0.json b/src/main/resources/assets/garnished/models/block/pansophical_daisy_0.json new file mode 100644 index 00000000..5bb1ce91 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/pansophical_daisy_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/pansophical_daisy/0" + } +} diff --git a/src/main/resources/assets/garnished/models/block/pansophical_daisy_1.json b/src/main/resources/assets/garnished/models/block/pansophical_daisy_1.json new file mode 100644 index 00000000..1437ec2e --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/pansophical_daisy_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/pansophical_daisy/1" + } +} diff --git a/src/main/resources/assets/garnished/models/block/pansophical_daisy_2.json b/src/main/resources/assets/garnished/models/block/pansophical_daisy_2.json new file mode 100644 index 00000000..47df3c27 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/pansophical_daisy_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "garnished:block/pansophical_daisy/2" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone.json new file mode 100644 index 00000000..282ece59 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab.json new file mode 100644 index 00000000..cd415942 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "garnished:block/polished_dragon_stone", + "side": "garnished:block/polished_dragon_stone", + "top": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab_top.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab_top.json new file mode 100644 index 00000000..016bd422 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "garnished:block/polished_dragon_stone", + "side": "garnished:block/polished_dragon_stone", + "top": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs.json new file mode 100644 index 00000000..6e907fc8 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "garnished:block/polished_dragon_stone", + "side": "garnished:block/polished_dragon_stone", + "top": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_inner.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_inner.json new file mode 100644 index 00000000..a21260d5 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "garnished:block/polished_dragon_stone", + "side": "garnished:block/polished_dragon_stone", + "top": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_outer.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_outer.json new file mode 100644 index 00000000..a2e807b0 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "garnished:block/polished_dragon_stone", + "side": "garnished:block/polished_dragon_stone", + "top": "garnished:block/polished_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_inventory.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_inventory.json new file mode 100644 index 00000000..df271085 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "garnished:block/polished_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_post.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_post.json new file mode 100644 index 00000000..b9a99022 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "garnished:block/polished_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side.json new file mode 100644 index 00000000..5cda4dcb --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "garnished:block/polished_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side_tall.json b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side_tall.json new file mode 100644 index 00000000..69dceba5 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/polished_dragon_stone_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "garnished:block/polished_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/potted_aureate_shrub.json b/src/main/resources/assets/garnished/models/block/potted_aureate_shrub.json new file mode 100644 index 00000000..6dc032fc --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_aureate_shrub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/aureate_shrub/2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/potted_barren_roots.json b/src/main/resources/assets/garnished/models/block/potted_barren_roots.json new file mode 100644 index 00000000..11ffd01e --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_barren_roots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/potted_barren_roots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_0.json b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_0.json new file mode 100644 index 00000000..8598c8cd --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/incandescent_lily/0" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_1.json b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_1.json new file mode 100644 index 00000000..d6811e76 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/incandescent_lily/1" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_2.json b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_2.json new file mode 100644 index 00000000..e20000e4 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_incandescent_lily_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/incandescent_lily/2" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_0.json b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_0.json new file mode 100644 index 00000000..94f9f192 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_0.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/pansophical_daisy/0" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_1.json b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_1.json new file mode 100644 index 00000000..57161014 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_1.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/pansophical_daisy/1" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_2.json b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_2.json new file mode 100644 index 00000000..bbb1fcc1 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_pansophical_daisy_2.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/pansophical_daisy/2" + } +} diff --git a/src/main/resources/assets/garnished/models/block/potted_sepia_fungus.json b/src/main/resources/assets/garnished/models/block/potted_sepia_fungus.json new file mode 100644 index 00000000..eb9ed31f --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_sepia_fungus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/sepia_fungus" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/potted_small_chorus_plant.json b/src/main/resources/assets/garnished/models/block/potted_small_chorus_plant.json new file mode 100644 index 00000000..520bcf51 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_small_chorus_plant.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/potted_small_chorus_growth" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/potted_soul_roots.json b/src/main/resources/assets/garnished/models/block/potted_soul_roots.json new file mode 100644 index 00000000..8cbe740f --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/potted_soul_roots.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/flower_pot_cross", + "textures": { + "plant": "garnished:block/potted_soul_roots" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/senile_bone_block.json b/src/main/resources/assets/garnished/models/block/senile_bone_block.json new file mode 100644 index 00000000..feaac5e4 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/senile_bone_block.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "garnished:block/senile_bone_block_top", + "side": "garnished:block/senile_bone_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone.json new file mode 100644 index 00000000..ba29c52b --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab.json new file mode 100644 index 00000000..46265eb2 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "garnished:block/smooth_dragon_stone", + "side": "garnished:block/smooth_dragon_stone", + "top": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab_top.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab_top.json new file mode 100644 index 00000000..94f473f8 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "garnished:block/smooth_dragon_stone", + "side": "garnished:block/smooth_dragon_stone", + "top": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs.json new file mode 100644 index 00000000..f44bf106 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "garnished:block/smooth_dragon_stone", + "side": "garnished:block/smooth_dragon_stone", + "top": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_inner.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_inner.json new file mode 100644 index 00000000..d20c91d3 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "garnished:block/smooth_dragon_stone", + "side": "garnished:block/smooth_dragon_stone", + "top": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_outer.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_outer.json new file mode 100644 index 00000000..b306d877 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "garnished:block/smooth_dragon_stone", + "side": "garnished:block/smooth_dragon_stone", + "top": "garnished:block/smooth_dragon_stone" + } +} diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_inventory.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_inventory.json new file mode 100644 index 00000000..aaf04ebc --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "garnished:block/smooth_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_post.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_post.json new file mode 100644 index 00000000..74c7080c --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "garnished:block/smooth_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side.json new file mode 100644 index 00000000..0468396b --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "garnished:block/smooth_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side_tall.json b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side_tall.json new file mode 100644 index 00000000..871e9f3d --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/smooth_dragon_stone_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "garnished:block/smooth_dragon_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/models/block/sorrowful_lichen.json b/src/main/resources/assets/garnished/models/block/sorrowful_lichen.json new file mode 100644 index 00000000..c75cad1f --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/sorrowful_lichen.json @@ -0,0 +1,16 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "garnished:block/sorrowful_lichen", + "sorrowful_lichen": "garnished:block/sorrowful_lichen" + }, + "elements": [ + { "from": [ 0, 0, 0.1 ], + "to": [ 16, 16, 0.1 ], + "faces": { + "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#sorrowful_lichen" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#sorrowful_lichen" } + } + } + ] +} diff --git a/src/main/resources/assets/garnished/models/block/sweet_tea.json b/src/main/resources/assets/garnished/models/block/sweet_tea.json new file mode 100644 index 00000000..90c61417 --- /dev/null +++ b/src/main/resources/assets/garnished/models/block/sweet_tea.json @@ -0,0 +1,6 @@ +{ + "textures": { + "particle": "garnished:fluid/sweet_tea_still" + } +} + diff --git a/src/main/resources/assets/garnished/models/item/anniversary_cake.json b/src/main/resources/assets/garnished/models/item/anniversary_cake.json new file mode 100644 index 00000000..936841e2 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/anniversary_cake.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/anniversary_cake" +} diff --git a/src/main/resources/assets/garnished/models/item/anniversary_cake_slice.json b/src/main/resources/assets/garnished/models/item/anniversary_cake_slice.json new file mode 100644 index 00000000..a87a7478 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/anniversary_cake_slice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/slice_of_anniversary_cake" + } +} diff --git a/src/main/resources/assets/garnished/models/item/aureate_shrub.json b/src/main/resources/assets/garnished/models/item/aureate_shrub.json new file mode 100644 index 00000000..eb753999 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/aureate_shrub.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:block/aureate_shrub/1" + } +} diff --git a/src/main/resources/assets/garnished/models/item/bok_choy.json b/src/main/resources/assets/garnished/models/item/bok_choy.json new file mode 100644 index 00000000..d1293f4e --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/bok_choy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/bok_choy" + } +} diff --git a/src/main/resources/assets/garnished/models/item/bok_choy_seeds.json b/src/main/resources/assets/garnished/models/item/bok_choy_seeds.json new file mode 100644 index 00000000..3cf6db2c --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/bok_choy_seeds.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/bok_choy_leaf" + } +} diff --git a/src/main/resources/assets/garnished/models/item/bottled_malodorous_mixture.json b/src/main/resources/assets/garnished/models/item/bottled_malodorous_mixture.json new file mode 100644 index 00000000..a5b285f8 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/bottled_malodorous_mixture.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/bottled_malodorous_mixture" + } +} diff --git a/src/main/resources/assets/garnished/models/item/brittle_dust.json b/src/main/resources/assets/garnished/models/item/brittle_dust.json index 7e8b54a0..810d56b5 100644 --- a/src/main/resources/assets/garnished/models/item/brittle_dust.json +++ b/src/main/resources/assets/garnished/models/item/brittle_dust.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "garnished:item/brittle_dust" + "layer0": "garnished:item/brittle_dust_alternative" } } diff --git a/src/main/resources/assets/garnished/models/item/champion_omelette.json b/src/main/resources/assets/garnished/models/item/champion_omelette.json new file mode 100644 index 00000000..e0284cfb --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/champion_omelette.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/champion_omelette" + } +} diff --git a/src/main/resources/assets/garnished/models/item/chiseled_dragon_stone_bricks.json b/src/main/resources/assets/garnished/models/item/chiseled_dragon_stone_bricks.json new file mode 100644 index 00000000..569b8662 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/chiseled_dragon_stone_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/chiseled_dragon_stone_bricks" +} diff --git a/src/main/resources/assets/garnished/models/item/crestfallen_flora.json b/src/main/resources/assets/garnished/models/item/crestfallen_flora.json new file mode 100644 index 00000000..403efed0 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/crestfallen_flora.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/crestfallen_flora" + } +} diff --git a/src/main/resources/assets/garnished/models/item/dimmed_scale.json b/src/main/resources/assets/garnished/models/item/dimmed_scale.json new file mode 100644 index 00000000..14dc15d1 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dimmed_scale.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/dimmed_scale" + } +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_breath_bucket.json b/src/main/resources/assets/garnished/models/item/dragon_breath_bucket.json new file mode 100644 index 00000000..71b8d66c --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_breath_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/dragon_breath_bucket" + } +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone.json b/src/main/resources/assets/garnished/models/item/dragon_stone.json new file mode 100644 index 00000000..16554874 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_bricks.json b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks.json new file mode 100644 index 00000000..7c5a7fb3 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_bricks" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_slab.json b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_slab.json new file mode 100644 index 00000000..251798b9 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_bricks_slab" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_stairs.json b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_stairs.json new file mode 100644 index 00000000..ff2be63e --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_bricks_stairs" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_wall.json b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_wall.json new file mode 100644 index 00000000..4373a96d --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_bricks_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_bricks_wall_inventory" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_slab.json b/src/main/resources/assets/garnished/models/item/dragon_stone_slab.json new file mode 100644 index 00000000..4acb2fb0 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_slab" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/item/dragon_stone_stairs.json new file mode 100644 index 00000000..4f0ba225 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_stairs" +} diff --git a/src/main/resources/assets/garnished/models/item/dragon_stone_wall.json b/src/main/resources/assets/garnished/models/item/dragon_stone_wall.json new file mode 100644 index 00000000..12c92d74 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dragon_stone_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/dragon_stone_wall_inventory" +} diff --git a/src/main/resources/assets/garnished/models/item/dusk_alloy.json b/src/main/resources/assets/garnished/models/item/dusk_alloy.json new file mode 100644 index 00000000..5d98eb33 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dusk_alloy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/dusk_alloy" + } +} diff --git a/src/main/resources/assets/garnished/models/item/dusk_sheet.json b/src/main/resources/assets/garnished/models/item/dusk_sheet.json new file mode 100644 index 00000000..90002fd0 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/dusk_sheet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/dusk_sheet" + } +} diff --git a/src/main/resources/assets/garnished/models/item/ender_egg_shell.json b/src/main/resources/assets/garnished/models/item/ender_egg_shell.json new file mode 100644 index 00000000..6a9985d7 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/ender_egg_shell.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/ender_shell" + } +} diff --git a/src/main/resources/assets/garnished/models/item/farseer_brew.json b/src/main/resources/assets/garnished/models/item/farseer_brew.json new file mode 100644 index 00000000..810db549 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/farseer_brew.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/farseer_brew" + } +} diff --git a/src/main/resources/assets/garnished/models/item/fiendish_spore.json b/src/main/resources/assets/garnished/models/item/fiendish_spore.json new file mode 100644 index 00000000..8b1b5643 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/fiendish_spore.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/fiendish_spore" + } +} diff --git a/src/main/resources/assets/garnished/models/item/frail_ender_egg_shell.json b/src/main/resources/assets/garnished/models/item/frail_ender_egg_shell.json new file mode 100644 index 00000000..43d5af19 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/frail_ender_egg_shell.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/frail_ender_shell" + } +} diff --git a/src/main/resources/assets/garnished/models/item/incandescent_lily.json b/src/main/resources/assets/garnished/models/item/incandescent_lily.json new file mode 100644 index 00000000..a162b009 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/incandescent_lily.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:block/incandescent_lily/1" + } +} diff --git a/src/main/resources/assets/garnished/models/item/incandescent_petal.json b/src/main/resources/assets/garnished/models/item/incandescent_petal.json new file mode 100644 index 00000000..a09f6100 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/incandescent_petal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/incandescent_petal" + } +} diff --git a/src/main/resources/assets/garnished/models/item/incomplete_champion_omelette.json b/src/main/resources/assets/garnished/models/item/incomplete_champion_omelette.json new file mode 100644 index 00000000..af6db9ef --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/incomplete_champion_omelette.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/incomplete_champion_omelette" + } +} diff --git a/src/main/resources/assets/garnished/models/item/incomplete_ender_dragon_egg.json b/src/main/resources/assets/garnished/models/item/incomplete_ender_dragon_egg.json new file mode 100644 index 00000000..26efb9bc --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/incomplete_ender_dragon_egg.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/incomplete_ender_dragon_egg" + } +} diff --git a/src/main/resources/assets/garnished/models/item/iniquitous_brew.json b/src/main/resources/assets/garnished/models/item/iniquitous_brew.json new file mode 100644 index 00000000..b906d953 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/iniquitous_brew.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/iniquitous_brew" + } +} diff --git a/src/main/resources/assets/garnished/models/item/irate_tusk.json b/src/main/resources/assets/garnished/models/item/irate_tusk.json new file mode 100644 index 00000000..c7c2b7a8 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/irate_tusk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/irate_tusk" + } +} diff --git a/src/main/resources/assets/garnished/models/item/malodorous_mixture.json b/src/main/resources/assets/garnished/models/item/malodorous_mixture.json new file mode 100644 index 00000000..015eae44 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/malodorous_mixture.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/malodorous_mixture" + } +} diff --git a/src/main/resources/assets/garnished/models/item/meat_scraps.json b/src/main/resources/assets/garnished/models/item/meat_scraps.json new file mode 100644 index 00000000..ac0735a2 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/meat_scraps.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/meat_scraps" + } +} diff --git a/src/main/resources/assets/garnished/models/item/omniscient_stew.json b/src/main/resources/assets/garnished/models/item/omniscient_stew.json new file mode 100644 index 00000000..f057d8dd --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/omniscient_stew.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/omniscient_stew" + } +} diff --git a/src/main/resources/assets/garnished/models/item/pansophical_daisy.json b/src/main/resources/assets/garnished/models/item/pansophical_daisy.json new file mode 100644 index 00000000..931a6d6e --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/pansophical_daisy.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:block/pansophical_daisy/1" + } +} diff --git a/src/main/resources/assets/garnished/models/item/pansophical_petal.json b/src/main/resources/assets/garnished/models/item/pansophical_petal.json new file mode 100644 index 00000000..e53d3e5e --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/pansophical_petal.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/pansophical_petal" + } +} diff --git a/src/main/resources/assets/garnished/models/item/piquant_pretzel.json b/src/main/resources/assets/garnished/models/item/piquant_pretzel.json new file mode 100644 index 00000000..d62d8585 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/piquant_pretzel.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/piquant_pretzel" + } +} diff --git a/src/main/resources/assets/garnished/models/item/polished_dragon_stone.json b/src/main/resources/assets/garnished/models/item/polished_dragon_stone.json new file mode 100644 index 00000000..ddf6ea6a --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/polished_dragon_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/polished_dragon_stone" +} diff --git a/src/main/resources/assets/garnished/models/item/polished_dragon_stone_slab.json b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_slab.json new file mode 100644 index 00000000..14a9b085 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/polished_dragon_stone_slab" +} diff --git a/src/main/resources/assets/garnished/models/item/polished_dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_stairs.json new file mode 100644 index 00000000..84d69f7c --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/polished_dragon_stone_stairs" +} diff --git a/src/main/resources/assets/garnished/models/item/polished_dragon_stone_wall.json b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_wall.json new file mode 100644 index 00000000..9067d745 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/polished_dragon_stone_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/polished_dragon_stone_wall_inventory" +} diff --git a/src/main/resources/assets/garnished/models/item/preliminary_nucleus.json b/src/main/resources/assets/garnished/models/item/preliminary_nucleus.json new file mode 100644 index 00000000..ed07f37a --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/preliminary_nucleus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/preliminary_nucleus" + } +} diff --git a/src/main/resources/assets/garnished/models/item/senile_bone.json b/src/main/resources/assets/garnished/models/item/senile_bone.json new file mode 100644 index 00000000..3e2e5ad0 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/senile_bone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/senile_bone" + } +} diff --git a/src/main/resources/assets/garnished/models/item/senile_bone_block.json b/src/main/resources/assets/garnished/models/item/senile_bone_block.json new file mode 100644 index 00000000..6d97267d --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/senile_bone_block.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/senile_bone_block" +} diff --git a/src/main/resources/assets/garnished/models/item/senile_dust.json b/src/main/resources/assets/garnished/models/item/senile_dust.json index 2a5a9783..7a9ab95c 100644 --- a/src/main/resources/assets/garnished/models/item/senile_dust.json +++ b/src/main/resources/assets/garnished/models/item/senile_dust.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "garnished:item/senile_dust" + "layer0": "garnished:item/senile_dust_alternative" } } diff --git a/src/main/resources/assets/garnished/models/item/shelled_dumpling.json b/src/main/resources/assets/garnished/models/item/shelled_dumpling.json new file mode 100644 index 00000000..305cec4c --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/shelled_dumpling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/shelled_dumpling" + } +} diff --git a/src/main/resources/assets/garnished/models/item/smooth_dragon_stone.json b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone.json new file mode 100644 index 00000000..313d0b61 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/smooth_dragon_stone" +} diff --git a/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_slab.json b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_slab.json new file mode 100644 index 00000000..dbed5a7c --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/smooth_dragon_stone_slab" +} diff --git a/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_stairs.json b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_stairs.json new file mode 100644 index 00000000..3997f240 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/smooth_dragon_stone_stairs" +} diff --git a/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_wall.json b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_wall.json new file mode 100644 index 00000000..548e2015 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/smooth_dragon_stone_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "garnished:block/smooth_dragon_stone_wall_inventory" +} diff --git a/src/main/resources/assets/garnished/models/item/sorrowful_lichen.json b/src/main/resources/assets/garnished/models/item/sorrowful_lichen.json new file mode 100644 index 00000000..f78e298a --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/sorrowful_lichen.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:block/sorrowful_lichen" + } +} diff --git a/src/main/resources/assets/garnished/models/item/sugar_cube.json b/src/main/resources/assets/garnished/models/item/sugar_cube.json new file mode 100644 index 00000000..35c64452 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/sugar_cube.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/sugar_cube" + } +} diff --git a/src/main/resources/assets/garnished/models/item/sweet_tea.json b/src/main/resources/assets/garnished/models/item/sweet_tea.json new file mode 100644 index 00000000..d0f0e986 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/sweet_tea.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/sweet_tea" + } +} diff --git a/src/main/resources/assets/garnished/models/item/sweet_tea_bucket.json b/src/main/resources/assets/garnished/models/item/sweet_tea_bucket.json new file mode 100644 index 00000000..4127c4f1 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/sweet_tea_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/sweet_tea_bucket" + } +} diff --git a/src/main/resources/assets/garnished/models/item/torrid_blend.json b/src/main/resources/assets/garnished/models/item/torrid_blend.json new file mode 100644 index 00000000..0f98f850 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/torrid_blend.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/torrid_blend" + } +} diff --git a/src/main/resources/assets/garnished/models/item/tusk.json b/src/main/resources/assets/garnished/models/item/tusk.json new file mode 100644 index 00000000..ae81ae9e --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/tusk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/tusk" + } +} diff --git a/src/main/resources/assets/garnished/models/item/vex_wing.json b/src/main/resources/assets/garnished/models/item/vex_wing.json new file mode 100644 index 00000000..d750977d --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/vex_wing.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/vex_wing" + } +} diff --git a/src/main/resources/assets/garnished/models/item/warped_brew.json b/src/main/resources/assets/garnished/models/item/warped_brew.json new file mode 100644 index 00000000..3ed7ac65 --- /dev/null +++ b/src/main/resources/assets/garnished/models/item/warped_brew.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "garnished:item/warped_brew" + } +} diff --git a/src/main/resources/assets/garnished/textures/block/aureate_shrub/0.png b/src/main/resources/assets/garnished/textures/block/aureate_shrub/0.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b26db48fc06b808c45a6504035f83ecf5b0cbc GIT binary patch literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@R6sBV~BOSD=ne4^oBV@6 zZMDQ(q5U37=3Q6c*e7h7;c|G1ifPEa%hgY}Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0Sie)K~y+TrIE2} z0znXl_XGoKCnTh@vGOIXZN<_)kS7YHPZ`o$`wnVlVMwS0~+ZVN-w;=t~Jv)qMG@d$Q4`<#5o zm35cIUa~gr_x0PTNR9v+g93HpY{%o3tcz%g`a!hsO-^UdiXyp0L2+FS{&VO405wL% Um5N;^mjD0&07*qoM6N<$g6cGzP5=M^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/aureate_shrub/2.png b/src/main/resources/assets/garnished/textures/block/aureate_shrub/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3fae3c5b27315c92ad3dc2192e92fdf3ed1d387c GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@U5qdV~Bzvya m1DQV@^ho95TWEN!hCwlH1`EfP|m^kKxUFRI|ih2U+ahDJ0|+lBqc{OL*1O+T2-Fqh1kIZ5yM{Nl>yBx&EOqQq=$ zG|2A8A>xtkZ8b?Q!$o0JH1{cvj~a+@JtDyV(JX&)(-wc$Nvw%1weCE;mmZ@DB6jx6VNN;)04B|c52ph zpM6$SE1q9%bYwWTXmw_B65C*NWOvs$_C6_X_BFM5JvP<&3Br#=ACYDbchb#6w|2l% z6lB|z;={!^Ul(YB!f!zVw9t!GD8gK{kFe~|g!U1Z{h7?negGt~4lxWQ!Ce3V002ov JPDHLkV1izZvUvai delta 380 zcmV-?0fYXl1H1!}Nq@rt01m?e$8V@)0003|NklQ%1ZqkHiG}aKPcD*#L6xzK@nmKA;sx^bH1=%sSoCMcV^zsytz$UrBZ_5G8r9qi>cdYJeMv}XlzZs4Ot0+{eJ`EV2BxHtial7F~$xW8@1M(XDn_=u@8 z9JnrljRHWoHz5f?9G3vjPX<4``u5}9Ew75PkEO)9t;376tF+s;Y^80T)g>#-(l+zV zie75ja^zXMcQJ#%B6ZLX)6`#RR%~_zln*yKy1wxlFzxZ%%%{x|H46dliYXU(2l_?oM(4N# ze5$Imcku6rr0Hwrk*~g3g{Ujv*HQ$r7xK6GR@cUH)G6uifb2f`X~6 zT=O*;F1O@KSS2)Fl6dfP_WFdg+wbjb?@C~|;EkACI#Y0oWQsuEfddQ-hms^?Biw#@ Q0*zzvboFyt=akR{0KY3XZ2$lO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/bok_choy/1.png b/src/main/resources/assets/garnished/textures/block/bok_choy/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a515487b070252578a7008edbc29a968120f1cb GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~f^nWMjv*HQ$r7xK8`do-TzV{*xcA3i32 zXMF;sSQWAvZrc2R!K%^E!cbgvCdhb?-|<&W0z3Xblf5w^J%68*>jvgIY&xBGM=L%Y sOJ>s)%v-@x)^M3&#^sN@8yXoI{F9U!H$1ri7ibfMr>mdKI;Vst08>dr8vp*~f{#62978PplOBpue%5+Jw!@c2ho2u{b6y(25auXw;r*3A_H&i_&eVN= zpxPY&pXCzIj=j~K7G^tKel$i*cvx^>YE4_hS0<0mo4i??=S-D5eAqc$V&C3M{;7`a bJUk5lk7OAyyK7$v^e%&^tDnm{r-UW|H)nlI literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/cake.png b/src/main/resources/assets/garnished/textures/block/cake.png new file mode 100644 index 0000000000000000000000000000000000000000..2811d6578672875b07ee5bf30800f44d386cec54 GIT binary patch literal 3236 zcmZu!c`(}x*Zw6Tu|;C3S}Lf$wJS=+7K*C1@2$GFgj(97mR@TSm20~cwU?@*s;Z*W zirZLQwZ*P#4^q9ZT@Y%E*L~-k?~ixhne&`yo;iP z_tpS_N7vHS_+Q~}YtP_*Iin(-&+DCE5YpA}D9&1NX}E|;@YlW$2u+dI=;9#w_xr2; zu5Q34RHP!}nV~KS(m{T&t|JKRwB0rmfOWvl3U2Y-sGr2a*spQ#K)491FxQhsT5QNV zwJC5T%J6_jTg;m-8Xzz48!qZDM$axbrj#oD6Hg+`_eV0aSu4IIL$Pe@d*2R2+9Eth zNaQ0Q1%LBfP&E}Iu|=>8mNVJ`9PIQm$Jm1DUoEwO^sIH;96>X<$|2i-jN<7@ zPTxlrVVppeX&n3m5*9?QliJ(+qME(m+tuKUCgU-%h_1m%R^zH`H`~C`Dnl;U9*?Hx!rR2pQ%|IG4Eu6(5H>k8hT)bmyP+@FLG&aBfCQ5s zY^Xn1s}E-cY-C3aCABnHJ49Ar&^bN~sLWa$(azVFZ5Br0dB*OVFf1A;Lny9UVHZ_< zNW}Zv0kIw99(S7Q0xVjijmBc1C=&>hp|>@ShJfVBkv4Ot&&6bf9HGc%W^I;plS*hQ zFH3!mGO>bU}MvN5C++J$>JvG^lUK@!Wgxyf!M_CycjvLS(>bmio4da zcI>9k2#k?<7l?bGK)^|=4{}Tzb=}+m3EbYI5(~7sfS|^2Cx3Pe{IHveh`8GmwvZWQ zCb#_eCOOxlEk!(dFU#55@M{_3;6hx!wWK%yv^-Q)5(}BXC1J>%!7HFrzJFld5!dU^ zqeNRm!}>CY_d;ak$%Uz+Lyi@(QSbHNN4~o4<=vC9s!~DZx0rl-|1Yi2qaHVdS~;Pp z-z@mrFpb|Nic1cH69kXF6ZHc(klj698HNGJcGrjoDgv6Z@@EF3ZM_2urOS9$m0q4qhy3H&_auHVNZLMFKpCcTxx^7#0BAy+w3ceYvuR~l$Q0mLv>xzv5AGO zF+D2hltN5-LfLeZJPqn`^~#ry3U~?a4$p;{)lC8@un8f1ADfv%>6uj`9W~$wjthAk#)azDR2Z5su*Ry{ z`^R&9TX)gR?z$5KsWl^X{bZk7cqcKL?`Vre`v(AmnWg8OCLGi%r_LVf$_j;ha7xze z0GD{DBv%b0&mz&q>Uiw>bSN|Q%JzTc1Vr-X;7=(zd<0$T3Oa#bxA>vBALjF%n2`yC z>5qLtIJ%Y(hZROY>TA5+gz{kr5IMjhma|`U6Q8`j$+?_$?A)P4AmDN*3NI$yo(PI8 zr>7E?3y7U@Pe4A1p3foQKAHE5xZ9F+dK{*bw@jXt(tw-7V+ChF@Mm*&n?=etWiiAILCpKh(oc%}zU%Lwgcgng;5q{-kxw zHf#Uj3)P$2Xf_}g=6;Zi#4=DgG$&yYdEzi* z{A*_xgr!|D)-nc!@eyQOR*ZXfd&Qx5>2!S`=w7y(MMy_ z?{V(N*5Y{#T#`jNmh6IRiqmaHkIsk`kKE|kb@E@9(vP{sRIiQH4w)% zIyH{Z*h0QfH8Vbzm^ta0_apNq@jY$hB2BuA0)XR%DFKhVH=K98-z3f@AYT_=0X1AOzWEd=&dlH`#7L6Y**NVwE{0cShH1o=#w)3x2J&xxEQJ+^n_B9ts{>rV ze;_h^MDEpVCbZJV75y>2yFmTsC64}wTxl9;FwTATtcm}@C$l{uQ(#0ENOjpHq_QF` z-~2?LiO8K86GHtqltOHf_AWF680JD}yGn?>8CPQUXZZvX?1v|TE}sMAhB^w;_1h(W{puJAU%oIP_|pb%b|_=JaekU_ zgaY&i3xf!YZ5hv0mDK$!$?)>m%SA=R?dYYE-E-GG{$pTo@cQmryc7}@J-#udJhd=# z{HpxmZ>I>4`@i6E3dyqGQ9uo20kPfUJ?yk%sI91tZ{2SYW>$`nLpECWngh;r6k{3dJI_4Km< NEX{08YfP|@{tZ8x1Oos7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/chiseled_dragon_stone.png b/src/main/resources/assets/garnished/textures/block/chiseled_dragon_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..a475006fa7969612abee57055232507f1d4bbbed GIT binary patch literal 488 zcmVP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0ewkCK~y+Tm69P( z!%!53Uzds+lFc!K8Hy4REZH9@29_Yfp(asenVQ5w2!8?)1Z*8R6k&#hp_n0n8wsYa z^t;_DTM2?A`rdu--gC~quiiuNEKMFq?)^1!^~Jym#MAie&IrO@+k)gHalw3GYZ;&S zBUf!Tiai*d#?D6_43A@5fzITr>;^Osa#7#D6UYg`#d_ujge6DU+kIQdUvJKbodl`I z(TS-(4PRVsZsC`M=wjc_h064B)H?+$;gTuTcOoNU57fWrQL%3Zsfdt5lo(X7)+h)m z6dCtMAXZ)g>+RdFB{sG~J7+fGQO63Dt2LiNmW(njkaXVa+A24ii@=>Q;{cG@+}*G} zoxwmqRvZ+q?pdcVX eExySUknD%*UHIZzlNv?-_t=or)DdeJO|4&fKK{hBqe43_YXy zILb`Gf=hF)vx~K!=J6!;9$ym@+rI$%QUFAm@u>j1N_3*4%mjbd-x>1(*;{t^B;~Pi zM`>!O6Lt0JWM0}nIH9Y=KK|%`Kj}oBuMnINzP~=docmJxZ$I@kPrrP87Y#!_&6`cp z0R$!)yI6MsfWvC16Qynq8%CK4o`3xXP~1Q0L~&5^ZZ<_zJFk@&U_hcC8-R*cJW2I5 zH+QM*EtRDn00zv6GSk$KBl3+hGrTc6QO%|(?jQP6Ty zSncw!pH-~Fc5Ayz+)+mJF&8X*%X!F$2kq7pfHN?UN?e{}Q@gGb03lnu)^UT)2I|&ONasN+kEX# Q0J@pM)78&qol`;+0J(W#jsO4v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/green_mastic_block.png b/src/main/resources/assets/garnished/textures/block/green_mastic_block.png index b1dedc48db75b71da79dfce0011feb2e2bf903de..24000a60fe170bc9eb73bb453f6c99bb721d0aec 100644 GIT binary patch delta 334 zcmV-U0kQtP1C9fbNq@os01m#+3dANqHgX`tP_A~#!P%aZlmOV|kAFFt43Yw!SM{=pu}E)0 z$U)NcB)9uc&kwpTA|~Q3#QxCXtKG7}-IX77sK+7G761dUk+3TFXX`Khylu_>$zJDW zr3$YAbnDyZ=z*XL02@BN49Ln1{zB#dhi?IptSa`*i)uwP(K-Ryc$tk0%F^!9;o)(Z zS|NE+EM1Rr=to|GZj}z|InJaWhpfzip~%U!*B@Iy=t|H4g>OL)q|il56fqX*EnNCD gA-#o5eVvu6otd{YZ*G&}_14HL z^tx?(eg9-@hx@sW9wxp5?O8#b8~7-Z04BUlKHP*jE>6IqB!6x_KG?NlGxc)}e8f~4 z4qTVOMggGPn~($`j!OXNr-Pqeefvp&$E#xOV<~a&(%D7-D($o^TWwi;ZQ07QwCy~z zqMKT_Qu!+b)A`(EgS`#U{R)ZYy-qE`Gb+$J)xdZ<^HnI;>$%)MKL3&uAfX2XF%go8 zKr!XRUCiLG2z9i>H1!vn6`LIa<-<)bZ;pHhOndw`^Jz0g%|bxCV#)>Hfqs#?(K+q_ zpQ`HY9sK(tY5H1uB($i`R0*FRP|OM3f-X7k?w=O=V&EetG92%KgIdE8OCd>@gE(Gu a%)S8wYS<7`;LctE00003n4;~F`0(I?5AtFQ<~_5D$UV+E yZAHev`AUk6*Dt(!;<6_#hvA9P8@+@C1_r-1MqlHCWL^Uu$l&Sf=d#Wzp$P!`g;&M^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/incandescent_lily/1.png b/src/main/resources/assets/garnished/textures/block/incandescent_lily/1.png new file mode 100644 index 0000000000000000000000000000000000000000..c8317ff0517df9480ee570e5901290d8698ca58b GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@Uf?hV~B-+vIOfCW;cyqaS=($zxA4Djw$^6 zChmNHXR*u6#^x~f<^KcJBv?GW7k~K3G~uj*RODoK=EMJ0wPqFA2~TNj&Isq;@uc)x zJdeUrz54%7t`ZVkA}u8BYAX4kCNj=@X7xYOteJ=TX2h98jOHS;3A_Rm+$<$E+vbbQ z8{Db>IqBi?%gcG}goJo3_2Uv&9RI+?vFG=f*2d=#**A!r+0>rmxTJGHnPaLeYXmPt zWA>T*5;;4L9>|$+*06kCa;a_@^S1eW4smpSR*sK%bS+?>qsO2sbM}5tfZWW6f<=i5 a3=9!xy}xgliCYZxE`z75pUXO@geCy36m|6g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/incandescent_lily/2.png b/src/main/resources/assets/garnished/textures/block/incandescent_lily/2.png new file mode 100644 index 0000000000000000000000000000000000000000..3b30f304fca96eab5b62130ff7b95f59723f47f1 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX1DmIdV~B-+vP8iFj-?-)l$00$*KfTkapeBL zq!-rZeHyj}43~IPn;aXqm~hE6yX=lSAiBlMvhn7LSvC?9|HL;J9Qf%IAjP*Yu9|22 z*Av&n6E@2G&o???^3%h^KtfBS>8K;a>UxKD6DChg+EMUU?C`hA;S$R|JpPD35KQUV zSuE>p+s5s{AQGXVaO61ivf{Ws2}hPmvTTqlnEO@y@M87z57-(VQj-Mk+&{svno%J= z`|r~v23J{*hCM8w_{%QC#w`8m-DU9&3j;Jo8m_V`FkE8z#N}apLLr7> zIio?sVO=&p;TVSXj0&^Y8`d9wStD>Do8d&-lNkz<0zTh)cz76WpT@rrI<8&>3?>Fo LS3j3^P6-Nq@os01mi5JtyXQ$r{=MJZNP zbRoEKB?#(!_zpg)D>u3k7X=q0Vl^!igEk92BVV`)y6J(NZk|ae2U|v1|l5ehsQd=dVik0c~Av_Pw}uOl0z!6 z*;PA>FcDR1I|JI7!C&b3|KYa)C|4Es%#LbBGtqSdx_o$Y zaJfAi+E-P%b7?-W>~)gc&fdtnoyd~a*m_yd?(fEy&)%*0C@qdxOf`Oj@FUSjq@Kf> zwDZu$3>b=nOgo=VePOFW0~CG>3ZOzSQlSWQQEy?#}uI|f_Rjs{sHM#^G*GQF-QGiv%53%+nt$B=lJ6A#%lWc zlD$qoSlaI1mOb1*`wUt$LyXP%C=drjRMoo=5&hC+7!<^*gMa;PD~lE1N3h}3&1lei z2`uCQo!&+zfHYnL42MTQtJ&!XgB`z>!8(=_W9LrKPp(p0uwLp~H_h8uZ7hmqTP^#x z*h@a(b2@e3#^$=mLSDx;uK=XZZSXRl_$=1S+~?cT(9&P9H`pkPkx5w3+cbg`v7lPX5Q!ID}dLm_`earxxZq?p1`1g;b z?rY{JAw^}To3QBzikgg5s7r>?-BVLv1RFky(Rc=Ilp2Ou3PCy?qJO3_`v$#f(+9D9 Rz)t`G002ovPDHLkV1ij2v{?WE diff --git a/src/main/resources/assets/garnished/textures/block/orange_mastic_block.png b/src/main/resources/assets/garnished/textures/block/orange_mastic_block.png index 15a70a2fcd2cc04598f9173690344546130d8448..b5c259e89846235fc4b8eb91e1a899e5be40ce66 100644 GIT binary patch delta 336 zcmV-W0k8hN1CRrdNq@os01mu4X!9CReBm5Nr$y3EMQ&FR6Cwfjmc2IYp3TA=V(kOL`nkrG85i}VrN i{!B<8q3zFPX7&dNaSh&bDe8Ct0000U3*l z6?)yay}p04wZr|~Mh_ETf%dE*&JBE&NB|RFCLeA>92Y0xP=6A)4i9#%*i8K#10OL} zh6C3nuu%Z$_9i3&h~pB#*~#E%SKofz-|?y#`&dexyL55hzf3zV%T`;~UR$=ZENwf_ ztmvketyKQXz;r(M*kEtNbH74jd9PDT@QezyPBk!|&U_V$^?EM1kI%oP1W4$?Kum-r zB2Y~Ea2GT9D|G_xFiri1X2oVlK>2W!o9iQ=0n;A8&3xJnQL_-xu9$Lxcc5RSZgh@2 zz^AG@dk6o1NSeM@9tka~GgZQ;2NZJxx1dXoyZfhwz8Lt3i44a(;GouU#8ODo diff --git a/src/main/resources/assets/garnished/textures/block/pansophical_daisy/0.png b/src/main/resources/assets/garnished/textures/block/pansophical_daisy/0.png new file mode 100644 index 0000000000000000000000000000000000000000..772073071d83d32c2f1e2231b187adc4b0654854 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DXaJr|9V~B-+vIMIMi&Avdf9`X6fBBzIVsn^v z|KIn3x}@>oeKA{`yZt?*Jr&=Z8owGUH+L^me5uEHQzz^?+cgd&1)t-6 zHt!o4F3y_Be9p`3ul=UWj%^RVa&2p1mSoy2J3XyJVG+9whfH~#`jkYq|tVp#K%LGr=&xs8krb9-W(R&VpW40Ixcr>mdKI;Vst0MwgY AX#fBK literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/pansophical_daisy/1.png b/src/main/resources/assets/garnished/textures/block/pansophical_daisy/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1553d6eb2d4bac6f0656a47e74ffb2ef80cdb564 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufG}g$wN6f;;CfFN#}EtuWC>QDo&YK4j-1TD{EPnEr6*L( zkLnGU4P&^p=kLp%|DW%-XTIFDS+OmV*$1f1gTvF{L?K6W=C$KHWE-wBOxPU1r~2TB z7ssOwdifuiNIl7!ad!QzRUX{T5*sE39e-IaaX^wy;cU#Cm;kxFhU=MnU2XsO|NV1} z!6@VW-_H?OAC)k2a1?%ibd`sxf|r4@W|kwvddBzr>e@CHFz;b&_`}b|t|88ykifu@ X#B39!av=XQ(CG}Gu6{1-oD!Me2V~B-+vIOf9#)-OX|FfoV|JPpR$*gcT z|Ns9#_5XewuW2)I%$)P!eKA{`yZt?*Jr&=Z8owGUhlucVT;6zi18d6Wh*;^uxPm~F zKmBI~v^7f)u_N5!cdws+Fz!*(bEeaeSrzJ=oTNk^ zo%nb3nQRI}Ipby(W{V|`ivOa;7P3F%(h#?I@Hbe%&}!t#t`ObHSviN3^GS)o0nxPr c2M#bWWX+1xc7J*~8|ZunPgg&ebxsLQ068*b`v3p{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/polished_dragon_stone.png b/src/main/resources/assets/garnished/textures/block/polished_dragon_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..a291f2a8d5cf2da38029d4cf8a77758f6cbf2724 GIT binary patch literal 471 zcmV;|0Vw{7P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0c=S`K~y+TWs)&Y z!$1&4H{~2fU`?YIBhi2P^Y?hH)F8sXK7N;kc4E6+b)cqic%&5iUEG`n4HUbBf0R@P-;HPo?x7QMdRF~z$l|{w@SetX)($&rz9(m{(_a z>5#|eX*NNYB?54~w*wuBsMA?4r0BnYblkm}tQPmJh#qR9++%zj!XLRy8h+pISL6Ty N002ovPDHLkV1l3C%~SvY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/potted_barren_roots.png b/src/main/resources/assets/garnished/textures/block/potted_barren_roots.png new file mode 100644 index 0000000000000000000000000000000000000000..8741307ee4de80e1a229374270d61c33f1663e67 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enaEYgjV~B-+vIJ`h1OIyaKm4ha_$HXXpS8E! zq}f4gU;WR2^2-EMBm&zSOd2z0yfv`n__Fl7kQu`g!6lq`-BPAEuzp~iku;&#fY&9{ zh27wK1CPr$uDFJEnT3y)F2yoj;wZB7G3IFCQPC1`?3!?x!KImJRrf0PcJ^J0J^@lZ z4wK~V>XQn*OOshXx-NB*bdbuwzvuLYEo&xzd^T}5k3uC&LIMLr(ba{QESSqxfbM1R MboFyt=akR{0JD);nE(I) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/potted_small_chorus_growth.png b/src/main/resources/assets/garnished/textures/block/potted_small_chorus_growth.png new file mode 100644 index 0000000000000000000000000000000000000000..60c3c08b7b12ccbd6462c47381fea78968f513f4 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enu+-DVF~q_@S%P(Og2)55{r3NV^Dnv|TmAk2 zt#{c8WltZbctl$|6gY}yt<^t^ED#&!|Ut%8`31Cm;AgsJ3PToD>(eM3? RlRyVBc)I$ztaD0e0syojP?-P# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/potted_soul_roots.png b/src/main/resources/assets/garnished/textures/block/potted_soul_roots.png new file mode 100644 index 0000000000000000000000000000000000000000..afa3246cbbee3d0c2dfdd15beb2a558c5bf659b1 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1enaH^+^V~B8F5`;@&ypF;oAxih!gct;oZm`?DV0D6GI+ZBxvXyex9}|hl2ye$^P*bOOtelw4&GmuE6URD(cyJg zhE_=a+*Yo~aY*Q1fo_!!>N%cCKMvWM0Yj0KX&+7(Kj=!(0EKTs4y4dUN)&M{(p$Lq hXF_@l_x?;~W4WTX^RGt6;002ovPDHLkV1j;bnY91_ delta 382 zcmV-^0fGLH1HJ>0Nq@rt01m?e$8V@)0003~Nklm49+jpPRp{@mbKTGtt?C1 z&NC~zsbwpbzcMhL&pp=P+wk14kXYX9)Dk?S00FX`wF$K4K!n@eVksH5{=Nl5{zU c<2A?Z8^zw(UgVR90ssI207*qoM6N<$f*dHe<^TWy diff --git a/src/main/resources/assets/garnished/textures/block/red_mastic_block.png b/src/main/resources/assets/garnished/textures/block/red_mastic_block.png index d58daba3b0360df8888c0bd2400c13b64b30ffd3..db3da00a273a019ec9ba1b79387397dc69bda30d 100644 GIT binary patch delta 363 zcmV-x0hIo;1FHj&Nq@os01mH~V*(2KUC42MB{Mp@^&1ElTSzF6+FtD&* zBcsNG^l=<=K6h0WlUP?}=|Ox-#HTnuY9Pn)v0TOg>ua;|pnnPgpWd$0m_5(>30DY>s)YG< zi>+P6$|kQfUxD_lAk7VYlt=&*US=O|LK+t*;7}5`UY?y;eScW^IR!pqstgCNOJJh_ z(CuAF0uaX~fYJHzXV>0-b$aYoG4`pHG}Y9vj93&s~SisyuHcct!(Sry7{f7rqMhUOSiZZ)82mgLZ zn!Z*Z2`#EKRl=tSlyU;Mpi7SXho_Cc6!?gV497d*pw@7tQb^L}AdR;ivv1jZ)fuy@ R;eG%B002ovPDHLkV1h(buC)LF diff --git a/src/main/resources/assets/garnished/textures/block/senile_bone_block_side.png b/src/main/resources/assets/garnished/textures/block/senile_bone_block_side.png new file mode 100644 index 0000000000000000000000000000000000000000..0cbea871510d7e5ea38096f07cb253dc00b49aea GIT binary patch literal 487 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0eneBK~y+TU6Wf* zgHRBLN0LhK(O!a)N1OQOi<@u@Zq5byY~l)tZEBIU*n&+|zM+F7Ujhd>%;le%bN2N3 z@DmP0xx2rWc|4bw=T})QV(CuC5_HeyyZ91VCu96$H^Oy&VMJc9iMK01&c`%yeS zeGw@u8JfX<^-*~}NS4)Ufj8zE?X3I&ZqdN7@DR9$9HZejg_!Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0li5?K~y+Tos-{6 z0#Ojg$3wQF=AX^lM8b=RkiyF@dxUz2pvUMHdW+tomnaB{>Ow+n!&WmDw}tHdPK}t* zO&=W3S!cd)=FH4VT^t|Hf}kwH*180>ibR8n)T?Cy8NVPVv+B;D(+|13ZHr&ZO4#Yi z&GmzHUj~x8JUf~B`MhMU2u6TI`1~sIC>Ag83HG$z2>=K(3H#D|e3I1F`ROd3%g&V{ zw(dK!=A|WVS2UbBQe(H~_Qgz-@k9(Ci{#KMgZDU*#4f*J#qB~AI3Mc^2d+U$4LETx z5ZgN=LIx^?I6n9SxMpv^?i4ZLPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0c1%;K~y+TjgzrT z#6S>+CtQkLacDr~6hUHTL`z!>I|W<2D|`qm8+#wY(oU@u?DPc=EEJ5D0hPP!63}85 z;mkjq|J>Y#!w)tyyE{9X`Lpp(mk)+g61Emg&ys!gO0T--u4{s|c%__*1RIfB^O&mT zoNyiV-;MaljG%DU24>Hx^@{qobwWZg ztW!i<3R(G#u2}9{-F1R}6>-{41QZkf175HUk0L>1e}3z@X+GtrA<~=+bwDtGrX{AA z>v+5BO8$_F_pN6~BAeH*Y71msNKn^a?M)>A`ISXPegTtj)!#aH`{Mur002ovPDHLk FV1gl}!P)=- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/sorrowful_lichen.png b/src/main/resources/assets/garnished/textures/block/sorrowful_lichen.png new file mode 100644 index 0000000000000000000000000000000000000000..e68498c0a60da0f00d7e38e6b42496f426296390 GIT binary patch literal 389 zcmV;00eb$4P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0UAj}K~y+Tjgq@+ z0znjp&su4eR1sexCzI%xvBo{aFCzht-QYt zGaJbEv4dj}*lhobtMN)3en;L`Xh<~~zQNa_gKEL*6p@Ulr^NDg^lA`%Gd7P6@Z!dz j>W`EnzHb_D{{fK;RlfGj?#@r`00000NkvXXu0mjf#1W`N literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/block/yellow_mastic_block.png b/src/main/resources/assets/garnished/textures/block/yellow_mastic_block.png index 96234f8ecdf937b779f1e8b1f1da2643e140642f..8b3d1423a5873ea49908bc19098779cd15a7d2ba 100644 GIT binary patch delta 334 zcmV-U0kQtQ1C9fbNq@os01m;W5G)F=HNc<65bH0;q9kz7`?C7L!`)i{mziIHKMiQLB8gJxAlWVb(aO|H6 gD+$N`nIa;70Hg;A()vVU#{d8T07*qoM6N<$g3n!`IR-vr zstgCNOJJh_(Ctk~0uaX~fYXz~&#u1xxWD67G4`>PICts%tbdVqT9&Q0ti85uWm(#G zo>|dNEnBJlm4WGe?yO1a3i>9C!Cm3w<&05fd4Xcfdid;fSS>q{~4Z buQ_Jl#j)8b&oy1k00000NkvXXu0mjf{VTT@ diff --git a/src/main/resources/assets/garnished/textures/fluid/blue_mastic_resin_flow.png b/src/main/resources/assets/garnished/textures/fluid/blue_mastic_resin_flow.png index dbe920127ef19bc8b3e99c2266ffad43f3624733..fcb4d35acd81711d97db11bd3d698009bd67f89f 100644 GIT binary patch delta 2921 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 Tc^zly00000NkvXXu0mjfBE!R{ delta 416 zcmew-c7l0=7&i+83o`=)L(z7(M-vql>UjcuLR@_tIt+8FB|>vE`=>rJeWD7K=PdAu zEM{QfI}E~%$MaXDFfcH>db&7B;?Y4>Ao92wv zulg@sT@Ehh|9kSq#wmOB-WAK(!zZUq`L6h*;FIc8r~U71J$Kfx zvp>CK(%++VoAgZA|7^Q2mW-D zDk^#Kg0(jHO$4iN#gekv3o`HT%;WlX+CB3ytM2Ek_xv2S|6ZG=yJG79I&D@{YlEoO z3(oe)OxMgf?EHGa$d=_hkL$3$tt>KIxFGp#Tz$Rfiwl>32Ri;>|JPXmKpsjRvJcbc z_U7zqdl0000V^Z#LyAs~MVa7bBm000ic000ic0Tn1pfB*miok>JN zR5(vvlFv#)Q4q%Go+8j7LyVBJP+AB@wQ1p|hv;!yMDNg|M{3)mAY2rp;X)CwAt zo!{hl(Z0=`Gk?DG&CE$Uw|9%uPT6)V+g7TUET7~CI1fL@g@3DDweM_F#HZ=p?M8p? z{OaBkv!8g`TqGXYKWW;a+qZm{*{DCZuW4rU+05fW#l%DF?ATDig#a(|5;jjWD^<#C z@%NXW$Lh_RwJwe<4Ev)$wwOGLuW^@5$njIGIE0V@+6rO^1W8l^y`NsUt=+kFvTCE| zalm{)Kn_qb7NCR|P}6(u`dtbjqXmCjO>Q0^7W76Ch@jrsbE~;j4iAbg;6pX)12O@H zg^CyeB+9-$J-h7HVu%AWk>j(7#q8;6;19-j z0(}9=74S=y3Pd9L)C5?3I8hQPWG?>#MUspK%BA(-Ls=&4HT?q>i3CUuTLDV`51eEr z5ep>ye=#-b;M2FVwni0`U*{`s78@~07*qoM6N<$f?6@#yZ`_I delta 171 zcmeBRxz0F2f|G@rfq~)e-A6$a6&31v0(?STGyA6+=2ZJObV!8e-oIbo4wUCC@Q5sC zVBk9p!i>lBSEK+1Lp)s^LnJP%o_Q#Gz<|Z=qPW-uKZRWmx8CiK7POyJ{X-!;;%i16 z=hNGAw*SrEw1{gdHi|ff#m{`5oRN3&`tc_}4)D#e5bM)<=X+3l+KKed|3k!2vDAG@ WWIM6xdq6qR0tQc4KbLh*2~7YqVnhu9 diff --git a/src/main/resources/assets/garnished/textures/fluid/dragon_breath_flow.png b/src/main/resources/assets/garnished/textures/fluid/dragon_breath_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..744bb9ff7e01598363c22232e59351dcfbd524b8 GIT binary patch literal 588 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 diff --git a/src/main/resources/assets/garnished/textures/fluid/green_mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/green_mastic_resin_still.png index b7f957884f2351c29e4c7f747253f62e45c556dd..00e736f19cff91bfc1f40d6c0238bf1795a8ffe9 100644 GIT binary patch delta 515 zcmV+e0{s2g0j&g(7zqdl0000V^Z#LyAs~MVa7bBm000ic000ic0Tn1pfB*mi!bwCy zR5(vvlHD!?VGxGLw|?5RRB20tq<%sia3YRKB;0|!a2LG-x8X)44x9;zAV?&wzu3iA zx?0vgBhxHzvYFYLd1v1FzOQd*e>pDZGEyEXO0_g3&F4q}{>k-yFaDJu5HIZX@=t$n zzFKd5bGRNS&Uf6E@2>$(%r2GX^t>T{t1Z_L&vNgF^6r0V9vGRtTVI$J6!1fWiA=)2 zCb2@2OXrWTZZx+#Hz`{yHSr1?nR<4xUmk)`f~2SwwPnc5>V&DWqAEZk&B)V`*wS?A zcdfPEnL6F0PFIr@HeLcHvpa<|^JRY-bva4q=pYb%cBL{=5QiLKWGuL7Hgy7rc6M^7 z|F@5U=2@E+Sha8OU^`|vlE4})R;z05Tq?DE?-q!mnzM1p1Q1OH2|%IQ!=p>R)-;*M z4w=Xy0J&BfRT7OUpqP)Gsl+EnjUzx4icLN~G4=-Ov$1nvAnQ2x0w&i$+*EHF!J3$S zIF2q9BMF#Hd$N#BG8R}Zt2??_u}$N(0V7!xU~0G(pznYt=|U_p+5gFK9&bavl|R>L zWQsUI6yS3+7B|>+>KWkhaIDCP#MqOG_*njtkN?_g%MZqKKN`=n9R~ma002ovPDHLk FV1m3i=O+LF delta 171 zcmZ3>a-DI41SbnK0|Ud`yN`kY0b42Mk!;E{cmy@Kf03aO>UvXhHiq)jt%nBfe(D zaX!5*XZzpmO^djeVxx#tSp3Y_$r*VUuOEN%;{e|b3$Z?(cfJR;r=3XO{69qe6ieNg XM79%~z6X>8Enx6;^>bP0l+XkKIekP1 diff --git a/src/main/resources/assets/garnished/textures/fluid/mastic_resin_flow.png b/src/main/resources/assets/garnished/textures/fluid/mastic_resin_flow.png index af547bfcd223f9a4b5e3a8ff0081e9afc3e5a865..cc498768b2e466279bf3a2dec04c99b61f8437ac 100644 GIT binary patch delta 2954 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 diff --git a/src/main/resources/assets/garnished/textures/fluid/mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/mastic_resin_still.png index e2cb5e2f6308d0145505d227ebb619e184b861e1..c88cad085937e84c05be535cf7839023490ba4ef 100644 GIT binary patch delta 490 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 diff --git a/src/main/resources/assets/garnished/textures/fluid/orange_mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/orange_mastic_resin_still.png index 4e37b15906ce1d20519a65e9679beac3d71cd521..1be535ad8ed86be6595c4a6cad58b63dd918ab19 100644 GIT binary patch delta 447 zcmV;w0YLuO0qFyf7zqdl0000V^Z#LyAs~MVa7bBm000ic000ic0Tn1pfB*mien~_@ zR5(v%l3hx}P!NTu15qnYiYGcJ6MjHp$+X9rU}FWQo;zZGdy}lyCiqgRZ?V*W38VY8}?gqO$ta!$E%# z+dt2u82`&Ox8-AL^N0DrV&Z;$kr@g^!i&6wg}j&U@5CV_mY!xdxa^r1iz?VietWHr zyIz7^3KfSC5y%7W=NJl?bb78RB0zOou-jRO^D3l5UfJE8n$s%O8iy?MoA_oV>^a&s)f#miO z0p}oTa$mns#AMDnR|SYkMhBp{jk3lvE*7ATk2 zJ%;j|tk?7pR3s80HEadMKY*m2hy{}Ux0ssMERU`1tWm`z#g}H%&6&-}FK8>BF#`^K p93`m`AARy7=djHk`JBt5vTqrxN4ejh=_ddH002ovPDHLkV1hG1$%6m@ delta 171 zcmaFKe4TNE1SbnK0|Ud`yN`kY0b42Mk!;E{cmy@Kf03aO>UvXhHiq)jt%nBfe(D zaX!5*XZzpmO^djeVxx#tSp3Y_$r*VUuOEN%;{e|b3$Z?(cfJR;r=3XO{69qe6ieNg XM79%~z6X>8Enx6;^>bP0l+XkKm4HN{ diff --git a/src/main/resources/assets/garnished/textures/fluid/purple_mastic_resin_flow.png b/src/main/resources/assets/garnished/textures/fluid/purple_mastic_resin_flow.png index 9140b8ce2ca1d1ff702ec831004093759da3cc89..1ef5c3c15799be3038064bc76613a8d30003d3a7 100644 GIT binary patch delta 2807 zcmV zL_t(|UZva5jvZGK2Jk!gW<35g_ShrL*h(-)L_t_2n`}U2fe=U$0we@dBqUZyQvQt`t<3l>eGG4 ze;dEL^ShJF7q({qIQVFG@96PtckA42=iJ2^9XvcdYBD?h!Q)3w5BgBy&wJx*U)*bh zM2C!^jsB&bYt2{7R^=~lUHaZWh0cScPiKe6$Fqy`&Dq^YpUmbPpEctB$Dg(613lhmRh%b}E1FA2Z`qEcHRsP0rzV+V8KMxLC zr$?60pjXbFpT&p#V0lGBZ|iYZ{(Ses=}Z_vdwXZM=|b*(kmED9P2n%@?EY{+PFI)r z=fdV@8|br>liAJfE3*%l_c$^e+0`5#KWV!65AF>onZh5^FtY>82QTjI47%Rle}iv@ z-_j6)Q7e6bz8~<6=@IL(8J+&YvPDX6v$H*ZdffU``NM`phl5rQfA=~;BZ?C| z^tp;Ee`P}wM-gif8wxmDUX_i8z6xivv2H^$g}?arjkj7U4&lNJi)OfWb*C+pB|}IW zDYqfJ8uki*t{CWK)-gbq@Qs(gJm^KUoX=8L`5W(i_xC3vGijoQM6`a=srR81nRQH+t)vU^ECgTZ*fe=*L&pIZh_jG*NZXHL<_4+q$*{I&uVxhL*f9x764d`}}o z&zs60HYB2zQLDK0>6OhzKagVL$VsR2TOks?9L-oBlcR&kh`iI)fn(G>(C zNjJ#VWr?TqhbF8; zRtb^3xd;q>2O#t^SUNgwPF~>;8xm1#Sqzea9b}MZ5Fc&q6@IG&43wZ~1bM{vh)zo3 zI5AA+Z@l&LZ%@p|e+;DxnAy6)^&}z{3&aPj)v`o;`!SoN8TPXdIrPSW`<@UlMwJQ9%yiAU2foz7ZuJ6YO z$1`8Q%3rAi6e$#Ds}FP#{kr9x%5PcVUI>W5fE>~WeV>e%f54i`pZ8=+_bpBtgl-*q zeDW#$#W!|;v~Ra!2jc}o1lza2|KLGuqw}@X7f`zxUpn)m0Tuqrmr}Cy(WYQT2WIVR z^x4^}{Gk+6l5;RBEJ*r5XSrh+c;pJdZAf$|rHIG`M#%lm3BU=-iSi1+ZAd~+Zqi8^ zpm)RvJ0yJvh- zIOwEQ?q!v~@^%dCWC1jO0`{oz+pgFQwT$`1n%o71e_rMb{Hy%7B^&2(ay7+bUEdX@ z+Ew_Az4PDM7aD%=VX%GTY<6Vde*5pgT6Rx0-+KRW_iwWbf7p-+B7q`Ef-F^*PYoA5 zkl@QLn96V4@@Gvr)EDMbLIYD%;%omP4Y^L(teqihj`t-mjWHMMvC$I8{-;R@`+Bk*K z`y|EUSLL5+Lz2NEI>5_-Q~B*_XlIy0asTLW_V@eu+xy zyX2*v%3r*^^X9%i{KrdTzrQEv1eOnx&G&w~e-^<@A8m!--V5@mq?Esr<0xXKk-#AX z*}zqPtAr^UkUXU$k8SCXPZ~Tgf29zG%s>aZ3dji~^T`rV|1HvMJRD<0T$1T{yiwg+FXcfr9LiuNja&WV&#AIeyQ}-}wHQ-Z>G$8AP-Sn6%Ns zx<0wWpNAZ!zS+i^Ocxp09I;jSEe)jyP~=MJqNmG%bo|D?Foi#tukJ-Yr*O!<0+qtXFK4x0A|N`?eZ1uMRQ~YWF=)*&N2*xtbmT0r*Q+XjC`9gG?vosj%$Al9xX8miPo)O*8w$2DIWkoEXWEct1Cc)XN!Cf&D*VMOSANib zv{E4QMWZJ}ii|7n|+P zCT~Cab1eM|zirDoDip{`7p;C|e|CPokA9UuY{{a4amxn$R5Qq6RsPDST36G5YR%O- z`V(XqgjeOS1mUwFqD4C&vS{v6;SWFAXhEx>1p3mcC&wp+r^0V5&=Z0b7&+bBQ&e2F zQcAAyhg*=kZl*zI+@GvRmcGItUe5!{AcK$X0!TnT%O0GC-#*c#IQSDxe?O}#96qxs zDA%^mw_io_A5-Z2lN+qUpC^?vJCIT-7Ho=0(ulu4uvPib{6fNLki6AokPHm`pu%rK zsAKj93dVgWFj#c#ePB)Hwxe#m~R~_P&pZUK~8PzUpDdVWbv|7%~^YcCdLf4&v|oMV=8Ts+d(x;pyUT@_UMpWBcK9>J02iVhM$2{I84 z75>^nltDryLw^!va`eIT@`t~m$Y9bXSB6ODliY=Vz$$;`M=MLzBl!w_{*ITj!e1#w z*-W?^y2$-f=87Z7cPhXAbv-9!E%apYCl?`z?kp=*`71x!q;-J4e}dBcB*jv6s{Hof z{RnbZ0nz3~A_XOKeCYfVLhmJ`!XIKFv+H4&DKe2QEB`DnRQT;#ASk@6C7ogn0ql0z zLl#(MsPKnB>4X?Ss^n2h*GGN&@vZRNhJ@1W05N&W!J)4WS>Ip=sq&w>Aqfxw2~t4l z<5%IIc|+m~5u#(4VPXlqsr;1sA36!9Y5b$v{{SMfUD4=NLVExJ002ov JPDHLkV1f~&nrZ+5 delta 416 zcmeAbJHb3bjGKjlg_(hYp=i6?qltNqO{6Zr_B59_*@Yv&spFR zSlFzskrs_1}|5$0>jad&-XOsiJy?R*z^Bx+HDiJH_aKT zU-e(Ox*S~0|M%pJjZ^mMzcVeiFkVtPH#|M-)DOKmhfhwK@?G&q!6((HPW#{2dhV=W zXMcLfq`yb!HtCtJ|Jio!=&VZV&)06uGE`H|4)$C+pnXZ{}*!lH-kuA%29@k-gTUlhba6$6fxcYj{7Z)!74s`s%{;#qAfjpEtWFMx> z@&ADR2mXih!Q6*{^dDw07ee*7alyr&X@V5miMG^3GyqiyK#X#?X61xvN=^cq|8b?l iALk#(cQ-AO*8b&ZyR|c4kb!}Vfx*+&&t;ucLK6Vg!N(l{ diff --git a/src/main/resources/assets/garnished/textures/fluid/purple_mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/purple_mastic_resin_still.png index 1ba63543dfcf5a76df1fa08cb3c0c679e91e598f..bc3bab3196dc799755f89f4fa2bed11cfe83c686 100644 GIT binary patch delta 469 zcmV;`0V@920sjM#7zqdl0000V^Z#LyAs~MVa7bBm000ic000ic0Tn1pfB*milu1NE zR5(vvl3hx}P!NSDS7>deMvGR|;tvXf55D-?cbDKo+<@C~3$DWz=&NE8#UHeqRvMEB zW4?hCQV)Td%+I-J?%e2f|DuQ+ZR@m}w%C}rasFcf|0zkTc(>KIQ97;ilQeTXx3Pb4 zavq{zi;7@Yek2Z7dUpHqZb?41;dpG{S!xLlWge)Rd^qZ@84CCz!HJyYHp{KsY|P}Z z-(Eep8OL_Gx^Cey`E)jl?M0?Eg{#86$r%YIJsdSuh((AcB6p>{j=(6L+gE5JNTU12O@P zQb7VxD0}sA=d$a~5C>!;hXBpY2_U9`;`${5d}7r2W+9 zVKVZq%&bw(6mfwlz-Kdx3tFe&0S*sGMQS9*oScY{SnwC67M-k&b00000 LNkvXXu0mjf`rOY+ delta 171 zcmey*e4TNE1SbnK0|Ud`yN`k|buwC7?WKfk$L9 z0|Vb-5N14{zaj-F7~<*T7$R|5^~^)j0|qQ^7sbUU_$lmixb<#-w4nW*>K_W(5nnUn zIG^5@v;A-OrbS#!u~Eb+EPm$eae!}zg;<}?JKuxa(@vys{vRTKily#L XBHM{g-vi2l7BG0a`njxgN@xNAwZ=r= diff --git a/src/main/resources/assets/garnished/textures/fluid/red_mastic_resin_flow.png b/src/main/resources/assets/garnished/textures/fluid/red_mastic_resin_flow.png index a5101f5eccdd5ad56d97b6e2e6d46df560cb7364..8566efa6476b1e441810fea1d8c417fef9d22290 100644 GIT binary patch delta 2871 zcmV-73&`}y1I!kX77GA?2nGNE0BUAy8j&F&e+h6%S#tmY4#EHc4#EKyC`y0;01Dwr zL_t(|UZvX2jvYr82k@SIjcxp)$p^+B3wb2u0C7ZQi;si_3Q`sz7O(_1EF-bt8JH*F z5qJaMfIS2vo`u&R+%U8?R%U{2|vvWWZ$4@@}bU1zL)NuR#_lIF;r-*l5XdD?k-@o3vH9UCu zu;kkxd{FID{>ndh#?f8v@9jMr+0j($e;0YQ>q9%uz5Ja&y!z_lt?`a@TDV(*1l@i1 z*&#mUyGD0}*4E;<{MFeDqw>fA+RNX#Qo4{^ALPkrW?RBv|MhQ$y?EZz}&fngfWHz$VJiPaD>E8LvII<4@l!m!GFnw_4%9Tmi+FS7L;qUzZfBN;q z1j*-?1rlu2httYS`0F2?KYzeTaq;P=$IRI&XMOVNlPBwsJSRu);nzk4?#||M^WArA z@kkqi=-zny?b0Ix8QMTg`O_NUBtJngvLS>lXxgBMe_uPH9KQe0`<2T;HZs9t+t#<4gtwHxBG^n~fYv!S zefrpqEP;CX^$|dV0V6p96NH`&rZxVsls{zwa3Hq}iY|*LZR-y`{HY*`qgD>LIwY$& zWO`uh1I}?A{>n6PVgxORICF|VemKD1%img%B!}C@ z0`Uu4-ctTlkfdPHeln)Wf4ttG7ZfQpa?z#y+K8-Pj_z2>6zND;gd-Ud_<(*df1@Dr z5&-;jsOZiht#z6MxGfd$8feWztL;l_?-Gbc)(FV3lwSo&O9uTozxDcCr8Byae{nK`UjDQXn6mjx zrXZZ>a)8Ibhd*V36oRbW_Va3kW^=KKj3V}>{EZV53I;mFmMqO6KJ$w&<<|@_P=ZY( zkXmgYqLWfM8Szs7&Tsej4&9AAlq%rPwgu1B1$ai^!~fg~iGaDo=q#Z4WHIF;FJ8O0 zvG|^pzy8%r-#lx%TaA!`{8wZT zC>v1^f2xWth`` zd+${nozqSypr+1AXI?a*hrj;W-rj*bLr~K{HEtA~7!jirpmgKi(~*sUZx4Ukij%kb zW3;iDDt(|cy|H@$k$d=6kmyiK5xEK}DDru>8;c8)v&wt;>(^d*;lL(=EH|BACcS{( z38>A6{NbIuf5ZO%e)$349{#c3j9Pnike#iEKb?{#Sc{Ab*p*S4Zm^&tFXc}Ki4JU& zLx9+l@3AlCKYB44l@#EyN~hnF>EjnN^zx@yGssDX4MYwnZ*4TmW5{Nc*RUS`MnR%l zAy-}>-C;Yre13F5j_*?b#@jJ$lP#cmLD8azU*`kvf3TcKV~$v@;3?2ZXl1@o!8-ZV zQEiLlsvwW+8&P(<9{&3Jg9iue2mh(vib46r+1-&98Tqa!1qHhYj@|6_KmB>=;ZFsL zm6=5pOjC6j zPaX@Xf1tSd%rj-nSF}s{(^f2xJu-ugBBOee6B0Nse|i|Xn@kJL`?)}Lrr!H~9yUw) ztK@R)4EppXk3J!j!Bo0OdlefuV?9M z1&==39)7(SjM9`A@>kv7UI0OUe|_A$tzIJ#NLv@`;oAw3g5)V3d2UOe++H+zQvSw9 z6fy%HWV#?1jLaufyp%s3)yh+MCqEMy$eh`b$$?ee%b$*FIe!18m!_22_T8`G36cv# ze-D3aK?2$3V$)CXHowU|{OMVcV9;(J(E+`n?M4!LDSx9V)duq^o=;skt-ORky%#Xb z%WNbZ4Zdm zuk~o91F52}&k0BJ`|{PxrHk)Uew~!Y2{A7cUNrROthPOpq4V6wOKvaaPv0Gb)*a?A zyIAaW&Et6u)J5&8V`Ipt*|pJiG;;B!vDm6z}<3qsaUiB7N|ctc$Sq@Yg>$aiYGovO(lTqa{N&89}sOFg#+(K7t

2uiF!(adM%9Z-crVbFsHtC`* z;?Ze`6OO#`Y^2mUiXQ%SP8bEuTQ=ZlHv_f`*2%AzQ%cjef9X=4-Kg2fspYgrgG4r} z1T&pI{EbEUI9SnEJ0G&u+@gnHM>H{j)`k-3OQ)6`pKLrm{F;H55M+aqf77i!n~G7} zO36L^=_AO#?oNZ;aeJ{Anff07^m-mp1_?g5TR;}n~3O94MV)TCv`4tZd(U zTGjM64*K@ug7xrMQbCa1U9~ojqs@ZNCX+npUz^SdwqE{YPe>RA@iqeqlEAn zb=c@3<$taqv3M+wOjmRzA1$CPGAp|D9sI2uQG$d>hV~-J0MD35!=pwgMf0+?Sj_*=_{kq;! zx(bGKRV*r)5&H18F>rnzZ*@C}h>u@P_3)=3voWM~xZnVR(^p@-T6KMFNij9OLx?$?rhqsp`dF<@Z?SsC>D$1X_P%>&py^Rw`l@;3?+E7@v=c|kEJlciPLU&7xwAxWM> zo4@HN-(jBru!O(zGQk+Kwk3zanVv5B488p6Y1mFrDp;7OA(+L~K6J8}mhtZo{{@({ V_Z@6A#-soM002ovPDHLkV1ic0$Uy)A delta 416 zcmX>jc7l0=7&i+83o`=)L(z7(M-vql>UjcuLR>p_RC6UHLKwN0S{sEbbuR?Ua~60+ z7BevL9R^{>;)- zSN#{RE(aI$|2_F)F?3GO?sy5f3{saI;&Fp^R*kZ4AoS#gFTl{c~e`vOs@Lkv?)P8KWn0c1AjV6 z6_q@A!CIU9CW6(sVo6!-1)2AE=5hTx?Vfp`|7)y&AP=Pu*@x+J z{6Ap-f&Za=F!v!K{f8OMg;4!%TyU{xnjnRCqAm3h4L}tF5To3!Svet^l9NE@e_W~X i$N9(c-AzlRwSW29Ztct$WMJT8VDNPHb6Mw<&;$Uj@x)I6 diff --git a/src/main/resources/assets/garnished/textures/fluid/red_mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/red_mastic_resin_still.png index b5745414decdc9a39cbc8f8c0a0cd9c50bda8edd..7a7b9311115f8262621cd0563d4decdecd5b0921 100644 GIT binary patch delta 506 zcmV$EzE-25V`UzEe?ax0%|?SH zhRdarnVrOT_g1d<8Oi5z+6Z|2y;OheRdL7xM#h3^7-|QWHhdfE|LJU|amHo@M)jWh z{R6WR1XiF`tEsiU)bIWX6vT&WcH@uQ_FwktMWLOUtu;nDoo4)!vFvP07*qoM6N<$g6gv3ZU6uP delta 171 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/fluid/sweet_tea_flow.png.mcmeta b/src/main/resources/assets/garnished/textures/fluid/sweet_tea_flow.png.mcmeta new file mode 100644 index 00000000..581e9207 --- /dev/null +++ b/src/main/resources/assets/garnished/textures/fluid/sweet_tea_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/garnished/textures/fluid/sweet_tea_still.png b/src/main/resources/assets/garnished/textures/fluid/sweet_tea_still.png new file mode 100644 index 0000000000000000000000000000000000000000..66c6706339491035c2d24d749be98405a620c192 GIT binary patch literal 5243 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 diff --git a/src/main/resources/assets/garnished/textures/fluid/yellow_mastic_resin_still.png b/src/main/resources/assets/garnished/textures/fluid/yellow_mastic_resin_still.png index 367606b8d9c1ad16e5b9763afe8e40cdb2675863..dc26ac6504b8ae45c9377527b7ce0e4e5fcd9f4b 100644 GIT binary patch delta 460 zcmV;-0W<#B0rmrs7zqdl0000V^Z#LyAs~MVa7bBm000ic000ic0Tn1pfB*mii%CR5 zR5(v%lD$p>Q4ocPTVS$EPyz`We-foJ7TVa^^J>0}ot-aWW21$!!2&f(0zt{@CT;`! z4SQ}DJKlpW-h-2;mwA3gMY=u!~R*?kyEwGt{)v;d4;mf^vsqlvR>0aP?1Q0)UXxc|G+0(NyGxl{##7Vc<|v{Sy?!vib-OC zDB#Ry!6f)7%z=|3|rlvF1Af0000xDwqXq5fRR2)Oj`*4p z$NBWOob7+JH!b2?ij5*pVevCxCuihcyng)2j{|%&EX4YB-uWKXo^~RA^ZyX>Q!I5~ X64_2{`W{dYw1C0W)z4*}Q$iB}hzmr1 diff --git a/src/main/resources/assets/garnished/textures/item/blazing_delight.png b/src/main/resources/assets/garnished/textures/item/blazing_delight.png index 78281df6eb3d0e0cd493850f6a4d5cf1b4f981da..117c3b7fc39596d73f1bc21678217a0528afd516 100644 GIT binary patch delta 499 zcmVZdqPSNJH&Ed5d`SJX0%d!0dzBkX?bNIfW-}B&~XvAL1N&&_iz+;;slYjY3 z2=~W7HPKMPto0T|2}-n%DtOLZqC>zWq=8yc@hCbys2ysCRS@8EUPG>kWqW2Ni z_HM+cXkfc~g)$}%(!B)9_r&WV4elOAI1E{sQLAvdcYw{KLwFuU_@rlE=LYo7*=Boi zF`wn0b70M)!)j$dw0U~u)R}Q}D}VZ{egi@>lpE0^Q+zQQ5(GxbiIc;~-5)^b&KB?W zdLJ;jxf@13+<=fs?M4}Ff|3ytosNbHnak9Olj$YiEBQX~gX%5Tv!kgVHm*(Mcdkm& zu%ZMNyI34#L_s++rudzbW01%sdixlr?i!@KS8#s0f#th0jx3Ln!{u`0Y+!yJ$?-}w zIi10|;0KA^!*!|1&PayctU>?S7GD^>nXn6mR)s~VaDw^EBPHdKj0&#(Tes;NrnkF+lUfS{eUy|{!-Qr0R>%TR* z|BuxJO~1ZkeJYTWE(!7r{*MzdsGBfxn@+S7uV<+Cba4#P2%dWOHs2uy9<~SjwMBMy zay?r4{{I4|Xr+(m;!Iv%7k;DukMV+&4dWbfu0O30G_=wpwg=B*e11B#D6_%9A$d%ZyFsR@m|Q=$7^!l8;(J=LqsCw5HTTikH7 e`iWSY{H#PFp&PoJpWOz!n8DN4&t;ucLK6UDw}y29 diff --git a/src/main/resources/assets/garnished/textures/item/blue_mastic_resin_bucket.png b/src/main/resources/assets/garnished/textures/item/blue_mastic_resin_bucket.png index 3660d752a4dc35ce7924d44570f0d908307a1e43..1992d1b60810690133a7087ff4d435916c955001 100644 GIT binary patch delta 384 zcmV-`0e}9Z0;~g&83+ad001BJ|6!3KAb$yPNLh0L01m! z`45=S$*wUP`n;K zd>G8WdGjWiMh7Y?Dh%`I&qql}7-0bN1~Ndm5gniy05Z9^w->{ZJ9qA2wH*XdI50p; eW}*-m0000Cu*Q}^CfJPn%hk|ArY-DZalZiZv?3|3rl%V2+SVYglYdZ%<@+FMMS| j?1N40YJcp@Q+xQek8mU`vlMazTFT(*>gTe~DWM4fbTnoc diff --git a/src/main/resources/assets/garnished/textures/item/bok_choy.png b/src/main/resources/assets/garnished/textures/item/bok_choy.png new file mode 100644 index 0000000000000000000000000000000000000000..88a25392fa359947f0df0526a5801dadaf755e4a GIT binary patch literal 651 zcmV;60(AX}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0w765K~y+Tby7`8 zRACf7Gt}l8Gm|}YL}o^Ds8M7JA_$#AG7<}22}Uh~*+i>;7Da8^87-oMT8Ly3Zh~lG zPz+@ZHA)Z>j^aq!1K1?O1MT^%v*ZCfPlm}+Mk9+Sq_uTtEAGW~li8D^owlQa~ zAd~*6)v4Tr-i&WsB_?2kCzBnqBpO2{bjIDlFdT{~B6CIiElc5-{|Z#HGv11$P`ugrR86`gSc5O7K!ZXAt_*SI&vPZp>B64 zVG$*ncR~~3Rs%Ej80~+EqJJEz=BPL@ssor_eI=vOI>{Vs@@m27JuBaWsZDoTJT+dtjk8kT1kQPUDZ)3H--^auWw*D?Ddhb!er+K1)sfJA~eDaLW4 zZAmw>L6+REfGm15M1b9hh4DP>*?AFTad~B3$Q(<7i>_P++AEO6?sfaSUF#e3+g~it zfoilFp4#Z8i_YQ8ec~e8o)jmB8I+NT!t?iNyKqhGPG|v&@H880We4Woh{QiV8AI=# lyZ?}h{|1$i!d7Ge_zU7Z`OSWInX>=@002ovPDHLkV1khgANBwM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/bok_choy_leaf.png b/src/main/resources/assets/garnished/textures/item/bok_choy_leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..74e8d3d5a6111156226caf1f1c0c7d314d1209d7 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~f*(9x978PplO+lca4h}U^v3tyf5$I#&EFsR zGuLzZ!(SXy442lZC>?sBu>Sam50ACme#^%h=vdYCJxuypx*<+&gO<#J+IgBW#aGXn z^7PK$Zm7ZK;gG7xu%1zY;ZnhahpKJj>-QVn$T(&AW^Xa87BeFYFN0;}_1@@&vkKQ2 zFwbFYnDc(wLbh+~yE+6SKJPWpm*|VBXZdc=k-+Qn*YE8A!fkE|yyvv6J~S{hrkqu1 zxXh}Mt}bc4u*GUun!o`8hMRhdrW9f8hA{nx9Cfh-35HFw pwo5wM7OY^dWIVN$Jt2XCA;LQC*x?!6-+_K-@O1TaS?83{1OQTLfocE% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/bottled_malodorous_mixture.png b/src/main/resources/assets/garnished/textures/item/bottled_malodorous_mixture.png new file mode 100644 index 0000000000000000000000000000000000000000..112da19a18a4da791b4db4581d390e07818b552e GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX1FxrxV~B-+vIHwnPk-M2*&0m?`gEt^6_)IT?|dg11bDf)H!ujSF$+CfU>COjkjdc}myb{T z$DSx4eOF)xqfdgI5Q8R5t7B>GxBAG+*cBSg&d2Ar2Z*^CpW)VEYcPqD@Gv|g)z$EG za{9Rx1Cy@|(ppLf7{!=(GTr>I!N_Rzv$m7@uxML8Prlusgb4``lP)}Xn6TsHQ}!8k zQ@3+v`z&CXpm?-P=>ORtJN{R9b2VfN$VW>tFs@nF$isNl+DIY8xU!**KJmEc@^+z z;fs*_|D9P{OFUc_IlDT|j6Jh`#oBk5EUOfZwcmfA6Z!J|)`)dUr)M318Mw+Tij^^M zrSG+Pzx1Lxy;q`rvmGVxT)drfi%qkatyewxrHT`S+qUb*Y~}1ymDckY87!HY>EXPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0a!^yK~y+TV;K5? z5lS430^@~AFR1~KnU;{t^ zq#0xg>tjX+5uG;-ic{7xfL!pjD1zbZ*RKo${QOuAf%^?439<=f$jww=24+bHuq&kd zRxo_{_>tk;_iqeboLu0rfocH*6azrEu(7d$oeiTw-T=Ae*^B24!o>*;?4Gs^SB(AP z`ruvwnGCWCT{9?rKs3nqx4jFXsu2Kg00H3{m5U>XLn z#;=f|$bXQHAWe*WJQ-f@7GdD7p9v0!ckkbz=s|G-41g4Y6u*A^2CNwrGh_k5*{%OU tu7TlubC2RoP(*=um!45(0488y004Pzn-M2*&0m?`gEt^6_)IT?|dg11bDf)H!ui%IUm{hux3X1%mX$W4LA7~ zy`OWJSu{04;B7{V!FwL(LROvy5)4doJUkB!0;Wx6|NOeP_TT*ag87N3yTudiI2v-= zD;bZ@X?XPTEwZgI7g`2XMjSN&%_wYIC*>zc1Bva5A5Dokef z|7w`=bA?gPzqG>z-#``XUnYEHZLW1GJneMq2DSX?20mgTe~DWM4fDXp4O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/crimson_tusk.png b/src/main/resources/assets/garnished/textures/item/crimson_tusk.png index edd5e738dc29ad728d612d74fcce5505c5f8d6c4..5d974ff7c91be679c788beed48de1f330c9b0cdf 100644 GIT binary patch delta 496 zcmVl3!=P=m6S(P7MhL6%3@??VMP`elp>K0lA>fR zJT^9BL3u@YGRzF)&bm6llXO7bf~vXsD4k-cadvZF$h;F7OkG#NPmD}mw*;3=SD zd}R=>b2lvJcxZkNntIRmNdEo+&(^NvU}hZwy$-s^2y8BIz>t;%_w_BdWp^(tAfI#g zy0^u=2T3OBv-4|+iHk-~b1ANGlz(tFY=I=@Rpp~2%JhL`NRk9ePMRFXY^9g&P_NH- zhrylw2n+5r$iZ?U%|YN|!T;NRvsQMU)O+*mqw~Kj_6)l^_!~r2AM?)$D6MIXux1SM zUF_eG`yq;Vk7LPGGd<_{cqcc;S$)&b_wx2Wb6xI~T_VT3K8?ZYFYn48j(2-|*)=MU gU9Ehu;*4~_Vear0ZM&5~cQJUn`mwsKb4q9e05ddV)c^nh diff --git a/src/main/resources/assets/garnished/textures/item/dimmed_scale.png b/src/main/resources/assets/garnished/textures/item/dimmed_scale.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8b7098026ebe5491404528be29abeb80dc573b GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@TI4VV~BPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T`&z?1c^f7^TLxJxFZUzor zMFyinFNXWuuQNP<@`K^W<@;d%`y2Pc{LsHTP}LBCVnD&$O$-?aCNex5WvVBAV5lHq7X1J006$0g@ubdU%>zX002ovPDHLkV1jBauZ{o! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/dusk_alloy.png b/src/main/resources/assets/garnished/textures/item/dusk_alloy.png new file mode 100644 index 0000000000000000000000000000000000000000..ac74808c46b4b29b86207a6d51740e406b0ae061 GIT binary patch literal 405 zcmV;G0c!qPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0V+vEK~y+Ty^=jk z#6S>+=L8j##yc+-B36QSf`VL^-=6O97bsXsxWee2O>#twxX)xKWRsNQ1H*pJ`_5)I z@-L)m+7NyjF!SSxz97po9o-)DKocycL~wa=rDMK%n>10pxQm~( zZb44}AArDxL+9*QEmSi`RUM;^VTCEtA0qM#;x4TSZqjPP00000NkvXXu0mjfMGT@B literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/dusk_sheet.png b/src/main/resources/assets/garnished/textures/item/dusk_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..67b9a53e0b6320e02eed9b7ace6c6be6d16f8fa0 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!LOb!jv*HQPbco?I^-bWnxE6O@nfgL!FU0Y zBYOAe`Tb#H)#haE?bn)kRq35<`Qcwo-Upcvr=&f<=d1QZc#(#dG%kmF5>c#g3;IX0Dmv vT%7hzH2agD9jE;N<U3MC3xG*`>wO8x**$$@ zf3gDQIYl7E@E8bV|KN;C^3r)fqO`1-V<-^fVl}4V@!<)E!U8_m^O^&aAY*!J8IqcW zlu+Rq>4ch6LTwO!RS=gYgyUlBdqzly4dVRLpH)oA`kCu)HqmH2 zO${}0ZXIE?yNL~>o=NuCV#2orLWU?as*GWO0N@?RVca>{^X8xc00000z26$-&IPz@VYaA3RY}!B#H7C&YDWs(+uKU5$gui_P7aXO!)!O$t+za}pKK zHPi$u6=m|e2Bf%3g8YL2!vMpkGdkxd+KHDlBzn3yhG+y&J?k!Xz<`6-SV~BU^XXRgDHfz$h9;HWQ@Z)C<6A{-2X-M)EKn&WEoyP_`-1O z`E!P(e8+eOP5IL=&W;QzXi;UiG77);<*gro-U3d8o_H%T;yv|;Al-W@Lj8-dhdVaa+E#EOm Yh(}P-eHq^}peqPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0ZK_kK~y+TV;H8u z#UT8@mW;)J5c}QrwEr&-MT6Pc027o(0edd2Wc={$C7Au|^;aPN24-UeCN|tIHaFNMAQyoZLjj5b&)z%)Yx?-@EdvJ&Hv`C!`9-@J zSj9NO^w+Cz!7f4uj8GbE14z;P8}}J}=hlKX|M>NVVUko7gQN@xSdDDzIflbrO$>az z91OlTs$jh+2K@f>8_b^UH;>`|_UjB@`-&NUy!gTJ;q-m5!5}gBGmQ+J_Frd+_S6OI zWdZAe0&@*chDWb{G30Ja0`r|-WHb1LDuCG_P&xN1!;|-)8Q#793>86g0SFiu`@by0wJs1YS0L&m5 fK-V~I00RR6@X>(6F8V&Z00000NkvXXu0mjfT9~wt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/fiendish_spore.png b/src/main/resources/assets/garnished/textures/item/fiendish_spore.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c1e87bcff8f07312a6b0f195ecf2412c7cdd69 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@SCTLV~B-+vIHwnPkWb|IOy-5#mbXnVD+J6CVGcLAs02fak(h z^S|pglnxwF)ID49^*n#u`S<$_J`@xgiY#F%+g@ENTfr65@Nm7ab^rhUzkev+xaJvqmgi1Q4A1+xeW?l0pQOyNDb;Ik z?v=Z?p@DfqyyHEFhc~^=|FT<3A7Q)riAyWuFe9^!MbXRp|8qqDJFa8Q{F0FHBmT@G w$2n;d3^&;hDTMn>obZFc`&M8BpM(U%3z@`|8!xUf0fqpBr>mdKI;Vst09)gW%>V!Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/frail_ender_shell.png b/src/main/resources/assets/garnished/textures/item/frail_ender_shell.png new file mode 100644 index 0000000000000000000000000000000000000000..156fd1ccf5b3b0640706d2ed4bd8158f527ae557 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@V2LmV~Bwn;b;i=TBsx)!1z665!}@ zLBUV=;{W}w(OX?ubR}6{dZrhAjnj(LTE|;^`t!Npwcq8~>sP(BG@e;!cF8N7ug$jH zC-m5+z$F};3S_dj^f5DPJY4R+)xo}*NZ2tR`;rQ1!m01g)J~#fvmuJIvPFb}_v~wM2Z*Z$o)4gk+O^ItoD;rWGk)jdD?tWdsfvO;O$j>D=qrnv=}8F?D^I4;rZnPRs8_8RVgTnzdf|E28| TnB{u`=uHMsS3j3^P6G zy%Nml=jH&@An@_)4=9U)!R2c>!`{7n;fA0X@ZawZSfe14W<4bdhQB@1fQl;vlGPnVX0c)pDodVORYwj^j^;!>Rql0(v-a%Oq05<>>Er$;u z2D5M8ya}e!fr^R>!~FU4Q4$hH7=XNi4A5;v2Pg)BOz!RN#W3W~ojX`<2LTig43LtU cC@; zjT<*stXMH^+O(pgqW}N@1GQbAdb12j@s$Mm1p`G8fWh^^ofAMA&H|6fVxWS}OIKmyjs6-^XL(&z@PIlQ}od zHWHk{cZW-(kF6`C|VEodix1ME<=8_7RSRWtKv2KuZ}sUHx3vIVCg!0P@~wDgXcg diff --git a/src/main/resources/assets/garnished/textures/item/icy_mastic_chunk.png b/src/main/resources/assets/garnished/textures/item/icy_mastic_chunk.png index 7b2329e72abc3917f9cb7038f0ef60e98a8d75a3..5edef0c75131ee430ae1f4ef86a5eeea22d78ed5 100644 GIT binary patch delta 293 zcmV+=0owld0nq}G83+ad001BJ|6!3KAb$yPNLh0L01ml>^Dj*8!KxNR5T;R5R+NEXMw;Q*w|5NB@4sPq_xKH1 z9^D`&C=CW6%^;1Od|V74K7Iv@v2h78eE;-~K}c4Ffs>z$!63T?Yyk|Q7yxoENPi

$4p0mL0gz^p!td|CgZUsf$W<_d(E)}5F!22GYq&RX zX$AqT2EY`9Xb=VkAS^b1eTBFT2Cy3dRSfepDDXf4CXNg+qERa$8yw1P+?-&I=r&(l rFcn1)*2DnnoWIz&p@Z2u1*k~i z?=)o~#ZeOE7yKUr816OijRcBu7I;J!GcfQS24TkI`71!`gFRgwLo|Zto(be@FyLUm za42lY|K6p3GjA^ctMK7cgUu&-hRx}_*=v0CgbtiEbnswtGxJ$5ChbuEYk6Sqq^~<1 t4V_I^1b=dJn-cjVP9ZA&@Hxhr;$IK3X7eun7Yj6>!PC{xWt~$(696$VO^E;i diff --git a/src/main/resources/assets/garnished/textures/item/incandescent_petal.png b/src/main/resources/assets/garnished/textures/item/incandescent_petal.png new file mode 100644 index 0000000000000000000000000000000000000000..83a6036b7ea357badf91d0b6a523a5f6844c0e81 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@VKXoV~BH=8_4|i*X16y#{s)IU4*$g~nM{+2DC=l&j+FIusMd;Yx08=H?z%Cx?+ z^w7$U_vZe-%yZmnr|cB*o$>Qycf6d*-I)ZoOZxK0n@_YDZJw{J&*?BzDRHNffl}&mBhRP@%4wf%*=MFt`Wme^zuESI y*wlBwYuF{V%X?H9)OD0*PGUFU2>-wtm1arWW{T#?w>NAd)`Rh z@?h9_)+Dg@{_(vU0n?UlDQxv%c)f91+Xge|8x3w|XZ+j^zr2(ZnCp|uA)UcdSlh1G zFni7FwA=$PLyV1P_@%wm)+pof%@L4NRtyn87k}7uPR8t&R~H}pTK4mU1#`!>)Cr$L i8FR&7k<^ z2ZK#>G(&iV6WE|q3%&m!d4dLrO9+E$Lj^^K&mTWA{QUHTfzeToft`a5EKbmXZ+{=Z zGyMDhgTZY^7Q@S@Zy0Xge#r3i%TI=%KYoGb2^#SE`!|LkKn*YNJO&#Ea?yvcK(U{{ z!SY}OK>pm67YX(gIsn-Qb2=A4C&SAZZyDZw`UaJS8URvc;b+CLr#1=25K!oQML9Ew ztH?6QXv%_J08;z$<5z~s=dUAT0e|Eq5YRExWC)TF_+QMz@gJnw)LxI_$@Rw!yI1aE zc>VM>*gGJ#KYu`+4+3BVet-MP@a^?Su%fD>IB@uhn?Z&%l8&qQ<6!b16g>vIiZWmgAOH$5 vke@-$M%N4i7y=*wGYA${umGb0U|;|MN$bpI?*QLJ00000NkvXXu0mjf@OI5` delta 191 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 diff --git a/src/main/resources/assets/garnished/textures/item/mastic_paste/blue.png b/src/main/resources/assets/garnished/textures/item/mastic_paste/blue.png index cb42c30affac14bc052c6b043496113dc9c5a27f..31ebd2e2322ef931ff59dd88c9c4f9c25c7b54ef 100644 GIT binary patch delta 280 zcmV+z0q6er0mK5383+ad001BJ|6!3KAb$yPNLh0L01mom?Ve>VVFV4;$Q)M0Ok@H00l6VNghBq ekcxnT0RWzrWB^rpSp5J1002ovP6b4+LSTZFvu-Z{ delta 202 zcmX@Y^qp~nBnLAC1A~SxfAB;_g?fnqpAc8WoN9^CT;GO{%>Jp&&MA%a7th(W9jGW+ znRx+_;wTC73;quQ4ELJ%Mgqk+3p^r=85sBugD~Uq{1quc!4OXu#}JL+t!D$d4j6DS zUvSx6`CnQ;D{;gBR;6!Sx32K7V_{I)J~!7T%^@lw&isY;0`sMecIP?lqXl-S3q)vi u#ueB)hyHVTvFpNMR>{fEWS#MI_2+(|1q`09elF{r5}E*mq)X@k diff --git a/src/main/resources/assets/garnished/textures/item/mastic_paste/green.png b/src/main/resources/assets/garnished/textures/item/mastic_paste/green.png index 4fdeacd9b1206719f55d0e5773ecedb335e55900..265beb4dec750bedf904ed86c8a32c6ed591e7bd 100644 GIT binary patch delta 279 zcmV+y0qFks0mA~283+ad001BJ|6!3KAb$yPNLh0L01m+^6{;%4GQX^#_#2z;LGaK8AV}0hmTXZVoVClur;$zy9=|;XTlx z=WjlO`PbT>!S%rzCe4cfO;r>bBt_U6{_?Og965d)Y&$>DFqkV~>~G(H!VO^p%YQ(@ zt>@1fF5P><@an-A1~o}Z29SXu*C>byfHh+Sa05W5!fXN=1j489+-G?3>H}B|*%inD zB@DExq`+ao#mNpf5XJ^+0{I^%jvNLkUH}1@B!~uKm_f+mU;%sp<`NhH1u&FJ9zZvc dihzLu0LT$#LGxDvx&QzG07*qoLwp0V z^97g9mH(ynvl2J_Z&muXb?XZMIu-_%?Q?To(j1}^;>=%YFEC%qXm_5&K3ZURxgTe~DWM4f&gV`5 diff --git a/src/main/resources/assets/garnished/textures/item/mastic_paste/orange.png b/src/main/resources/assets/garnished/textures/item/mastic_paste/orange.png index 6f73c85f5e264b2aaa3fb6524b06764d6a4477fc..ab4ce98db0a0f817a81258c3d4affc0ae9fe86d8 100644 GIT binary patch delta 279 zcmV+y0qFks0mA~283+ad001BJ|6!3KAb$yPNLh0L01m!+ zg3qsiGJJmgiQ(gePYk@G>HB#b(MI%F#P|PY@i~Q zN!B$$ilZdRFZe$MFx+e28wnKSEbxddW?52!IP(|U3(S`?+MVaHj~3XSE)b#7 v8CPKI9Qx1U#jXoa0x!$HFtO72StTbslXb?=)t~!;7BG0a`njxgN@xNANSI9& diff --git a/src/main/resources/assets/garnished/textures/item/mastic_paste/purple.png b/src/main/resources/assets/garnished/textures/item/mastic_paste/purple.png index b8c46cd6672e0e81253901eaaad4eb192113f6e7..5484a775757ea447e3c990d02e7857bc9e375ed8 100644 GIT binary patch delta 278 zcmV+x0qOqt0m1^183+ad001BJ|6!3KAb$yPNLh0L01m}+sXz}O#ue}fys1b>!+ zf+ru}Gd%tHk>SC|cMLN8f(#%7L9S8c6##3-2H*yOOoiD5G6;k(y?V)T|1-qd$gV&J zC}ChG(Fq9yRxYrCFg8dN$p0{L52!IP(|U3(S`?+MVaHj~3XSE)b#7 v8CPKI9Qx1U#jXoa0x!$HFtO72StTbslXb?=)t~!;7BG0a`njxgN@xNAx1;kf!a&U9*QkT-9U}?H!seVT;v=to0!NDJd z`|>sSr$>K&fJKNC4p}w?Np05!MYMPB<^9Bv#Fa68w_0;-`=0L3(XDCte)K-(MR>6@ zX4vF8*)%1+)^t8yxVue~IECoe`&eXB01wbzIsBY|R^1s;*b3=DjSL74G){)!Z!V2G!SV~9rZ*0X_J2Mjov zFSu;3{4cGamAK)5tJ1fvTUYqku`sA?pPTEF<`9(-XZ}Kaf%#HKyYn3O(E_{E1tK&$ u;|gq@L;pFv*mdDa;APntCRX}BtK?*7vd;Lq`g1?f0tQc4KbLh*2~7ZeLrQ=E diff --git a/src/main/resources/assets/garnished/textures/item/mastic_paste/yellow.png b/src/main/resources/assets/garnished/textures/item/mastic_paste/yellow.png index c5c8b2823b86d7e4cb48ee8b0d541f07e12ea8b7..af96c26b891bb4a0d349bef2a1bdda074ac59a3a 100644 GIT binary patch delta 279 zcmV+y0qFks0mA~283+ad001BJ|6!3KAb$yPNLh0L01mwp0V z^97g9mH(ynvl2J_Z&muXb?XZMIu-_%?Q?To(j1}^;>=%YFEC%qXm_5&K3ZURxgTe~DWM4f<0?)5 diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin.png b/src/main/resources/assets/garnished/textures/item/mastic_resin.png index d7a4f804a46e0a87c6777f992bb34ce35650e36a..ed39fa94e897d00065bd8fb55bbc6f39b351b3f9 100644 GIT binary patch delta 338 zcmV-Y0j>Uo0{#M!83+ad001BJ|6!3KAb$yPNLh0L01mpU`i;JUwWtaXLPIa(@4=h%zh_O&Lse*bg zNl1F*?$95E``wS6^F0#$1D|=`q}HjO%}~&L>A5tX292&NM7nMu8INJF>mpB>bAOun z&C`bBrdmhqxq)IKk7ziAd@hUXQ^|b8jby+Im&ri;-Xe1CgjfYEqz-*&Ku61RwJ+k#`~) zaA7nd@1rr6>kYz+B9_VS{vsI=nm?>InjQ1uGQB#GJ|p*F9Dfmf2#7nE#<`iZ=)b<% kI?w-rI5$n4qI&|k0KNHdccovFGynhq07*qoM6N<$f)=5e8UO$Q delta 215 zcmeyz)WS4Dl7pFnfk8u;KX{^|LcLsoPl&5qnq5?tUw&Ww+wa$Z{eQLn?^z7I{7Nd?Y&CIpprmr|g_=leeebP0 Hl+XkKiwIV< diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/blue.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/blue.png index e37a8b950b1be7a46dc18ec533c8070a40831d0d..6f3f110e18060a1ae0cbffd41bb774524fdd1ec9 100644 GIT binary patch delta 339 zcmV-Z0j&O$0{;S#83+ad001BJ|6!3KAb$yPNLh0L01m7GRXTUz`ccH0LZ_hDiRFO@4sQVckvN}lD-^+q^u~zhmT(wIQh81YG4+? z0EP>`fBXiw`TM)?V9hUXJZ5-w?jFPIJ1@ZE$N8X{`rf6m7NXD2L&3)-ykspAc7x&|JfuYTt&A1zUHl+kd!m{^HF3skIB1 z_pMwvXVdoFDf5|~Q-FHDnAWEPDc+JGzu^B!fWh{KQX5c$v%n*=n1O-sFbFdq&tC!3 z6yxdQ7@`rpwAYdEfC2}L_}T?0{@=g7_S&q9w=xRW!2%94e*_g4_p3Ci=y-eV>x#O| zq`Nw-{AI91_qMEO5lV%5hgN%gd~*55CjX(cUb>Nwqbhx#Qqx1vC!({RUG7L<=8Wil STksNS5re0zpUXO@geCx1yI%PK diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/green.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/green.png index 9917bc029517ab0f87c75ebb18e96a50da94f1a6..5e7c5f0891867b24cef77637c3d8ebe095615533 100644 GIT binary patch delta 333 zcmV-T0kZy+0{H@v83+ad001BJ|6!3KAb$yPNLh0L01mJ!hc!V zL^GhceRYBFOahMOp>Nx0Rw@|HCNKxDn!$m858w;r(EAcGp?I?RK^30_%K4%IQpJ)b( f@TN&v^p^m(R4R8-n<*Jw00000NkvXXu0mjfN4t^S delta 230 zcmey#G?{6FBnLAC1A~SxfAB;_g?jY>pAc8iCdH(g`gLn;E`|sFEPR;QvT~!S;nx8&HC?z$3Dlfr0NZ2s0kfUy%Y7 zjPZ1F4ABT)+Uv-7K!JlreC>i0|L@;kdu>+5TNwrGU;zi2KY|L2`&F7$bi6(Gbw%A} z(p?=^{xaC1dt27C2&KZjL#w?#KDm5jlmF0JFWtz;QI$SVsp+BT6VchuE_b9ab4K*O SEqDpEh{4m<&t;ucLK6VWQ(uVy diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/orange.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/orange.png index 01768e1aac1e9e5cf43d85bde5a934ebc2d41065..0990a03234e8e85c1d265d28fa9aef06999e6333 100644 GIT binary patch delta 337 zcmV-X0j~a&0{sGz83+ad001BJ|6!3KAb$yPNLh0L01m09LDXoH9ifs`T527b;eg;2}AVSZ6HV@)KXgyRcVvROi`){Gj z8$$CL0wdz5uExWykH`C=pAgrkaK+hq`rDgq{%_Cuf3W=Z!tl!zJ)bX% z{;@jg|Ca3Q(}HtdC4hP+7)C7wQoJQWe!>5d0E6udr8b}hXMsm#F#`kNVGw3Kp1&dm zC>Z1E;uxY4ytLPm?|=dai}>0FC;s2Rz4qFyinlTf*1-Y}GJgaW7Wb<(spxon?CXlU z%cQ$Hto&uLL-)3F#wP!vvtGK9kE1Gmo>J38&nKd@on7uoU*?SH TeOvGnXc2>_tDnm{r-UW|BD-Jv diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/purple.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/purple.png index d535e9798e4aba64007483b753baddb714bc5de5..0efa2731f6d0ad7a9d5904840db1c3ad60c11798 100644 GIT binary patch delta 340 zcmV-a0jvI#0)PXM83+ad001BJ|6!3KAb$yPNLh0L01m#F%YzPyS zh69jhZ$(XpSS@1)dr1`rA$B$f10g8}TWLk83RHk$0LTUqc=!Dq!^d9`HZLbT!+(>H z?->+%1Q__)xqz;!f_n?a0FZwTgryjse*DOA?e%j8Em27Z8Gb>A&)UL%m)P;$lo9_7OK%oVN@xj;Q>ClCDtQoJQWe!>5d0E6udr8b}hXMsm#F#`kNVGw3Kp1&dm zC>Z1E;uxY4ytLPm?|=dai}>0FC;s2Rz4qFyinlTf*1-Y}GJgaW7Wb<(spxon?CXlU z%cQ$Hto&uLL-)3F#wP!vvtGK9kE1Gmo>J38&nKd@on7uoU*?SH TeOvGnXc2>_tDnm{r-UW|lZs&7 diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/red.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/red.png index 3551338f3bda2349d00593c5e277d176b8c91512..8995bbc5a2ea2365b06a82f108e1e1f19b34c3ed 100644 GIT binary patch delta 309 zcmV-50m}Z90^tIX83+ad001BJ|6!3KAb$yPNLh0L01m!SnC>$$G1NU=8_Be`6V zpAgp&My^~5iB28WJBgvMvJ>`tJ1n&}+UetR zD%AT%T*yiX8+!&upq>Ojkpn=AwlBSEK+1 zV?13PLo|Yy_B!$%P~cz@U%TMM|NFPsUYk|%Rz|@(SinK%kD$Whew8K_9dD0)T~T+L zbXSL!zYKQh-j?+&La8wC&}wgwPcGlsayRHe^TYI^ATM0B>Z%N^;(V(@hJb6Mw<&;$UqiCCQg diff --git a/src/main/resources/assets/garnished/textures/item/mastic_resin/yellow.png b/src/main/resources/assets/garnished/textures/item/mastic_resin/yellow.png index cdf63814bb91f7804f5c1d78e93363021b807269..cc299b3fd8210c9035e0ec1d8cb2cea66cd74696 100644 GIT binary patch delta 341 zcmV-b0jmC!0)YdN83+ad001BJ|6!3KAb$yPNLh0L01m06E0_-oG?2eRVlYs&=?PpP n)^q>@$RP~^$eIQdU|;|MOe}DW`Nsdz00000NkvXXu0mjf3%H3g delta 230 zcmZo<7V)(UPW-=rd+oJZ6>nt}tb+v{Wc~;$EbdonQql4D*w+{v;S3j3^P627x5^R0bDqFR;@=Aiy*jOv3<9FMt5Db9Dsu85G#n7=(m`pdt`} zV!(w97vSD_^87hNm~9MH1~))4;A+&VQ($`MygdwUxjkSuI(YXE;uRQx8vu%y!-o%p z**9n1MMZ^S{`~nU2?-+%K;A$G=r*DQ6azpe_xAQ;7;@*%9jvy4015{NNXbkT b0tN;E8O?&URV`rG00000NkvXXu0mjf4Fs2Z delta 246 zcmZ3m7+eqBIRTX6Ebxdd1}ZoV!i>lB zSEK+1Gdx`!Lo|Y8&wKM7P~cz*&~0wI_B(!i!~7Y^ekO%+35inseLN=q?3wjBnRC-@ zBf%Mrr|!L}cp5b0B}3L)yUh+A+ziL&8LYVAmcjnu!fw3)#xHGp>si)_-k!+tUiiv_ j*aw@~)&AI*r}pq`AK^$?W+~(bw3NZq)z4*}Q$iB}ODbnS diff --git a/src/main/resources/assets/garnished/textures/item/meat_scraps.png b/src/main/resources/assets/garnished/textures/item/meat_scraps.png new file mode 100644 index 0000000000000000000000000000000000000000..75b701b0e5520473d8e52e48ef7907559f909e03 GIT binary patch literal 534 zcmV+x0_pvUP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0jo(wK~y+Ty;Dm| z0$~(A)l8<8W8Lxe1@Wbrz7Y-Uouvf>oqJzwuPy4KSQIv!4VNdUI6hBUG=rVH2@?FQ zsA+Ay77A$8YM7mmayLxuz~V;YiJ57B7DW-amk9{NB0PRCM(lRj91ea*`zP0F)>=BC zYFews;xS3W=H4#a9~w$8MGP8ynx>&vF0*MD76T#^Nv+pW%H{A{DIvDLiekQuyPGs} z_gOY4UKc$f((Hkt0*BMdWCEE6CWAOSIK=3f!)%|>lL1xp2HcS3aW)W**=3IhYO{$U zLBMCbjpW&dX<{0Xm_&s9<1?z2I+UQ_G;;ZTET)Ul4bsej0wkj3b|bQ~h^_q{p1oG7 z@(6U4F4^eB$cNTcfM6O>FuA8^ysIj=N*~U0d=0JU_o>h*goNgg2eI0Tsax7@;&AT)le#|C1+g7>)%y zGT54%GyE;ec%@cb?9bkhl>S z^8f$;SFc{p*|fbROf<89s$ovGj}c2}q3y!{xJ?U-j&JV+8dM#~9}c8MN`m}?f$Gr# zgTMcCL7+Tmfk$L90|Vb-5N14{zaj-F80DGk;uxY4y!BL|P=f*o%LOBii9%<8-#49* zGwa{&`Kk8}w)+2T&D?ieyX7fw!|S$Li~`9jUYtH65*-W$_6(bw88&hVpK1tt9jRhu oy=Bf@$K~(%+@{r8*<`+D;(jY&cREt)7tk68Pgg&ebxsLQ0A@jNIRF3v diff --git a/src/main/resources/assets/garnished/textures/item/nutty_melody.png b/src/main/resources/assets/garnished/textures/item/nutty_melody.png index e6f69cae3db83bf42e972aac86a28ce72c10238a..3312e41de0f21a9ee281c79016a76b8035c8ed39 100644 GIT binary patch delta 343 zcmV-d0jU0`0)qpP83+ad001BJ|6!3KAb$yPNLh0L01m$Z01m$aI0aKA0003PNkl^@kdyw!kb9t;!A3?NEcfZx4~Ea*e=^+v{DI*! zUn>L1doTl-z$$MAU!;QxuFai_B01$u$B+MWXfN2B) p^q9af00v+N!2q@>92S6q0RRg-Y%Z(b>v#YF002ovPDHLkV1lIhis%3U delta 250 zcmZo>Ud}W@l7pFnfk8u;KX{^|LcLjlPl&69wuFzZ+VSmun-&%oJGM02m?vqQMroDx zhfZ9bGH>V3)4QDbZp3nwM43%2bb9sb)r<;Hpb?K!SvLbIp^_lK;Q#1=;nDv6LO@y0 z0*}aI1_r(ZAk3I`t&U7@`rpwkI&1ufc%B`E=W%kY#uNZ|Xan@u=V4Ofxgy z>7o8#b_d^Z9_7?|X>R)ORL-nY&5X-nSTlRdA{_~aY1)Pz<=tZWDWQE?wPtt1PDaUE i`Yi~||L}r)$9!)u-i$!c<`+PV7(8A5T-G@yGywpQvSu0p diff --git a/src/main/resources/assets/garnished/textures/item/omniscient_stew.png b/src/main/resources/assets/garnished/textures/item/omniscient_stew.png new file mode 100644 index 0000000000000000000000000000000000000000..40ecda04c863ac3ddd7ef5817643e62c2f81b6ad GIT binary patch literal 430 zcmV;f0a5;mP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0YgbdK~y+TV;F{D zX{!JKK0mwvP%a#R#Gy&~!j_GYlN|8JVc!1|bx z;p=&B2HE^u3`YWr8AP_U!o31F31q;ff+_}a*EbAb-f)67)NbAh4v+u)Z!s*nbDiOn zIvZH+(|3Ou9=`qu)(bZPWNPf}E`~?1elhGzssY=ova$gx3jvZs%wYP=ou8NnfPjG_ z=YK~%h%MLv$Z%xMAb?^32*`^vf&FKq!pOV07*qoM6N<$g4Q~(r~m)} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/orange_mastic_resin_bucket.png b/src/main/resources/assets/garnished/textures/item/orange_mastic_resin_bucket.png index 18ff3db978a4023d7c984ccc7582f0028e4fc65e..e80204b6f44a40e9718d5267f77de3d63f79bfc7 100644 GIT binary patch delta 383 zcmV-_0f7Fa0;>a%83+ad001BJ|6!3KAb$yPNLh0L01ms;bjNYAn@h$PbiCl;l6$#!`{7n;f64QMWFzs8KhBAn3aK*?H?EmDf2LBIDg52 z#XuNl0SurR00X~&F)?uPbAs{jPrn&nUVI4`M|K$qpcr7^zY*+QuJ*qx+jfJ&xM>xbjSk+udk1Af0NemjydFM$ z7|gzT^Cp-^2P!Hm4D;vDM@dK+VF2<5GC;Qx9iSKhGP$?67sHS{ckW=d9RyG~FhELX dq7X1J003u#eD{K%6rlhB002ovPDHLkV1gN6mi7Pu delta 246 zcmZ3@yqIZ%BnLAC1A~SxfAB;_g?g<3pAc75Q`3ryiWxIzuJ*^iJhg{k`v^zEGD{&hprs6+u6{1-oD!MoQQpTGt~jSjbcrouuzhEYGed_2nb)#khXbN~9&q$h6w zq{Ge6g1n#X+kAhGU-QJj-#zm}j>cL(DrIJLG3`$3(^;^m^vOkT)rjh#Otv6n@#t=c zB=#H6pS`{}d2_t4<0ps0bH^&g9yO`WVPIbL$=vPFzuz%Q>>T1234AX$m~4A=qU6sR z-=!Tp7TmkFzL@J$1xNWw-qdwojvNvSG6K!Hvg(Ix9D)vrEc%?7&E$?nj3(tXJ#_km7Tg#T|1+(l4gsSiz&S>21>Sbp|=Le;J)+!x%Qb{rya1!&!yq zGe354RyA^ZH6L^jjBM+RoG%e(*kv^5iAd@R;mOUX1Q=h{*8Xds75R7j#Y?TXW6m6E ze8e?st~N&o#; z|L|3Ndx^4yi|tGfZ3^v-8f6Y|RJCSFG+JM1Xk=vIj&EEo#-?Ed3{eJ8S3j3^P6ALW&$NG8hR=SM&*x;(NDu$C)3W4m)p96OecL|Ks!2hsW3JCsdXk;8^;Q zAw}53kX@RenVs95+2`}-^6!RMni$#^OquYgo>8xmt;~#%%`B{pEzXZo;q1wRhwmKM zv?Ww9E_rcy`*a@p{d-d@{(h8<_`LqU{Q%ie+w45^ z_wR2%mBhru>|oZI!)hrjGQ(hc1C#hF7S;p_2Cfa;=g(vQ=*?EhSh>Ob1LK;+4?n)@ uZaAyJQ^dJWLxscPA>*NdcMDi}co=l%Won;2-RS}h00vK2KbLh*2~7a(oq$CE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/purple_mastic_resin_bucket.png b/src/main/resources/assets/garnished/textures/item/purple_mastic_resin_bucket.png index 9ee6ddc2172be460be903a3748751fe98200fae8..556cb218fd542c95f0fdb64311adfa9110f33d4a 100644 GIT binary patch delta 385 zcmV-{0e=3Y0<8m(83+ad001BJ|6!3KAb$yPNLh0L01mAn@+zFDQ$F!8rOU!`{7n;f64QMWFzs8KhB>SAc<^jSGymL?s#gRDU(W zVjv8&00vMDfPs&{zA^A}vV-xbUq2WwzjzK8M|K$qpcpWDw=3AWAe;HvI2bOydI`oL zjWB@h9T33k0uTV%3gmX}_BcLPA1N z5ePsr;KGFqaBn>M_?{uKg&!(|8*ZQ&aO%`4Fum(h4nyM>doUXvynFW!%7Os60ibw2 zeE2Y!ee>o`FpUmWR8$z|&!3NykTAjk4Qpm1P- fl*~jSU|;|M3MqY>xMeH800000NkvXXu0mjfKWmvj delta 246 zcmZ3>yqIZ%BnLAC1A~SxfAB;_g?g<3pAc75Q`3ryiWxIzxJu+kX_XZ_wyaK>*B?6Z z#*G^*R;-vdZCX)L(f|Mdf!bIf%{&dH_)3EOf`K9kz~Fk|&IzClXMsm#F;Kx_5N14{ zzaj-FnBnQ-7@`pzd)}MxfC2|gfNpcswcqjE8|KeQ_A@DrOGuR3@8dD?XV0w9$();J z8wt)}Jaz9)#nYe}FB!7d+HH2|;AS{B&tSy`w+!|N7k29fFn(#%ThFpa^!7xC_rg~e j#6H->uJ*^iJhg{k`v^zEGD{&hprs6+u6{1-oD!M<-~?y~ diff --git a/src/main/resources/assets/garnished/textures/item/red_mastic_resin_bucket.png b/src/main/resources/assets/garnished/textures/item/red_mastic_resin_bucket.png index 017733bd5e8a623a32d39cac2cb765ce290e528f..bd7e5ca327740488c1eeef7636faa2aea0546a5f 100644 GIT binary patch delta 383 zcmV-_0f7Fa0;>a%83+ad001BJ|6!3KAb$yPNLh0L01m9Ap9My% z75OT4T{G_j7rg delta 246 zcmZ3@yqIZ%BnLAC1A~SxfAB;_g?g<3pAc75Q`3ryiWxIz*fTJOFmmNeNG!EB>eNxa zapT5{6)UDqn^sg*^#A{Vptebmf>r@3zLFrnV4w&BFt{GLa{?&CS>O>_3{-F!gc*h=XeooItDnm{r-UW|nO|iz diff --git a/src/main/resources/assets/garnished/textures/item/senile_bone.png b/src/main/resources/assets/garnished/textures/item/senile_bone.png new file mode 100644 index 0000000000000000000000000000000000000000..00c024e0266a290a4123bb1c1e92397320ad3f79 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!A+hnjv*HQ$r1$zIF@!Y)z+2$U+B}e$hZAK zRi{}(=Boeow#lV!)BW!o?5X)U?cvkY-xHi?EcoQY7?>HzR+uTsR>+ySf@7i{!_9YZ z(hnCry;9odE&jgYXva4upU0TFF_3hRX~|Cd~|O3LeTG z$DZe;G$=7{78SX5B!i8y!bB;XjS(b!hauq5j*@R`7OTGHSuu&K@&x1@m=?lroshu5 Z@SrxCc~Q00aiHrNJYD@<);T3K0RU=&W)T1Y literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/senile_dust_alternative.png b/src/main/resources/assets/garnished/textures/item/senile_dust_alternative.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0131df2c6d0b9e3a1f1a65ed355ce698bdb15d GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBuf-vKbiP>*~g5Nz|978PplO>)dWUl)E-_Cyb{{X$P0~|{Y z89X-cXfc>k`|^=&+allg4XaX{E@?0lY*Is*@r5|C6Y@%9C+wmaND7+k-2pnKbVC;GK=OBZG1cN+BgJ@!|co{GV7(8A5T-G@yGywow9C$SV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/shelled_dumpling.png b/src/main/resources/assets/garnished/textures/item/shelled_dumpling.png new file mode 100644 index 0000000000000000000000000000000000000000..4a4236a64a07c33760b887fdfc3d6164e2d362ec GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1engP^C2V~B-+vc$3l7m7dC3$zt|WKz@MWi#kK zmsXXqZ|NjSN9O<@2F3}`%-`D^y|J>N>lh!@d(i*7=z7Hh<^;25lWvYr#vckl8rb~) zGU?%|*Wx@@>E{2ArwVj&JIu1L`Ny_wb@Fb>CYfT%A3Iwl_f=j$z}uwN$}Ga{V8;ES z=pZlS#h-SrJd6GWB~Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0h>ugK~y+TV;FG2 z2&Hj?t0&g{hcX$oEkX#YM*$$sU!NWO|NrklFs?uD_dj#F6Wl-$V1m*Z0HpcTghdQH zys{tyzn?I?dhmte*7N5muEJ^n$W|=_Glpk39x*(8`4X)8+q)+W(*hTO&F}T#Ybj_ zTdzNZ<%N398Cnc$8Te&n7`{J$#=tFQ1=b690Z22*wz7Lm!R!|-Mhp`Ce;L$7c^T|f zxEPLHf5b2$tAnA@8sdd3`<9@@2E%kussHs>vj4A^r~Uu`|LA`Z|Kf^i|KC480v9{` zv=c0j91Cy&(hS1?4|jtV-QKPx#07*qo IM6N<$f(KLLEC2ui literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/blue.png b/src/main/resources/assets/garnished/textures/item/slime_drop/blue.png index 7a17f5de88c5a70b47ee5f6921658cc5304b46d7..f1c7bab4ea006f161dde44633170aabf1e22acf0 100644 GIT binary patch delta 358 zcmV-s0h#`s0+Iue83+ad001BJ|6!3KAb$yPNLh0L01ml^9nk^FaQL;fBeQ^AoZBR+u|pKnF`PVARlC~z~7Tl6$pT0fJw0a ze{m7Y1=5VWxmc8CI(MeKbLh*2~7aQuVPOC diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/green.png b/src/main/resources/assets/garnished/textures/item/slime_drop/green.png index e4a5f320c065f385f472b33017dfba080ffc8d4a..d72f988dd06e3773ecc12de6672a68a92c6889f2 100644 GIT binary patch delta 352 zcmV-m0iXVy0*nKY83+ad001BJ|6!3KAb$yPNLh0L01m>xcmGa*btak&;f=4An*~W!4L@jB|R9dSk1wFkijDNB%mq~0L1{4VEzAUAJxIO z>1e7jh>Hp{h>8e;!Q`UcY(Ipr@_|W*<0w229JoQB7oc^X3DXjSesj04W672Erf!G7tu^8G;dwAU}fq yiVeJb`;pKnz0NV2C5 a_A^Fhai8Ao^~4Kk6N9I#pUXO@geCwQK4P)} diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/orange.png b/src/main/resources/assets/garnished/textures/item/slime_drop/orange.png index ca555aed81dc020a87745d3ef8b4eb057bbb8eb3..39bb48b310c42f6e68f934f56296ab7bfdcfc4a2 100644 GIT binary patch delta 357 zcmV-r0h<1t0+9od83+ad001BJ|6!3KAb$yPNLh0L01mH5hG!2yF*II#j-rPNO2fg&kH5g0Uw=OS z$Z+-CTZUU#UV{yRc?BI{7ytraKL2DmEYGrWjNO0-zXR60HCK zxQ!~S4MGyePfY)!{Gw7+Sf!PNRpHczSJ9On4-n{t$W}^cP13(Hvwt+ARfDD8IY=&S& zBgl^+zhVRL-hN~_v-Tp29t;CO06m~!09`W`00RR6MR;-q@RQ%k00000NkvXXu0mjf DPSTG_ delta 239 zcmbQpJcnt5BnLAC1A~SxfAB;_g?ilppAgsCdHPM^ivJIm|KF1RdSUqGiJse=Y;s*C zqN@Dz`{GT4_1)6!+7=hh-P#J&X?<4s5Rl?83Gxg6j{+F3+?lZuD8*Ue5n0T@z;_sg z8IR|$NC67Qdb&7xmc8CI(MeKbLh*2~7YOxMG_C diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/purple.png b/src/main/resources/assets/garnished/textures/item/slime_drop/purple.png index 58a8bd0c494b86336cf07b08909f684ce5369593..19b1b18a1dd83abd02948b2efca803540e7bb84f 100644 GIT binary patch delta 357 zcmV-r0h<1t0+9od83+ad001BJ|6!3KAb$yPNLh0L01mPW}&~KmPs(=AU{|j#VvIK{JWY|K5t43__e-3=clOWBC02C&Ptz z&#)STApp|M&&tIh#LmXR&&I{@@z*ynegE?Zh8N%8FkF7qh@yuHO2fhTKi|Nb?|*;! zz;OK49foTko`DU4c?BI{7yttAe*R)mNjl2lRP}&CH|;!_4>FkDegjkm0-zXR60HAU zGH5^8HXThB260hg22l|~uw21HHU=SKey|#_02E-jKvP4J!LsZcgSe0|R0I+edyk%E z5D^i8iXZ@n0k7Y@XV6nu1G5htK2igw1^l)$ym|8h%ti+o27nZTYy)8s02v4a*bKpl zMvxyte#Hjfz5U2=X6;23Js1Xn0D3^d0J>%>00ssCo4ayl^6;h?00000NkvXXu0mjf Du&R(S delta 239 zcmbQpJcnt5BnLAC1A~SxfAB;_g?ilppAgq#$CfCqvU}|ZK1?}txMa=hlzIK36I~^8 zqpJM!`{GT4_1)6!+7=hh-P#J&c{i3(2}tpm1o;L3M*$31?#x&Sl;SM#h%9Dc;5!V$ zjK}j=qyPnDJzX3_G=k@zdB}A@frBOCZdg|M-v2R=*X0=BI4`SloZaj1Knz0NV2C5 a_A^Fhai8Ao^~4Kk6N9I#pUXO@geCymzhXN8 diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/red.png b/src/main/resources/assets/garnished/textures/item/slime_drop/red.png index 4dd008588c42e99cc7e60130278b52c4f86af6c4..b0b0b10cb18e096452bb4c97a0e83b32e0150f79 100644 GIT binary patch delta 357 zcmV-r0h<1t0+9od83+ad001BJ|6!3KAb$yPNLh0L01mS4MGyePfY)!{Gw7+Sf!PNRpHczS7vs$t-n{t$W}^cP13(Hvwt+ARfDD8IY=&S& zBgl^+zhVRL-hN~_v-Tp29t;CO06m~!09`W`00RR63R!dobgzxb00000NkvXXu0mjf D0cMi) delta 239 zcmbQpJcnt5BnLAC1A~SxfAB;_g?ilppAgqv35gI!t{ZV7ud);NdOIw&HtN(-wP#?A zs`AV4i#G|@cT2NtTU<1EYb#KvuGVW2AjMx2Gh-o8inG8YvY3H^?=T26 z9?xHq0u+q(ba4#P2%dZ9A=d!~4wi(wVOimO|HnLDmt%b6ysXA?cCWva|2rJ{V{*S{ zPI%O#15<+iR2U~kKFd)sRn^oNDOl^q8!U4s$~27k!nK40Y%81^EhHaxE_b$x6L+cF Z&lr`(eR{Lk6EC1m44$rjF6*2Ung9yIU2OmW diff --git a/src/main/resources/assets/garnished/textures/item/slime_drop/yellow.png b/src/main/resources/assets/garnished/textures/item/slime_drop/yellow.png index fdadf29d3aa8a1b900ee31258fcd6d1e1ec160d4..0c5b9010386591fb04a7292a04fef238eb5039dd 100644 GIT binary patch delta 356 zcmV-q0h|7u0+0ic83+ad001BJ|6!3KAb$yPNLh0L01m;GTN zDGRnuM^lACTvV7rR74Og#}bjkASBEWRs$A*0t^>uYA7;XR5oJ}7ZQewKw@I=(US}! zA_7nm1i&!h^_%w$dg^Lm_JPA^z)|#y-=Yj}-h2SF(E)}5AcY{?Ko|r-2EqU~LolKd zO0000?t zh^q3-?~6AH)^|&@Yg=42cWWz9r`Y2S*MSs&NswRge-yxQ<<5+SKq<}wkH}&M2EM}} z%y>M1MG8&@i?5A`x-MQ;) zcx5ri0h3cFIt)6xikLTQ9NwDEf1pU=!;_QJZS3XqjF+VUKKRwpG1Gz})2`@&QG_u^ z0}m791PKp5*#o=`H~BV4I=W6uytd^m&-(cNY>(FSNKbpq-kq7L+3<2^u=&Bg9gmo1 zZ06;CDw!iwB6)6pJ;ydng;Rn$Y)miKIT$;L|E(+#GwVzH<3AABkH1e4&eB7q^2S^H0eX zX`NFJITNOry|p@QusfUe@N0Gbg{u@9vYnWAvfP|+;43T^mK16~p`nqHVcX{k`92R* QK|#yl>FVdQ&MBb@05zwDZvX%Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/sweet_tea.png b/src/main/resources/assets/garnished/textures/item/sweet_tea.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc03fda636b8e27158c9219b34b08e34ce425c8 GIT binary patch literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DXgOR6;V~B-+vV`J+o#FrNIh=QDGzfYfKKSf& z{y*)mLgz{z9>cRmJgdG5@oeYcmmm=KG^wKcxAfsw$@LF^%~)U}5mWi=@BgFK`4S~d zEF}{qmT)eSWNBIQB-yGm5tEQ20`%$h=EYp&^NZ=fI%{FE^(rte>;DqV?g~ z+1C>c1sHDfeP-%nROnUkRk)ovYocir!wJz7|J)53L~a3v&c1MPaS`#+*V}Sfo?GGh z%eOsjzojkJ!m__5XRtByFbXh8GIbkC99TA!tD%vR;Yj{Wo_XfC^npRj;OXk;vd$@? F2>`mqoqYfR literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/sweet_tea_bucket.png b/src/main/resources/assets/garnished/textures/item/sweet_tea_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..8a816057f3d41b0d42751566fdb1e3fb444fd300 GIT binary patch literal 390 zcmV;10eSw3P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0UJp~K~y+Tt&*`$ zgg_96$BT_EIb(7cBL$J>5=jgt6_t;mZ{TxS^8zM>g6E(jxdMtqI}DA5#l;J+p!vt$ z&CY_wMZaeLS(tBOf&R*gs)9IXX?5k(O}1Rw+BIMOf-oLv^G3c@f{ zX^Q80D*Ye?ddFiBf~ILy`W?KEjS=8b>bmCK_dQn^_W;4<4BXdncXSZ~nDGf+3BJJG k?m#pe`=_#ThyMYhZ^wLkbuksXOaK4?07*qoM6N<$f;LB>8UO$Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/garnished/textures/item/torrid_blend.png b/src/main/resources/assets/garnished/textures/item/torrid_blend.png new file mode 100644 index 0000000000000000000000000000000000000000..328c980309c0c52232aaae8d11ae40e1d52e7789 GIT binary patch literal 346 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DX@V%#tV~B-+vc$6m_pU#$UorD)y@t4ULdzuy zh9#Ch-dtz$Zq&CXeqEUyan;B%Q-tC2nx~6TEx0Opeu1jqk%YxdyRWMjFcf|I|KI)p zfBQSU%hpd@-nf@>(MHLpM>-RlX6~DoF#B-Vbz__VpJqBvYM;LFU|@UV)vf6~*W>mv zcgyZ9lU&Dtjv7|4?HV2a&`t)4I0j9p zYdl3(91S-X+&J)>bwb*NLtoAwf4HrYhnaDLn}EYL9;O05or4E*9QXPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0c=S`K~y+TV;K5? z5lZ6)^CCU|fB5>1;rF+n44?n}W%&8y7en`nOJKbO4Op7$|KBy-h2h`#9}GXf01f!~ ziQ(nbHw-&>p8*@f1XYIDNzRgEjyB^n>B$i?fPs0FWXJKP!ekwMi(3fI{CZ${Fl@8BJNR3qWc=e*DTX`TTWo1h9Yz zkdr__$4nFK8W0<#(9~X!;mP&KV1MfwtAo7*Qv34<#Q7iqb^$1UzrFql4rz5&d9XiW zHh=j11#B27073MP+s_zgUB3g5emJAk#r(gqr8a}Ov;M1& delta 240 zcmeBUp35{rl7pFnfk8u;KX{^|LcLaiPl)T)tM_;AJpKRwf5V(=--Zr}(A-zAUS;-A zWp+*}2@~}(V(BcjUDzK7)b?%Wf?6QOR}$nG3{;N*46X<6oB+yj7I;J!0~H(wVaDV6 zD^h@hNuDl_AsWGRPaG6tR^(v5z!H{K^7sFJ-3;s4%QusY8=fTEezIqHvivQx@#pMd z#yzdB*&3b;_OHup>zLH^>>l$}W~cW&lO9-1aGsU)f_v8Ied+(0vwK85mA|(wI<=0y d?o-3odnp!N+y)x9j6mxcJYD@<);T3K0RSR#X0`wT diff --git a/src/main/resources/assets/garnished/textures/item/venerable_delicacy/green.png b/src/main/resources/assets/garnished/textures/item/venerable_delicacy/green.png index 0caeb43a492e35318a3dbfce0054ff25d0fc3ffe..392fdf10453704c8dd709ef1ba9f1d1f4b588f32 100644 GIT binary patch delta 354 zcmV-o0iFJx0*(Wa83+ad001BJ|6!3KAb$yPNLh0L01m{v7)1F583KelF$`jY z(qI76Tz@2pA#bM_!|T_t!D1l#!K)7pr|;ZnkdYB#*tzpG*a8@Un+B4Y{UD7&Pk%{* z;rW}NU=62h?t$g5U3@Ao}P+ai->ko!Y_g*l({`4Nq2iXqN3}Jr- zV{`yFVE0@vhDq+*z|IBXRZ(K1M9y5Y|u;1Zx5T zknJ#V;|?Tjww(I|*N0*N48ROR2gn)+3t(UX0C!7)05A54zW@LL07*qoM6N<$f*TTz AaR2}S delta 240 zcmeBUp35{rl7pFnfk8u;KX{^|LcLaiPl)T)tM_;AJpKRw|D>7vb!%-rn-pKYdNpg0 zr%8cCNtmdQ5ld&G?ZW;zpthyUI6ng^zLFrnV4!*gU~oNf=LArOv%n*=7^vVd2s0kf zUy%Y7O!9Pb4ABUld*YxFvmyuc1(vX^lE44&>tTx?@Ry3oZTbhsr>PEW~%@I diff --git a/src/main/resources/assets/garnished/textures/item/venerable_delicacy/orange.png b/src/main/resources/assets/garnished/textures/item/venerable_delicacy/orange.png index bfc743e763e6fa4b5627d1a47fe383b48011a4a1..0740da909bbb9187010d3d17d8b1c5345c6970e1 100644 GIT binary patch delta 356 zcmV-q0h|7v0+0ic83+ad001BJ|6!3KAb$yPNLh0L01mn2iXqN3}Jr- zV{`yFVE0@v27~&I4Da9m24jVSC17!oZ7>YuPp-5Cvq69bN`nE&nJ|qY19yYOq%{~` zKfS@=n!F7xKflooEDr-HUH}1*#!(A9iohCmEj<||hkx0&S}?W%0000Q}|g)6>#_3H9O z&sO>_3{-F!gc*0C?bu+AEFW*cqZg`St`^lc+$?~_%#-Fo; z8TYihW@~sZ*uO5Xtz%NtvwO@_nVsJAOnP83!Fg8F3+`E;_oe@1&h8QMRQ}$!=+rv) dx=#&T@18L0BHnaWKe9p>VKNn;{Q8$o(3C=449xa z7=ScR3_Zfo9 z?Ru00mb-TC0fVS0H<3J4iEx{S}PS0o;Jy zbG;bqHoAeG3c@9GEWqL*+h7>RpIm7PW`h6=lm-KkGhrG*2JQxlNoz2?etLt!HF+CY zetx4FSRMvYyZ{0qjTd$lfi>z{dPy=!$SH!^AaQH}C2oC;Sim8yp&|&@1Og!2Vc^D{ u_h5RO>_3{-F!gc*0C?bu+AEFW*cqZg`St`^lc+$?~_%#-Fo; z8TYihW@~sZ*uO5Xtz%NtvwO@_nVsJAOnP83!Fg8F3+`E;_oe@1&h8QMRQ}$!=+rv) dx=#&T@18L0BHnaWH3)v_5WG}ga12so(3C=449xa z7=SdM3~*!E>0-t3`t@tD7>NGxB%4=rwC?)#IXUCxb-n&0f(@LiXd1M2!L#d xfg5+;gXt~j{=oI27ytt>gU|u8#=!y@7yyUEl+20w!oUCk002ovPDHLkV1katm@ohU delta 240 zcmeBXp35{rl7pFnfk8u;KX{^|LcLaiPl)T)tM_;AJpKRw|6B=)P94<{My^+{UM;mY zvS(l{2@~}(V(BcjUDzK7)b>5p?lF+!D+%%o2C7E@2G;|3P5@;%3p^r=feH?TFyrz3 z6)8Z$Bu^K|5RKruCk_fRD{?SjUJp00i_>zopr04BR+9smFU diff --git a/src/main/resources/assets/garnished/textures/item/venerable_delicacy/yellow.png b/src/main/resources/assets/garnished/textures/item/venerable_delicacy/yellow.png index 244c17226f004b36fb7612ed84b5e879a8f0a531..0f411a4ff5f76d5c6e8a4442cb302b14df13673e 100644 GIT binary patch delta 354 zcmV-o0iFJx0*(Wa83+ad001BJ|6!3KAb$yPNLh0L01m=7)t00)Mii z48Oj718WFxxd4{CcI^R!s3

{rdG+u(x0?L2<#icRv|EJbuma?fq9UA7nd7GlcyW zjL`wyfZcPw7?gcift?G&f_8Jj;vm~#7{;GmX$fY701K1`1CTRe8bJo`28l^)FuZec0K zp1D~PC1IjIMl79$whQ~?fZFzU2)zVSd?i7C!9ev0z~Fk|&IzClXMsm#F;Kx_5N14{ zzaj-FnB?i=7@`q8_ryUVW3oKz-C4c|l*Uhkwy?isdxZz2n?I(MNC(GY58-LCY zX57>2nyulvVE?+jwvI_n&+ai#Wp;YcGwFfF1m{^vFSuuY-k1K5IlD*1Q~7(_qEqYG d>pnGXy_aIa#ciNr%LufN!PC{xWt~$(69DLHXQKcB diff --git a/src/main/resources/assets/garnished/textures/item/vex_wing.png b/src/main/resources/assets/garnished/textures/item/vex_wing.png new file mode 100644 index 0000000000000000000000000000000000000000..c848eb0e50f4671513ec612e263c0611705e1da2 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sEXgD|57Yp@DXgR!TJV~B-+vV_2fpC{h_SKvu9ZgS;dnDNMe zetpAFtyPbB%JcT8bbPy#n!?omfMN1N%svwE(g`7y3F;)hvl_Q({RRXBQm-k#(KDQRq{8+n|r@i1wyH862M37;X{ z`g2FX4TbOp%p%MQ3weTgHp!+KckmV+edoMg!mjr3Sp}6d++obj1Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0ZmCnK~y+TV;E*Y zWJ~LR!P%|kEdpyeD7J#(TBgM-3^x|HGsufF!CeA300dNyt!DVfc9r3d zy9tBd;?)e|l5Grsp93X;2H()vV+efti$No{lHq%13q%7Dz?}kefsqOe!=qQf7??ks zGCcWx0xHA6aK|bXY`7%ID?o7O&QGu*ubQeD;Vw9M^(*84OTQT8#Ml_5l`k@wYjDCb z$O~W^2tb-YwKX&RGlTd7B@jUX=06h^cCcX}0CE*bBM3Zv{f`k88*h9d0f}J%3?K&- i2!J#~nZpY(FaQ7&H-I;Uq)PPw0000 z)Wq`t{SO})K74u4pgp+*tXaj#h~dt;a|}uvybStI=@^DEL1{3sK64zb0HoO=AeEE{4gx%aLJUV%w_tby#Q+e{omBv)Uq62grp2XXzy@79{*d9_%eM@bi9slaU>NZ5 z+6@LxBWZ@KCy#;oFP}XD)9-=a`TX$~K}2M$`Doc>3d0L|NeZBYe>e*gdg07*qoM6N<$ Ef()pn0{{R3 delta 275 zcmZ3?e28g+BnLAC1A~SxfAB;_g?gs|pAgsosSN*@WE8V-Op%b-zk0#?X+1|xESIQg zUOut!;=Y;xe}BJwe)W;nEw3Kk+BBuGGBN1I-QDvVE0(sVwmLaQyIKH^TOQk93Z%qJ zg8YL2V*?C~mkvAus^Bc}h%9Dc;M)(vj206ESZf*5JzX3_G=k@zx-Hafz~OpP!eVDY z;Krx_>$m!@Dm>=?oqI#ugYEO2W+;7q9nQ?9XjI^M>WIb)W}D3(2eah@B3)TeR~_24 zQDo!Zx3b^3baO1{J_tzdp2BW%M#DGv_u=1{-CzIMv8(a7cxHm&gs0rSB0y&_c)I$z JtaD0e0s!VmfdK#j diff --git a/src/main/resources/assets/garnished/textures/item/wrapped_sepia_tangle.png b/src/main/resources/assets/garnished/textures/item/wrapped_sepia_tangle.png index 0d218f954fc1753e6d20d73a8e219788c94d6ba6..2936c6a0314f9ca6627e3dcb714193c8d9dec323 100644 GIT binary patch delta 345 zcmV-f0jB=70)+#R83+ad001BJ|6!3KAb$yPNLh0L01m$Z01m$aI0aKA0003RNklXKe+=e}OUW<ddAgR6sYZT%H#HPZ*02mkmgN1@6U?|O_00000NkvXXu0mjf--wz= delta 244 zcmZo=-pVvVl7pFnfk8u;KX{^|LaI%GPl&6hxsH>edbF#BsixBZB^m!y8TPMUuzp(4 zPtHwpg}t=j`;v7k&+<4;QyF_ z!QcP6;6yv|3Wg+47sn8d;NEkNVhsu$ECH8UmTH{+ecx30%g-27>9l`b!PEY*Z9e%n zVQuzyw}kHvH)c8AWlUbp`}=a8dvO diff --git a/src/main/resources/assets/garnished/textures/item/wrapped_warped_tangle.png b/src/main/resources/assets/garnished/textures/item/wrapped_warped_tangle.png index 3e3da34d6154c0833126acfbfbe2e0a1af2904f8..c82a86fd7e6e6bd37de06493e4203fa849a38c98 100644 GIT binary patch delta 337 zcmV-X0j~bG0{sGz83+ad001BJ|6!3KAb$yPNLh0L01m$Z01m$aI0aKA0003JNkl6R+Ba)oO|%m)Wr+85aSYK2o_p3&tU-Z;Jk`_?3UBAmhB4lsL hhJyV|51(K^Bj@HI=vK*Ac@*dx22WQ%mvv4FO#n^XaS#9i diff --git a/src/main/resources/assets/garnished/textures/item/yellow_mastic_resin_bucket.png b/src/main/resources/assets/garnished/textures/item/yellow_mastic_resin_bucket.png index 4988198e243849e5ec7c30b546147484eb87858f..464e649c894e0dcfc1a030b5ea52dd762ab6afe9 100644 GIT binary patch delta 383 zcmV-_0f7Fa0;>a%83+ad001BJ|6!3KAb$yPNLh0L01mM-CD^$jo7s4{7#>}C0mdMW zFo5hG5WwmJ5CGW>2D+6DPxulU-aPya=Dw3o2h%Ws(+ePg?A%k|of!_ivSknw5`v0A z0Ez(@E?j_nuJ*^iJhg{k`v^zEGD{&hprs6+u6{1-oD!M!lvI6;>1s;*b3=DkxL735kHCP3xLBi9;F~q_@S;Fx_{i-Mb=g+J8zc7YJVdu;L z^cj7=>v{ZLEefTM>78LrRb;rMkmBs%aAeBVhh_m1XB?U0 z=hwDw3ShjWaO~!J$(!5jlb)D8V*Tux6S}})Ml+kl(;EwQSPr~04Kq~R6PG-x!Ds?Q zm!m@X#*+ocHn;wDI{rFazGfX`C#ySkvC|3APx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0cS}>K~y+T<&sTH zLO~RUk5OuVaLtd5OC<>z6q;>HTLrq1`T_mLmMvT4+Ll493W8b$me;iOrWQ=Rrx|s; z^8>tBC&Ls;_&jx<1WfjK z%dG8WhR*9}tSg5#dhI^bVAP|#`v;@h7?@;N@?tN0B&x+zp}GLj+p8u1ZpSyo?5J}x zY79pMa^9PAH(~JIr{H{;g8qoiOfZg?+sv|#h0=6UzhqsjRH@@O*#zTVHEzcD2Q(v? z6m|-HP=P{pfo@cO)&yvy;iXI_0D03$3gaDNBrGeGpnyL}(Xd5psT}W-FO~D--$9`n zp*chF)+peto#naLB0d=w9yrD8C^GC#PP`i zrDGW$C1u&HG1BO3C{LO3JU`43TQjXIlJOA7VtLt9`(^b literal 0 HcmV?d00001 diff --git a/src/main/resources/data/c/tags/blocks/mineable/hatchet.json b/src/main/resources/data/c/tags/blocks/mineable/hatchet.json index ed2dd495..f1ed02c8 100644 --- a/src/main/resources/data/c/tags/blocks/mineable/hatchet.json +++ b/src/main/resources/data/c/tags/blocks/mineable/hatchet.json @@ -1,6 +1,10 @@ { "replace": false, "values": [ - "#minecraft:mineable/axe" + "#minecraft:mineable/axe", + "minecraft:bamboo", + "minecraft:dried_kelp_block", + "garnished:dried_dulse_kelp_block", + "garnished:dried_vermilion_kelp_block" ] } diff --git a/src/main/resources/data/c/tags/entity_types/affected_by/ravaging.json b/src/main/resources/data/c/tags/entity_types/affected_by/ravaging.json index a9a35630..366348bf 100644 --- a/src/main/resources/data/c/tags/entity_types/affected_by/ravaging.json +++ b/src/main/resources/data/c/tags/entity_types/affected_by/ravaging.json @@ -6,6 +6,25 @@ "minecraft:ghast", "minecraft:warden", "minecraft:polar_bear", - "minecraft:stray" + "minecraft:stray", + "minecraft:endermite", + "minecraft:enderman", + "minecraft:ender_dragon", + "minecraft:evoker", + "minecraft:vindicator", + "minecraft:pillager", + "minecraft:illusioner", + "minecraft:ravager", + "minecraft:piglin", + "minecraft:zombified_piglin", + "minecraft:hoglin", + "minecraft:zoglin", + "minecraft:slime", + "minecraft:spider", + "minecraft:cave_spider", + "minecraft:skeleton", + "minecraft:skeleton_horse", + "minecraft:vex", + "minecraft:dolphin" ] } diff --git a/src/main/resources/data/c/tags/entity_types/affected_by/salvaging.json b/src/main/resources/data/c/tags/entity_types/affected_by/salvaging.json index 9975dd76..09a8abe9 100644 --- a/src/main/resources/data/c/tags/entity_types/affected_by/salvaging.json +++ b/src/main/resources/data/c/tags/entity_types/affected_by/salvaging.json @@ -8,6 +8,16 @@ "minecraft:salmon", "minecraft:squid", "minecraft:tropical_fish", - "minecraft:turtle" + "minecraft:turtle", + "minecraft:horse", + "minecraft:mule", + "minecraft:donkey", + "minecraft:cow", + "minecraft:bee", + "minecraft:cat", + "minecraft:ocelot", + "minecraft:rabbit", + "minecraft:dolphin", + "minecraft:pig" ] } diff --git a/src/main/resources/data/c/tags/items/buckets/apple_cider.json b/src/main/resources/data/c/tags/items/buckets/apple_cider.json new file mode 100644 index 00000000..0b214dc0 --- /dev/null +++ b/src/main/resources/data/c/tags/items/buckets/apple_cider.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "garnished:apple_cider_bucket" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/buckets/cashew_mixture.json b/src/main/resources/data/c/tags/items/buckets/cashew_mixture.json new file mode 100644 index 00000000..bbfdadd3 --- /dev/null +++ b/src/main/resources/data/c/tags/items/buckets/cashew_mixture.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "garnished:cashew_mixture_bucket" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/buckets/dragon_breath.json b/src/main/resources/data/c/tags/items/buckets/dragon_breath.json new file mode 100644 index 00000000..40809084 --- /dev/null +++ b/src/main/resources/data/c/tags/items/buckets/dragon_breath.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "garnished:dragon_breath_bucket" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/buckets/liquid_garnish.json b/src/main/resources/data/c/tags/items/buckets/liquid_garnish.json new file mode 100644 index 00000000..a4fbc4e0 --- /dev/null +++ b/src/main/resources/data/c/tags/items/buckets/liquid_garnish.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "garnished:garnish_bucket" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/buckets/mastic_resin.json b/src/main/resources/data/c/tags/items/buckets/mastic_resin.json index 4fe758ac..e946b289 100644 --- a/src/main/resources/data/c/tags/items/buckets/mastic_resin.json +++ b/src/main/resources/data/c/tags/items/buckets/mastic_resin.json @@ -9,4 +9,4 @@ "garnished:blue_mastic_resin_bucket", "garnished:purple_mastic_resin_bucket" ] -} +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/buckets/peanut_oil.json b/src/main/resources/data/c/tags/items/buckets/peanut_oil.json new file mode 100644 index 00000000..2a70982f --- /dev/null +++ b/src/main/resources/data/c/tags/items/buckets/peanut_oil.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "garnished:peanut_oil_bucket" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/ender_dusts.json b/src/main/resources/data/c/tags/items/ender_dusts.json index 198a861e..a12ae382 100644 --- a/src/main/resources/data/c/tags/items/ender_dusts.json +++ b/src/main/resources/data/c/tags/items/ender_dusts.json @@ -12,4 +12,4 @@ "id": "betterend:ender_dust" } ] -} +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/stripped_logs.json b/src/main/resources/data/c/tags/items/stripped_logs.json index b35cddc9..5a7d8cf7 100644 --- a/src/main/resources/data/c/tags/items/stripped_logs.json +++ b/src/main/resources/data/c/tags/items/stripped_logs.json @@ -4,4 +4,4 @@ "#garnished:stripped_sepia_stems", "#garnished:stripped_nut_logs" ] -} +} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/items/tools/hatchets.json b/src/main/resources/data/c/tags/items/tools/hatchets.json index 74cd2f5f..cea08cdb 100644 --- a/src/main/resources/data/c/tags/items/tools/hatchets.json +++ b/src/main/resources/data/c/tags/items/tools/hatchets.json @@ -8,4 +8,4 @@ "garnished:diamond_hatchet", "garnished:netherite_hatchet" ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/create/tags/fluids/bottomless/allow.json b/src/main/resources/data/create/tags/fluids/bottomless/allow.json index c16ba141..86cf4ae1 100644 --- a/src/main/resources/data/create/tags/fluids/bottomless/allow.json +++ b/src/main/resources/data/create/tags/fluids/bottomless/allow.json @@ -5,6 +5,8 @@ "#garnished:liquid_garnish", "#garnished:peanut_oil", "#garnished:cashew_mixture", - "#garnished:mastic_resin" + "#garnished:mastic_resin", + "#garnished:sweet_tea", + "#garnished:dragon_breath" ] -} +} \ No newline at end of file diff --git a/src/main/resources/data/create/tags/items/blaze_burner_fuel/regular.json b/src/main/resources/data/create/tags/items/blaze_burner_fuel/regular.json index dc09fe97..6c84379b 100644 --- a/src/main/resources/data/create/tags/items/blaze_burner_fuel/regular.json +++ b/src/main/resources/data/create/tags/items/blaze_burner_fuel/regular.json @@ -7,6 +7,7 @@ "garnished:peanut_oil", "garnished:dried_vermilion_kelp", "garnished:dried_vermilion_kelp_block", - "garnished:bamboo_clod" + "garnished:bamboo_clod", + "garnished:bok_choy" ] } diff --git a/src/main/resources/data/create/tags/items/upright_on_belt.json b/src/main/resources/data/create/tags/items/upright_on_belt.json index 1fd7b721..8cb57091 100644 --- a/src/main/resources/data/create/tags/items/upright_on_belt.json +++ b/src/main/resources/data/create/tags/items/upright_on_belt.json @@ -50,9 +50,25 @@ "garnished:frosted_dessert", "garnished:void_stroganoff", "garnished:explorers_concoction", + "garnished:omniscient_stew", + "garnished:warped_brew", + "garnished:iniquitous_brew", + "garnished:crestfallen_flora", + "garnished:bottled_malodorous_mixture", + "garnished:farseer_brew", + "garnished:sweet_tea", + "garnished:tusk", + "garnished:irate_tusk", + "garnished:ender_egg_shell", + "garnished:frail_ender_egg_shell", "#garnished:venerable_delicacies", "#garnished:slime_drops", "#c:buckets/mastic_resin", + "#c:buckets/apple_cider", + "#c:buckets/cashew_mixture", + "#c:buckets/dragon_breath", + "#c:buckets/liquid_garnish", + "#c:buckets/peanut_oil", "#c:tools/hatchets" ] } diff --git a/src/main/resources/data/garnished/advancements/anniversary_cake.json b/src/main/resources/data/garnished/advancements/anniversary_cake.json new file mode 100644 index 00000000..aec2cad7 --- /dev/null +++ b/src/main/resources/data/garnished/advancements/anniversary_cake.json @@ -0,0 +1,29 @@ +{ + "display": { + "icon": { + "item": "garnished:anniversary_cake" + }, + "title": { + "translate": "advancement.garnished.anniversary_cake.title" + }, + "description": { + "translate": "advancement.garnished.anniversary_cake.description", + "color": "#DBA213" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "garnished:nut_tree", + "criteria": { + "consume_cake": { + "trigger": "garnished:consume_anniversary_cake_slice" + } + }, + "requirements": [ + [ + "consume_cake" + ] + ] +} diff --git a/src/main/resources/data/garnished/advancements/bok_choyo.json b/src/main/resources/data/garnished/advancements/bok_choyo.json new file mode 100644 index 00000000..f2c3c3a2 --- /dev/null +++ b/src/main/resources/data/garnished/advancements/bok_choyo.json @@ -0,0 +1,38 @@ +{ + "display": { + "icon": { + "item": "garnished:bok_choy" + }, + "title": { + "translate": "advancement.garnished.bok_choyo.title" + }, + "description": { + "translate": "advancement.garnished.bok_choyo.description", + "color": "#DBA213" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "garnished:nut_tree", + "criteria": { + "obtain_bok_choy": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "garnished:bok_choy" + ] + } + ] + } + } + }, + "requirements": [ + [ + "obtain_bok_choy" + ] + ] +} diff --git a/src/main/resources/data/garnished/advancements/dejojo.json b/src/main/resources/data/garnished/advancements/dejojo.json new file mode 100644 index 00000000..fdfd4e14 --- /dev/null +++ b/src/main/resources/data/garnished/advancements/dejojo.json @@ -0,0 +1,30 @@ +{ + "display": { + "icon": { + "item": "minecraft:player_head", + "nbt": "{SkullOwner: {Id: [I; 461939504,-1870183790,-1233034973,-129415260], Properties: {textures: [{Value: \"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2I3NDQ3NmRiM2EyZTllZDhmNjc1YjFhYTgwOTY4N2M3Nzc3Mzc3NTdiZWIzMGVhYjRjMmUxNjhjZmRiMGJjYSJ9fX0=\"}]}, Name: \"DejojoTheAwsome\"}}" + }, + "title": { + "translate": "advancement.garnished.dejojotheawsome.title" + }, + "description": { + "translate": "advancement.garnished.dejojotheawsome.description", + "color": "#DBA213" + }, + "frame": "challenge", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "garnished:nut_tree", + "criteria": { + "dejojotheawsome": { + "trigger": "garnished:the_one_who_started_it_all" + } + }, + "requirements": [ + [ + "dejojotheawsome" + ] + ] +} diff --git a/src/main/resources/data/garnished/advancements/sweet_tea.json b/src/main/resources/data/garnished/advancements/sweet_tea.json new file mode 100644 index 00000000..ada0783b --- /dev/null +++ b/src/main/resources/data/garnished/advancements/sweet_tea.json @@ -0,0 +1,38 @@ +{ + "display": { + "icon": { + "item": "garnished:sweet_tea" + }, + "title": { + "translate": "advancement.garnished.sweet_tea.title" + }, + "description": { + "translate": "advancement.garnished.sweet_tea.description", + "color": "#DBA213" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "garnished:bok_choyo", + "criteria": { + "obtain_sweet_tea": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "garnished:sweet_tea" + ] + } + ] + } + } + }, + "requirements": [ + [ + "obtain_sweet_tea" + ] + ] +} diff --git a/src/main/resources/data/garnished/advancements/wyvern_stone.json b/src/main/resources/data/garnished/advancements/wyvern_stone.json new file mode 100644 index 00000000..6cb11610 --- /dev/null +++ b/src/main/resources/data/garnished/advancements/wyvern_stone.json @@ -0,0 +1,36 @@ +{ + "display": { + "icon": { + "item": "garnished:dragon_stone" + }, + "title": { + "translate": "advancement.garnished.wyvern_stone.title" + }, + "description": { + "translate": "advancement.garnished.wyvern_stone.description", + "color": "#DBA213" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "parent": "garnished:rosy_cocktail", + "criteria": { + "obtain_wyvern_stone": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "tag": "garnished:stone_types/dragon_stone" + } + ] + } + } + }, + "requirements": [ + [ + "obtain_wyvern_stone" + ] + ] +} diff --git a/src/main/resources/data/garnished/damage_type/fan_freezing.json b/src/main/resources/data/garnished/damage_type/fan_freezing.json new file mode 100644 index 00000000..793bd0de --- /dev/null +++ b/src/main/resources/data/garnished/damage_type/fan_freezing.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.1, + "message_id": "garnished.fan_freezing", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/damage_type/leeching.json b/src/main/resources/data/garnished/damage_type/leeching.json new file mode 100644 index 00000000..5cd6ef87 --- /dev/null +++ b/src/main/resources/data/garnished/damage_type/leeching.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.1, + "message_id": "garnished.leeching", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/damage_type/mulch_munching.json b/src/main/resources/data/garnished/damage_type/mulch_munching.json new file mode 100644 index 00000000..101d8a6d --- /dev/null +++ b/src/main/resources/data/garnished/damage_type/mulch_munching.json @@ -0,0 +1,5 @@ +{ + "exhaustion": 0.1, + "message_id": "garnished.mulch_munching", + "scaling": "when_caused_by_living_non_player" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/aureate_shrub.json b/src/main/resources/data/garnished/loot_tables/blocks/aureate_shrub.json new file mode 100644 index 00000000..8ac94e6f --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/aureate_shrub.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:aureate_shrub" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/bok_choy_plant.json b/src/main/resources/data/garnished/loot_tables/blocks/bok_choy_plant.json new file mode 100644 index 00000000..792ca67b --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/bok_choy_plant.json @@ -0,0 +1,76 @@ +{ + "type": "minecraft:block", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:bok_choy_seeds" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "garnished:bok_choy_plant", + "condition": "minecraft:block_state_property", + "properties": { + "age": "2" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "enchantment": "minecraft:fortune", + "formula": "minecraft:binomial_with_bonus_count", + "function": "minecraft:apply_bonus", + "parameters": { + "extra": 3, + "probability": 0.5714286 + } + } + ], + "name": "garnished:bok_choy" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "block": "garnished:bok_choy_plant", + "condition": "minecraft:block_state_property", + "properties": { + "age": "2" + } + } + ], + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "chance": 0.15, + "condition": "minecraft:random_chance" + } + ], + "name": "garnished:bok_choy_seeds" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "minecraft:blocks/potatoes" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone.json new file mode 100644 index 00000000..526c67aa --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks.json new file mode 100644 index 00000000..7b6f88c4 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_bricks" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_slab.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_slab.json new file mode 100644 index 00000000..fd1c8cb1 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_bricks_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_stairs.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_stairs.json new file mode 100644 index 00000000..49fc716c --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_bricks_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_wall.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_wall.json new file mode 100644 index 00000000..7af9c029 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_bricks_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_bricks_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_slab.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_slab.json new file mode 100644 index 00000000..834dec6a --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_stairs.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_stairs.json new file mode 100644 index 00000000..9b560f8a --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_wall.json b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_wall.json new file mode 100644 index 00000000..64f080dc --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/dragon_stone_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dragon_stone_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/incandescent_lily.json b/src/main/resources/data/garnished/loot_tables/blocks/incandescent_lily.json new file mode 100644 index 00000000..2b2ba379 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/incandescent_lily.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:incandescent_lily" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/pansophical_daisy.json b/src/main/resources/data/garnished/loot_tables/blocks/pansophical_daisy.json new file mode 100644 index 00000000..4e8de9bd --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/pansophical_daisy.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:pansophical_daisy" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone.json b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone.json new file mode 100644 index 00000000..edccfd5f --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:polished_dragon_stone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_slab.json b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_slab.json new file mode 100644 index 00000000..7539ca2f --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:polished_dragon_stone_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_stairs.json b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_stairs.json new file mode 100644 index 00000000..ce33ce8c --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:polished_abyssal_stone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_wall.json b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_wall.json new file mode 100644 index 00000000..a2320a2b --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/polished_dragon_stone_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:polished_abyssal_stone_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_aureate_shrub.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_aureate_shrub.json new file mode 100644 index 00000000..eb33be3f --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_aureate_shrub.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:aureate_shrub" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_barren_roots.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_barren_roots.json new file mode 100644 index 00000000..372131d0 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_barren_roots.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:barren_roots" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_incandescent_lily.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_incandescent_lily.json new file mode 100644 index 00000000..9c5d1f04 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_incandescent_lily.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:incandescent_lily" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_pansophical_daisy.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_pansophical_daisy.json new file mode 100644 index 00000000..0fd59d2e --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_pansophical_daisy.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:pansophical_daisy" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_sepia_fungus.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_sepia_fungus.json new file mode 100644 index 00000000..6890c7b5 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_sepia_fungus.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:sepia_fungus" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_small_chorus_plant.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_small_chorus_plant.json new file mode 100644 index 00000000..f353cfdf --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_small_chorus_plant.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:small_chorus_plant" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/potted_soul_roots.json b/src/main/resources/data/garnished/loot_tables/blocks/potted_soul_roots.json new file mode 100644 index 00000000..7ec09af8 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/potted_soul_roots.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:flower_pot" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:soul_roots" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/loot_tables/blocks/senile_bone_block.json b/src/main/resources/data/garnished/loot_tables/blocks/senile_bone_block.json new file mode 100644 index 00000000..caa84fa7 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/senile_bone_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:senile_bone_block" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone.json b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone.json new file mode 100644 index 00000000..7946bfa7 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:smooth_dragon_stone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_slab.json b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_slab.json new file mode 100644 index 00000000..0cf36c76 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:smooth_dragon_stone_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_stairs.json b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_stairs.json new file mode 100644 index 00000000..3b9c9947 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:smooth_dragon_stone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_wall.json b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_wall.json new file mode 100644 index 00000000..80f11bf9 --- /dev/null +++ b/src/main/resources/data/garnished/loot_tables/blocks/smooth_dragon_stone_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:smooth_dragon_stone_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/bottled_malodorous_mixture.json b/src/main/resources/data/garnished/recipes/bottled_malodorous_mixture.json new file mode 100644 index 00000000..359972f3 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/bottled_malodorous_mixture.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "item": "garnished:malodorous_mixture" + }, + { + "item": "garnished:malodorous_mixture" + } + ], + "result": { + "item": "garnished:bottled_malodorous_mixture" + } +} diff --git a/src/main/resources/data/garnished/recipes/chorus_bowl.json b/src/main/resources/data/garnished/recipes/chorus_bowl.json index d3338bf3..4e347f62 100644 --- a/src/main/resources/data/garnished/recipes/chorus_bowl.json +++ b/src/main/resources/data/garnished/recipes/chorus_bowl.json @@ -7,6 +7,9 @@ { "item": "garnished:chorus_tuft" }, + { + "item": "garnished:dimmed_scale" + }, { "item": "garnished:void_dust" }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_almond_with_haste.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_almond_with_haste.json index 2d2a83bd..4c510790 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_almond_with_haste.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_almond_with_haste.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_almond" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_cashew_with_speed.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_cashew_with_speed.json index e497fa08..d2ac5eeb 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_cashew_with_speed.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_cashew_with_speed.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_cashew" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_chestnut_with_slow_falling.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_chestnut_with_slow_falling.json index 083e53a2..df221d83 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_chestnut_with_slow_falling.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_chestnut_with_slow_falling.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_chestnut" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_hazelnut_with_potent_speed.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_hazelnut_with_potent_speed.json index c05c8d35..c8553b9e 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_hazelnut_with_potent_speed.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_hazelnut_with_potent_speed.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_hazelnut" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_macadamia_with_fire_resistance.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_macadamia_with_fire_resistance.json index 979089f4..827e8396 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_macadamia_with_fire_resistance.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_macadamia_with_fire_resistance.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_macadamia" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_peanut_with_effect.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_peanut_with_effect.json index bc669408..eca90729 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_peanut_with_effect.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_peanut_with_effect.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_peanut" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pecan_with_resistance.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pecan_with_resistance.json index 1ebe69d5..ac2f8690 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pecan_with_resistance.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pecan_with_resistance.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_pecan" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pistachio_with_night_vision.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pistachio_with_night_vision.json index 947a0074..d272c5cd 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pistachio_with_night_vision.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_pistachio_with_night_vision.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_pistachio" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_walnut_with_strength.json b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_walnut_with_strength.json index 29dea771..42c02de2 100644 --- a/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_walnut_with_strength.json +++ b/src/main/resources/data/garnished/recipes/compacting/effect/melted_cinder_walnut_with_strength.json @@ -5,7 +5,7 @@ "item": "garnished:cinder_walnut" }, { - "amount": 8100, + "amount": 100, "fluid": "minecraft:lava", "nbt": {} }, diff --git a/src/main/resources/data/garnished/recipes/compacting/fiendish_spore.json b/src/main/resources/data/garnished/recipes/compacting/fiendish_spore.json new file mode 100644 index 00000000..3b853f2e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/compacting/fiendish_spore.json @@ -0,0 +1,19 @@ +{ + "type": "create:compacting", + "ingredients": [ + { + "item": "garnished:brittle_dust" + }, + { + "item": "garnished:sorrowful_lichen" + }, + { + "item": "garnished:incandescent_petal" + } + ], + "results": [ + { + "item": "garnished:fiendish_spore" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/base.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/base.json index 4d7e8950..827aa59a 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/base.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/base.json @@ -13,6 +13,9 @@ }, { "item": "minecraft:slime_ball" + }, + { + "item": "minecraft:sugar" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/blue.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/blue.json index 73df5fe9..37efabf0 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/blue.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/blue.json @@ -14,17 +14,12 @@ { "item": "minecraft:slime_ball" }, - [ - { - "item": "minecraft:blue_dye" - }, - { - "item": "minecraft:cyan_dye" - }, - { - "item": "minecraft:light_blue_dye" - } - ] + { + "item": "minecraft:blue_dye" + }, + { + "item": "minecraft:sugar" + } ], "results": [ { diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/green.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/green.json index a270cf45..b9630bc4 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/green.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/green.json @@ -14,14 +14,12 @@ { "item": "minecraft:slime_ball" }, - [ - { - "item": "minecraft:green_dye" - }, - { - "item": "minecraft:lime_dye" - } - ] + { + "item": "minecraft:green_dye" + }, + { + "item": "minecraft:sugar" + } ], "results": [ { diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/orange.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/orange.json index 074c84be..424dcfb8 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/orange.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/orange.json @@ -16,6 +16,9 @@ }, { "item": "minecraft:orange_dye" + }, + { + "item": "minecraft:sugar" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/purple.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/purple.json index 68ace734..41d3fde3 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/purple.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/purple.json @@ -14,14 +14,12 @@ { "item": "minecraft:slime_ball" }, - [ - { - "item": "minecraft:purple_dye" - }, - { - "item": "minecraft:magenta_dye" - } - ] + { + "item": "minecraft:purple_dye" + }, + { + "item": "minecraft:sugar" + } ], "results": [ { diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/red.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/red.json index 6d753cd6..f2fddfcd 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/red.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/red.json @@ -16,6 +16,9 @@ }, { "item": "minecraft:red_dye" + }, + { + "item": "minecraft:sugar" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/yellow.json b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/yellow.json index 2f65ed82..023a22b2 100644 --- a/src/main/resources/data/garnished/recipes/compacting/mastic_resin/yellow.json +++ b/src/main/resources/data/garnished/recipes/compacting/mastic_resin/yellow.json @@ -16,6 +16,9 @@ }, { "item": "minecraft:yellow_dye" + }, + { + "item": "minecraft:sugar" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/compacting/sugar_cube.json b/src/main/resources/data/garnished/recipes/compacting/sugar_cube.json new file mode 100644 index 00000000..3393f20d --- /dev/null +++ b/src/main/resources/data/garnished/recipes/compacting/sugar_cube.json @@ -0,0 +1,22 @@ +{ + "type": "create:compacting", + "ingredients": [ + { + "item": "minecraft:sugar" + }, + { + "item": "minecraft:sugar" + }, + { + "item": "minecraft:sugar" + }, + { + "item": "minecraft:sugar" + } + ], + "results": [ + { + "item": "garnished:sugar_cube" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crestfallen_flora.json b/src/main/resources/data/garnished/recipes/crestfallen_flora.json new file mode 100644 index 00000000..31cec054 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crestfallen_flora.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "item": "garnished:torrid_blend" + }, + { + "item": "garnished:torrid_blend" + }, + { + "item": "garnished:incandescent_petal" + }, + { + "item": "garnished:incandescent_petal" + }, + { + "item": "garnished:sorrowful_lichen" + } + ], + "result": { + "item": "garnished:crestfallen_flora" + } +} diff --git a/src/main/resources/data/garnished/recipes/crushing/black_dye.json b/src/main/resources/data/garnished/recipes/crushing/black_dye.json new file mode 100644 index 00000000..9c512658 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/black_dye.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:sorrowful_lichen" + } + ], + "processingTime": 150, + "results": [ + { + "count": 2, + "item": "minecraft:white_dye" + }, + { + "chance": 0.45, + "item": "minecraft:black_dye", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/bok_choy.json b/src/main/resources/data/garnished/recipes/crushing/bok_choy.json new file mode 100644 index 00000000..43752cb2 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/bok_choy.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:bok_choy" + } + ], + "processingTime": 50, + "results": [ + { + "count": 2, + "item": "garnished:bok_choy_seeds" + }, + { + "chance": 0.25, + "item": "garnished:bok_choy_seeds", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/brittle_dust_from_basalt.json b/src/main/resources/data/garnished/recipes/crushing/brittle_dust_from_basalt.json new file mode 100644 index 00000000..a2861612 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/brittle_dust_from_basalt.json @@ -0,0 +1,29 @@ +{ + "type": "create:crushing", + "ingredients": [ + [ + { + "item": "minecraft:basalt" + }, + { + "item": "minecraft:smooth_basalt" + }, + { + "item": "minecraft:polished_basalt" + } + ] + ], + "processingTime": 150, + "results": [ + { + "chance": 0.85, + "item": "garnished:brittle_dust", + "count": 1 + }, + { + "chance": 0.45, + "item": "garnished:brittle_dust", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_almond.json b/src/main/resources/data/garnished/recipes/crushing/cracked_almond.json index 96664907..1d62f96c 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_almond.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_almond.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/almond" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_cashew.json b/src/main/resources/data/garnished/recipes/crushing/cracked_cashew.json index 3391b701..bb6c83f9 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_cashew.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_cashew.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/cashew" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_chestnut.json b/src/main/resources/data/garnished/recipes/crushing/cracked_chestnut.json index 414cd54b..9573e35b 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_chestnut.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_chestnut.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/chestnut" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_hazelnut.json b/src/main/resources/data/garnished/recipes/crushing/cracked_hazelnut.json index 2ca3bd8f..3b4b99ed 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_hazelnut.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_hazelnut.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/hazelnut" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_macadamia.json b/src/main/resources/data/garnished/recipes/crushing/cracked_macadamia.json index 7e4ba6aa..efb0c6d8 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_macadamia.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_macadamia.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/macadamia" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_peanut.json b/src/main/resources/data/garnished/recipes/crushing/cracked_peanut.json index c6d3571e..e4fab6cc 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_peanut.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_peanut.json @@ -2,19 +2,19 @@ "type": "create:crushing", "ingredients": [ { - "tag": "c:crops/peanuts" + "tag": "garnished:crushable/peanut" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, "item": "garnished:cracked_peanut" }, { - "chance": 0.15, + "chance": 0.25, "item": "garnished:cracked_peanut", - "count": 2 + "count": 1 } ] } diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_pecan.json b/src/main/resources/data/garnished/recipes/crushing/cracked_pecan.json index 9bc7af3b..d8cc7e8d 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_pecan.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_pecan.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/pecan" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_pistachio.json b/src/main/resources/data/garnished/recipes/crushing/cracked_pistachio.json index ab2d0404..932a3e1e 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_pistachio.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_pistachio.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/pistachio" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/cracked_walnut.json b/src/main/resources/data/garnished/recipes/crushing/cracked_walnut.json index e0840fea..508b9ba5 100644 --- a/src/main/resources/data/garnished/recipes/crushing/cracked_walnut.json +++ b/src/main/resources/data/garnished/recipes/crushing/cracked_walnut.json @@ -5,7 +5,7 @@ "tag": "garnished:crushable/walnut" } ], - "processingTime": 150, + "processingTime": 50, "results": [ { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/crushing/crushed_salt.json b/src/main/resources/data/garnished/recipes/crushing/crushed_salt.json index 12e0af53..08fa754d 100644 --- a/src/main/resources/data/garnished/recipes/crushing/crushed_salt.json +++ b/src/main/resources/data/garnished/recipes/crushing/crushed_salt.json @@ -5,7 +5,7 @@ "item": "create:limestone" } ], - "processingTime": 150, + "processingTime": 200, "results": [ { "count": 1, @@ -17,7 +17,7 @@ "count": 2 }, { - "chance": 0.10, + "chance": 0.05, "item": "create:zinc_nugget", "count": 2 } diff --git a/src/main/resources/data/garnished/recipes/crushing/cyan_dye.json b/src/main/resources/data/garnished/recipes/crushing/cyan_dye.json new file mode 100644 index 00000000..8ef763e7 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/cyan_dye.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:pansophical_daisy" + } + ], + "processingTime": 150, + "results": [ + { + "count": 2, + "item": "garnished:pansophical_petal" + }, + { + "chance": 0.45, + "item": "minecraft:cyan_dye", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/cyan_dye_from_petal.json b/src/main/resources/data/garnished/recipes/crushing/cyan_dye_from_petal.json new file mode 100644 index 00000000..7ce7eecd --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/cyan_dye_from_petal.json @@ -0,0 +1,15 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:pansophical_petal" + } + ], + "processingTime": 150, + "results": [ + { + "count": 1, + "item": "minecraft:cyan_dye" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/ender_dragon_egg_shell.json b/src/main/resources/data/garnished/recipes/crushing/ender_dragon_egg_shell.json new file mode 100644 index 00000000..f2f688c1 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/ender_dragon_egg_shell.json @@ -0,0 +1,24 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:dragon_egg" + } + ], + "processingTime": 250, + "results": [ + { + "count": 1, + "item": "garnished:ender_egg_shell" + }, + { + "count": 1, + "item": "garnished:frail_ender_egg_shell" + }, + { + "count": 3, + "item": "garnished:dimmed_scale", + "chance": 0.20 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/orange_dye.json b/src/main/resources/data/garnished/recipes/crushing/orange_dye.json new file mode 100644 index 00000000..5e3710b4 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/orange_dye.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:incandescent_lily" + } + ], + "processingTime": 150, + "results": [ + { + "count": 2, + "item": "garnished:incandescent_petal" + }, + { + "chance": 0.45, + "item": "minecraft:red_dye", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/orange_dye_from_petal.json b/src/main/resources/data/garnished/recipes/crushing/orange_dye_from_petal.json new file mode 100644 index 00000000..1f86788f --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/orange_dye_from_petal.json @@ -0,0 +1,15 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:incandescent_petal" + } + ], + "processingTime": 150, + "results": [ + { + "count": 1, + "item": "minecraft:red_dye" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_irate_tusk.json b/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_irate_tusk.json new file mode 100644 index 00000000..b37481bf --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_irate_tusk.json @@ -0,0 +1,25 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:irate_tusk" + } + ], + "processingTime": 150, + "results": [ + { + "count": 6, + "item": "garnished:senile_bone" + }, + { + "chance": 0.45, + "item": "garnished:senile_bone", + "count": 4 + }, + { + "chance": 0.15, + "item": "garnished:senile_dust", + "count": 3 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_tusk.json b/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_tusk.json new file mode 100644 index 00000000..a6878859 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/crushing/senile_bone_from_tusk.json @@ -0,0 +1,25 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "garnished:tusk" + } + ], + "processingTime": 150, + "results": [ + { + "count": 3, + "item": "garnished:senile_bone" + }, + { + "chance": 0.45, + "item": "garnished:senile_bone", + "count": 2 + }, + { + "chance": 0.15, + "item": "garnished:senile_dust", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/deploying/sturdy_waffle.json b/src/main/resources/data/garnished/recipes/deploying/sturdy_waffle.json index 543c4369..1d9341bf 100644 --- a/src/main/resources/data/garnished/recipes/deploying/sturdy_waffle.json +++ b/src/main/resources/data/garnished/recipes/deploying/sturdy_waffle.json @@ -2,7 +2,7 @@ "type": "create:deploying", "ingredients": [ { - "tag": "forge:dough" + "tag": "c:dough" }, { "item": "create:sturdy_sheet" diff --git a/src/main/resources/data/garnished/recipes/dye_blowing/green/slime_ball.json b/src/main/resources/data/garnished/recipes/dye_blowing/green/slime_ball.json new file mode 100644 index 00000000..7a577327 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/dye_blowing/green/slime_ball.json @@ -0,0 +1,14 @@ +{ + "type": "garnished:green_dye_blowing", + "ingredients": [ + { + "tag": "c:dough" + } + ], + "results": [ + { + "item": "minecraft:slime_ball", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/dye_blowing/red/cinder_flour.json b/src/main/resources/data/garnished/recipes/dye_blowing/red/cinder_flour.json new file mode 100644 index 00000000..3d267bec --- /dev/null +++ b/src/main/resources/data/garnished/recipes/dye_blowing/red/cinder_flour.json @@ -0,0 +1,14 @@ +{ + "type": "garnished:red_dye_blowing", + "ingredients": [ + { + "item": "garnished:torrid_blend" + } + ], + "results": [ + { + "item": "create:cinder_flour", + "count": 1 + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/emptying/apple_cider.json b/src/main/resources/data/garnished/recipes/emptying/apple_cider.json index a43c0a34..63645e8b 100644 --- a/src/main/resources/data/garnished/recipes/emptying/apple_cider.json +++ b/src/main/resources/data/garnished/recipes/emptying/apple_cider.json @@ -10,7 +10,7 @@ "item": "minecraft:glass_bottle" }, { - "amount": 27000, + "amount": 20250, "fluid": "garnished:apple_cider" } ] diff --git a/src/main/resources/data/garnished/recipes/emptying/dragon_breath.json b/src/main/resources/data/garnished/recipes/emptying/dragon_breath.json new file mode 100644 index 00000000..129cc361 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/emptying/dragon_breath.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "minecraft:dragon_breath" + } + ], + "results": [ + { + "item": "minecraft:glass_bottle" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/emptying/peanut_oil.json b/src/main/resources/data/garnished/recipes/emptying/peanut_oil.json index 4fda7f35..1bf6573c 100644 --- a/src/main/resources/data/garnished/recipes/emptying/peanut_oil.json +++ b/src/main/resources/data/garnished/recipes/emptying/peanut_oil.json @@ -10,7 +10,7 @@ "item": "minecraft:glass_bottle" }, { - "amount": 27000, + "amount": 20250, "fluid": "garnished:peanut_oil" } ] diff --git a/src/main/resources/data/garnished/recipes/emptying/sweet_tea.json b/src/main/resources/data/garnished/recipes/emptying/sweet_tea.json new file mode 100644 index 00000000..cb3a904e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/emptying/sweet_tea.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "garnished:sweet_tea" + } + ], + "results": [ + { + "item": "minecraft:glass_bottle" + }, + { + "amount": 20250, + "fluid": "garnished:sweet_tea" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/explorers_concoction.json b/src/main/resources/data/garnished/recipes/explorers_concoction.json index d7135a4b..f85d40e3 100644 --- a/src/main/resources/data/garnished/recipes/explorers_concoction.json +++ b/src/main/resources/data/garnished/recipes/explorers_concoction.json @@ -4,6 +4,9 @@ { "item": "minecraft:bowl" }, + { + "item": "garnished:torrid_blend" + }, { "item": "garnished:cosmic_powder" }, diff --git a/src/main/resources/data/garnished/recipes/farseer_brew.json b/src/main/resources/data/garnished/recipes/farseer_brew.json new file mode 100644 index 00000000..43821984 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/farseer_brew.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:bowl" + }, + { + "item": "minecraft:dragon_breath" + }, + { + "item": "garnished:preliminary_nucleus" + }, + { + "item": "garnished:aureate_shrub" + }, + { + "item": "garnished:vex_wing" + } + ], + "result": { + "item": "garnished:farseer_brew" + } +} diff --git a/src/main/resources/data/garnished/recipes/filling/apple_cider.json b/src/main/resources/data/garnished/recipes/filling/apple_cider.json index 73aff7f7..10e715e5 100644 --- a/src/main/resources/data/garnished/recipes/filling/apple_cider.json +++ b/src/main/resources/data/garnished/recipes/filling/apple_cider.json @@ -5,7 +5,7 @@ "item": "minecraft:glass_bottle" }, { - "amount": 27000, + "amount": 20250, "fluid": "garnished:apple_cider", "nbt": {} } diff --git a/src/main/resources/data/garnished/recipes/filling/peanut_oil.json b/src/main/resources/data/garnished/recipes/filling/peanut_oil.json index 1b579fa6..3982a71e 100644 --- a/src/main/resources/data/garnished/recipes/filling/peanut_oil.json +++ b/src/main/resources/data/garnished/recipes/filling/peanut_oil.json @@ -5,7 +5,7 @@ "item": "minecraft:glass_bottle" }, { - "amount": 27000, + "amount": 20250, "fluid": "garnished:peanut_oil", "nbt": {} } diff --git a/src/main/resources/data/garnished/recipes/filling/sweet_tea.json b/src/main/resources/data/garnished/recipes/filling/sweet_tea.json new file mode 100644 index 00000000..347c5682 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/sweet_tea.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "amount": 20250, + "fluid": "garnished:sweet_tea", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:sweet_tea" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/base.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/base.json new file mode 100644 index 00000000..761e80a6 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/base.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks.json new file mode 100644 index 00000000..e6f89fd9 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_bricks" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_bricks" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_slab.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_slab.json new file mode 100644 index 00000000..d0380f30 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_slab.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_bricks_slab" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_bricks_slab" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_stairs.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_stairs.json new file mode 100644 index 00000000..115a1f19 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_bricks_stairs" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_bricks_stairs" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_wall.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_wall.json new file mode 100644 index 00000000..58f28983 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/bricks_wall.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_bricks_wall" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_bricks_wall" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/chiseled_bricks.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/chiseled_bricks.json new file mode 100644 index 00000000..94d36758 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/chiseled_bricks.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:chiseled_unstable_stone_bricks" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:chiseled_dragon_stone_bricks" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished.json new file mode 100644 index 00000000..f7f76142 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:polished_unstable_stone" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:polished_dragon_stone" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_slab.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_slab.json new file mode 100644 index 00000000..da7529a1 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_slab.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:polished_unstable_stone_slab" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:polished_dragon_stone_slab" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_stairs.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_stairs.json new file mode 100644 index 00000000..d554668d --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:polished_unstable_stone_stairs" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:polished_dragon_stone_stairs" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_wall.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_wall.json new file mode 100644 index 00000000..2faa1f22 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/polished_wall.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:polished_unstable_stone_wall" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:polished_dragon_stone_wall" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/slab.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/slab.json new file mode 100644 index 00000000..06d9ddbb --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/slab.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_slab" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_slab" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/stairs.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/stairs.json new file mode 100644 index 00000000..ff9b3ac0 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/stairs.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_stairs" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_stairs" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/filling/wyvern_stone/wall.json b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/wall.json new file mode 100644 index 00000000..d61a73db --- /dev/null +++ b/src/main/resources/data/garnished/recipes/filling/wyvern_stone/wall.json @@ -0,0 +1,18 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:unstable_stone_wall" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:dragon_stone_wall" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/freezing/minecraft/sugar_from_void_dust.json.json b/src/main/resources/data/garnished/recipes/freezing/minecraft/sugar_from_garnish_powder.json similarity index 100% rename from src/main/resources/data/garnished/recipes/freezing/minecraft/sugar_from_void_dust.json.json rename to src/main/resources/data/garnished/recipes/freezing/minecraft/sugar_from_garnish_powder.json diff --git a/src/main/resources/data/garnished/recipes/haunting/dragon_breath.json b/src/main/resources/data/garnished/recipes/haunting/dragon_breath.json new file mode 100644 index 00000000..2e17c1df --- /dev/null +++ b/src/main/resources/data/garnished/recipes/haunting/dragon_breath.json @@ -0,0 +1,13 @@ +{ + "type": "create:haunting", + "ingredients": [ + { + "item": "garnished:crestfallen_flora" + } + ], + "results": [ + { + "item": "minecraft:dragon_breath" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/iniquitous_brew.json b/src/main/resources/data/garnished/recipes/iniquitous_brew.json new file mode 100644 index 00000000..4b6056dc --- /dev/null +++ b/src/main/resources/data/garnished/recipes/iniquitous_brew.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:bowl" + }, + { + "item": "garnished:incandescent_petal" + }, + { + "item": "garnished:incandescent_lily" + }, + { + "item": "garnished:incandescent_lily" + }, + { + "item": "minecraft:crimson_roots" + }, + { + "item": "minecraft:crimson_roots" + } + ], + "result": { + "item": "garnished:iniquitous_brew" + } +} diff --git a/src/main/resources/data/garnished/recipes/integration/cutting/anniversary_cake_slice.json b/src/main/resources/data/garnished/recipes/integration/cutting/anniversary_cake_slice.json new file mode 100644 index 00000000..82691b40 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/integration/cutting/anniversary_cake_slice.json @@ -0,0 +1,25 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "farmersdelight" + ] + } + ], + "type": "farmersdelight:cutting", + "ingredients": [ + { + "item": "garnished:anniversary_cake" + } + ], + "result": [ + { + "count": 8, + "item": "garnished:anniversary_cake_slice" + } + ], + "tool": { + "tag": "forge:tools/knives" + } +} diff --git a/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_irate_tusk.json b/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_irate_tusk.json new file mode 100644 index 00000000..a794f092 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_irate_tusk.json @@ -0,0 +1,25 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "farmersdelight" + ] + } + ], + "type": "farmersdelight:cutting", + "ingredients": [ + { + "item": "minecraft:irate_tusk" + } + ], + "result": [ + { + "count": 12, + "item": "garnished:senile_bone" + } + ], + "tool": { + "tag": "forge:tools/hatchets" + } +} diff --git a/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_tusk.json b/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_tusk.json new file mode 100644 index 00000000..e7fb2e63 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/integration/cutting/senile_bone_from_tusk.json @@ -0,0 +1,25 @@ +{ + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "farmersdelight" + ] + } + ], + "type": "farmersdelight:cutting", + "ingredients": [ + { + "item": "minecraft:tusk" + } + ], + "result": [ + { + "count": 6, + "item": "garnished:senile_bone" + } + ], + "tool": { + "tag": "forge:tools/hatchets" + } +} diff --git a/src/main/resources/data/garnished/recipes/malodorous_mixture.json b/src/main/resources/data/garnished/recipes/malodorous_mixture.json new file mode 100644 index 00000000..2dead4eb --- /dev/null +++ b/src/main/resources/data/garnished/recipes/malodorous_mixture.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "garnished:torrid_blend" + }, + { + "item": "create:cinder_flour" + }, + { + "item": "garnished:molten_remnant" + }, + { + "item": "minecraft:bone" + } + ], + "result": { + "item": "garnished:malodorous_mixture" + } +} diff --git a/src/main/resources/data/garnished/recipes/mechanical_crafting/anniversary_cake.json b/src/main/resources/data/garnished/recipes/mechanical_crafting/anniversary_cake.json new file mode 100644 index 00000000..81ce7920 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/mechanical_crafting/anniversary_cake.json @@ -0,0 +1,35 @@ +{ + "type": "create:mechanical_crafting", + "acceptMirrored": true, + "key": { + "X": { + "item": "minecraft:sugar" + }, + "A": { + "item": "garnished:venerable_dough" + }, + "B": { + "tag": "garnished:mastic_paste" + }, + "C": { + "item": "garnished:bok_choy" + }, + "D": { + "item": "garnished:vex_wing" + }, + "E": { + "item": "garnished:torrid_blend" + } + }, + "pattern": [ + " X ", + " A ", + " BXB ", + " ADA ", + "BXXXB", + "ACECA" + ], + "result": { + "item": "garnished:anniversary_cake" + } +} diff --git a/src/main/resources/data/garnished/recipes/mechanical_crafting/blazing_delight.json b/src/main/resources/data/garnished/recipes/mechanical_crafting/blazing_delight.json index a828364d..bd606f2d 100644 --- a/src/main/resources/data/garnished/recipes/mechanical_crafting/blazing_delight.json +++ b/src/main/resources/data/garnished/recipes/mechanical_crafting/blazing_delight.json @@ -11,13 +11,19 @@ "C": { "item": "garnished:crushed_shroomlight" }, + "D": { + "item": "garnished:malodorous_mixture" + }, + "E": { + "item": "garnished:torrid_blend" + }, "#": { "tag": "garnished:crimson_tusks" } }, "pattern": [ "BAC", - " # " + "D#E" ], "result": { "item": "garnished:blazing_delight" diff --git a/src/main/resources/data/garnished/recipes/mechanical_crafting/ghandercken.json b/src/main/resources/data/garnished/recipes/mechanical_crafting/ghandercken.json index 13362019..ec72ec72 100644 --- a/src/main/resources/data/garnished/recipes/mechanical_crafting/ghandercken.json +++ b/src/main/resources/data/garnished/recipes/mechanical_crafting/ghandercken.json @@ -8,6 +8,9 @@ "B": { "item": "garnished:ghast_tendril" }, + "C": { + "item": "garnished:torrid_blend" + }, "X": { "item": "minecraft:cooked_chicken" }, @@ -17,7 +20,7 @@ }, "pattern": [ "AXA", - "B# " + "B#C" ], "result": { "count": 1, diff --git a/src/main/resources/data/garnished/recipes/milling/bok_choy.json b/src/main/resources/data/garnished/recipes/milling/bok_choy.json new file mode 100644 index 00000000..8e61f847 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/milling/bok_choy.json @@ -0,0 +1,15 @@ +{ + "type": "create:milling", + "ingredients": [ + { + "item": "garnished:bok_choy" + } + ], + "processingTime": 50, + "results": [ + { + "count": 1, + "item": "garnished:bok_choy_seeds" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/milling/brittle_dust_from_basalt.json b/src/main/resources/data/garnished/recipes/milling/brittle_dust_from_basalt.json new file mode 100644 index 00000000..6c33400a --- /dev/null +++ b/src/main/resources/data/garnished/recipes/milling/brittle_dust_from_basalt.json @@ -0,0 +1,29 @@ +{ + "type": "create:milling", + "ingredients": [ + [ + { + "item": "minecraft:basalt" + }, + { + "item": "minecraft:smooth_basalt" + }, + { + "item": "minecraft:polished_basalt" + } + ] + ], + "processingTime": 150, + "results": [ + { + "chance": 0.85, + "item": "garnished:brittle_dust", + "count": 1 + }, + { + "chance": 0.45, + "item": "garnished:brittle_dust", + "count": 1 + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/milling/crushed_salt.json b/src/main/resources/data/garnished/recipes/milling/crushed_salt.json index c472526a..1a4f7614 100644 --- a/src/main/resources/data/garnished/recipes/milling/crushed_salt.json +++ b/src/main/resources/data/garnished/recipes/milling/crushed_salt.json @@ -5,7 +5,7 @@ "item": "create:limestone" } ], - "processingTime": 150, + "processingTime": 200, "results": [ { "count": 1, @@ -14,12 +14,7 @@ { "chance": 0.10, "item": "minecraft:iron_nugget", - "count": 2 - }, - { - "chance": 0.10, - "item": "create:zinc_nugget", - "count": 2 + "count": 1 } ] } diff --git a/src/main/resources/data/garnished/recipes/mixing/piquant_pretzel.json b/src/main/resources/data/garnished/recipes/mixing/piquant_pretzel.json new file mode 100644 index 00000000..9ebb8845 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/mixing/piquant_pretzel.json @@ -0,0 +1,32 @@ +{ + "type": "create:mixing", + "heatRequirement": "heated", + "ingredients": [ + { + "item": "garnished:torrid_blend" + }, + { + "item": "garnished:torrid_blend" + }, + { + "item": "garnished:malodorous_mixture" + }, + { + "item": "garnished:malodorous_mixture" + }, + { + "item": "garnished:salt_compound" + }, + { + "item": "garnished:garnish_powder" + }, + { + "item": "garnished:incandescent_petal" + } + ], + "results": [ + { + "item": "garnished:piquant_pretzel" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/mixing/shelled_dumpling.json b/src/main/resources/data/garnished/recipes/mixing/shelled_dumpling.json new file mode 100644 index 00000000..0f8a97aa --- /dev/null +++ b/src/main/resources/data/garnished/recipes/mixing/shelled_dumpling.json @@ -0,0 +1,29 @@ +{ + "type": "create:mixing", + "heatRequirement": "heated", + "ingredients": [ + { + "item": "minecraft:shulker_shell" + }, + { + "item": "garnished:void_dust" + }, + { + "item": "garnished:void_dust" + }, + { + "item": "garnished:ender_jelly" + }, + { + "item": "garnished:ender_jelly" + }, + { + "item": "garnished:preliminary_nucleus" + } + ], + "results": [ + { + "item": "garnished:shelled_dumpling" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/mixing/sweet_tea.json b/src/main/resources/data/garnished/recipes/mixing/sweet_tea.json new file mode 100644 index 00000000..6159d875 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/mixing/sweet_tea.json @@ -0,0 +1,26 @@ +{ + "type": "create:mixing", + "heatRequirement": "heated", + "ingredients": [ + { + "item": "garnished:bok_choy" + }, + { + "item": "garnished:sugar_cube" + }, + { + "item": "garnished:sugar_cube" + }, + { + "amount": 20250, + "fluid": "create:tea", + "nbt": {} + } + ], + "results": [ + { + "amount": 250, + "fluid": "garnished:sweet_tea" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/mixing/torrid_blend.json b/src/main/resources/data/garnished/recipes/mixing/torrid_blend.json new file mode 100644 index 00000000..3904f36e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/mixing/torrid_blend.json @@ -0,0 +1,17 @@ +{ + "type": "create:mixing", + "heatRequirement": "heated", + "ingredients": [ + { + "item": "garnished:brittle_dust" + }, + { + "item": "garnished:senile_dust" + } + ], + "results": [ + { + "item": "garnished:torrid_blend" + } + ] +} diff --git a/src/main/resources/data/garnished/recipes/molten_stew.json b/src/main/resources/data/garnished/recipes/molten_stew.json index 7d7db874..91681c13 100644 --- a/src/main/resources/data/garnished/recipes/molten_stew.json +++ b/src/main/resources/data/garnished/recipes/molten_stew.json @@ -4,6 +4,9 @@ { "item": "minecraft:bowl" }, + { + "item": "garnished:torrid_blend" + }, { "item": "garnished:molten_remnant" }, diff --git a/src/main/resources/data/garnished/recipes/nopalito_wrap_supreme.json b/src/main/resources/data/garnished/recipes/nopalito_wrap_supreme.json index 13a1a620..48afcd40 100644 --- a/src/main/resources/data/garnished/recipes/nopalito_wrap_supreme.json +++ b/src/main/resources/data/garnished/recipes/nopalito_wrap_supreme.json @@ -20,7 +20,7 @@ "item": "garnished:prickly_pear" }, { - "item": "garnished:prickly_pear" + "item": "garnished:torrid_blend" }, { "item": "garnished:solemn_dust" diff --git a/src/main/resources/data/garnished/recipes/omniscient_stew.json b/src/main/resources/data/garnished/recipes/omniscient_stew.json new file mode 100644 index 00000000..8dc8da36 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/omniscient_stew.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:bowl" + }, + { + "item": "garnished:pansophical_petal" + }, + { + "item": "garnished:pansophical_petal" + }, + { + "item": "garnished:fiendish_spore" + }, + { + "item": "garnished:senile_bone" + } + ], + "result": { + "item": "garnished:omniscient_stew" + } +} diff --git a/src/main/resources/data/garnished/recipes/senile_bone_block.json b/src/main/resources/data/garnished/recipes/senile_bone_block.json new file mode 100644 index 00000000..07999d3c --- /dev/null +++ b/src/main/resources/data/garnished/recipes/senile_bone_block.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###", + "###", + "###" + ], + "key": { + "#": { + "item": "garnished:senile_spread" + } + }, + "result": { + "item": "garnished:senile_bone_block", + "count": 1 + } +} diff --git a/src/main/resources/data/garnished/recipes/senile_spread.json b/src/main/resources/data/garnished/recipes/senile_spread.json new file mode 100644 index 00000000..3ae84141 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/senile_spread.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "garnished:senile_bone" + } + ], + "result": { + "item": "garnished:senile_spread", + "count": 3 + } +} diff --git a/src/main/resources/data/garnished/recipes/senile_spread_from_senile_bone_block.json b/src/main/resources/data/garnished/recipes/senile_spread_from_senile_bone_block.json new file mode 100644 index 00000000..eedb0c94 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/senile_spread_from_senile_bone_block.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "garnished:senile_bone_block" + } + ], + "result": { + "item": "garnished:senile_spread", + "count": 9 + } +} diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/champion_omelette.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/champion_omelette.json new file mode 100644 index 00000000..78e09323 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/champion_omelette.json @@ -0,0 +1,96 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "garnished:ender_egg_shell" + }, + "loops": 2, + "results": [ + { + "item": "garnished:champion_omelette" + } + ], + "sequence": [ + { + "type": "create:pressing", + "ingredients": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ], + "results": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_champion_omelette" + }, + { + "item": "garnished:crushed_ender_pearl" + } + ], + "results": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_champion_omelette" + }, + { + "item": "garnished:dimmed_scale" + } + ], + "results": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_champion_omelette" + }, + { + "item": "garnished:pansophical_petal" + } + ], + "results": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ] + }, + { + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:incomplete_champion_omelette" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:incomplete_champion_omelette" + } + ] + } + ], + "transitionalItem": { + "item": "garnished:incomplete_champion_omelette" + } +} diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/cinder_roll.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/cinder_roll.json index 19ead7eb..28938ae7 100644 --- a/src/main/resources/data/garnished/recipes/sequenced_assembly/cinder_roll.json +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/cinder_roll.json @@ -1,7 +1,7 @@ { "type": "create:sequenced_assembly", "ingredient": { - "item": "minecraft:netherrack" + "item": "garnished:malodorous_mixture" }, "loops": 1, "results": [ @@ -26,6 +26,22 @@ } ] }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_cinder_roll" + }, + { + "item": "garnished:torrid_blend" + } + ], + "results": [ + { + "item": "garnished:incomplete_cinder_roll" + } + ] + }, { "type": "create:pressing", "ingredients": [ @@ -46,7 +62,7 @@ "item": "garnished:incomplete_cinder_roll" }, { - "tag": "c:ender_dusts" + "tag": "forge:ender_dusts" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/crimson_tusk.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/crimson_tusk.json index 4f836847..1c536ef2 100644 --- a/src/main/resources/data/garnished/recipes/sequenced_assembly/crimson_tusk.json +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/crimson_tusk.json @@ -1,7 +1,7 @@ { "type": "create:sequenced_assembly", "ingredient": { - "item": "garnished:senile_dust" + "item": "garnished:tusk" }, "loops": 1, "results": [ @@ -11,23 +11,13 @@ ], "sequence": [ { - "type": "create:pressing", + "type": "create:deploying", "ingredients": [ { "item": "garnished:incomplete_crimson_tusk" - } - ], - "results": [ - { - "item": "garnished:incomplete_crimson_tusk" - } - ] - }, - { - "type": "create:pressing", - "ingredients": [ + }, { - "item": "garnished:incomplete_crimson_tusk" + "item": "garnished:crushed_crimson_fungus" } ], "results": [ @@ -59,7 +49,7 @@ "item": "garnished:incomplete_crimson_tusk" }, { - "item": "garnished:crushed_crimson_fungus" + "item": "garnished:incandescent_petal" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/ender_dragon_egg.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/ender_dragon_egg.json new file mode 100644 index 00000000..6c88c5c3 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/ender_dragon_egg.json @@ -0,0 +1,51 @@ +{ + "type": "create:sequenced_assembly", + "ingredient": { + "item": "garnished:frail_ender_egg_shell" + }, + "loops": 10, + "results": [ + { + "item": "minecraft:dragon_egg" + } + ], + "sequence": [ + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_ender_dragon_egg" + }, + { + "item": "garnished:crushed_ender_pearl" + } + ], + "results": [ + { + "item": "garnished:incomplete_ender_dragon_egg" + } + ] + }, + { + "type": "create:filling", + "ingredients": [ + { + "item": "garnished:incomplete_ender_dragon_egg" + }, + { + "amount": 20250, + "fluid": "garnished:dragon_breath", + "nbt": {} + } + ], + "results": [ + { + "item": "garnished:incomplete_ender_dragon_egg" + } + ] + } + ], + "transitionalItem": { + "item": "garnished:incomplete_ender_dragon_egg" + } +} diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_crimson_tangle.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_crimson_tangle.json index ef29bb93..180f545e 100644 --- a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_crimson_tangle.json +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_crimson_tangle.json @@ -33,7 +33,23 @@ "item": "garnished:incomplete_tangle" }, { - "tag": "c:cheese" + "item": "garnished:incandescent_petal" + } + ], + "results": [ + { + "item": "garnished:incomplete_tangle" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_tangle" + }, + { + "item": "garnished:almond_cheese" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_sepia_tangle.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_sepia_tangle.json index 160f453b..007b3777 100644 --- a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_sepia_tangle.json +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_sepia_tangle.json @@ -33,7 +33,23 @@ "item": "garnished:incomplete_tangle" }, { - "tag": "c:cheese" + "item": "garnished:soul_roots" + } + ], + "results": [ + { + "item": "garnished:incomplete_tangle" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_tangle" + }, + { + "item": "garnished:almond_cheese" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_warped_tangle.json b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_warped_tangle.json index e5536ab3..d3076dce 100644 --- a/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_warped_tangle.json +++ b/src/main/resources/data/garnished/recipes/sequenced_assembly/wrapped_warped_tangle.json @@ -33,7 +33,23 @@ "item": "garnished:incomplete_tangle" }, { - "tag": "c:cheese" + "item": "garnished:pansophical_petal" + } + ], + "results": [ + { + "item": "garnished:incomplete_tangle" + } + ] + }, + { + "type": "create:deploying", + "ingredients": [ + { + "item": "garnished:incomplete_tangle" + }, + { + "item": "garnished:almond_cheese" } ], "results": [ diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/chiseled_wyvern_stone.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/chiseled_wyvern_stone.json new file mode 100644 index 00000000..df448e85 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/chiseled_wyvern_stone.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "#", + "#" + ], + "key": { + "#": { + "item": "garnished:polished_dragon_stone_slab" + } + }, + "result": { + "item": "garnished:chiseled_dragon_stone_bricks" + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone.json new file mode 100644 index 00000000..16f87221 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "##", + "##" + ], + "key": { + "#": { + "item": "garnished:dragon_stone" + } + }, + "result": { + "item": "garnished:polished_dragon_stone", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_slab.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_slab.json new file mode 100644 index 00000000..d320298f --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "garnished:polished_dragon_stone" + } + }, + "result": { + "item": "garnished:polished_dragon_stone_slab", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_stairs.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_stairs.json new file mode 100644 index 00000000..b12b219a --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": { + "item": "garnished:polished_dragon_stone" + } + }, + "result": { + "item": "garnished:polished_dragon_stone_stairs", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_wall.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_wall.json new file mode 100644 index 00000000..5813306c --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/polished_wyvern_stone_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "garnished:polished_dragon_stone" + } + }, + "result": { + "item": "garnished:polished_dragon_stone_wall", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone.json new file mode 100644 index 00000000..f241b72e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone.json @@ -0,0 +1,9 @@ +{ + "type": "minecraft:smelting", + "ingredient": { + "item": "garnished:dragon_stone" + }, + "result": "garnished:smooth_dragon_stone", + "experience": 0.1, + "cookingtime": 200 +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_slab.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_slab.json new file mode 100644 index 00000000..6fcf5bd4 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "garnished:smooth_dragon_stone" + } + }, + "result": { + "item": "garnished:smooth_dragon_stone_slab", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_stairs.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_stairs.json new file mode 100644 index 00000000..88175546 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": { + "item": "garnished:smooth_dragon_stone" + } + }, + "result": { + "item": "garnished:smooth_dragon_stone_stairs", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_wall.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_wall.json new file mode 100644 index 00000000..5818db0e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/smooth_wyvern_stone_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "garnished:smooth_dragon_stone" + } + }, + "result": { + "item": "garnished:smooth_dragon_stone_wall", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks.json new file mode 100644 index 00000000..58b2f37c --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "##", + "##" + ], + "key": { + "#": { + "item": "garnished:polished_dragon_stone" + } + }, + "result": { + "item": "garnished:dragon_stone_bricks", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_slab.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_slab.json new file mode 100644 index 00000000..a6da192e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone_bricks" + } + }, + "result": { + "item": "garnished:dragon_stone_bricks_slab", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_stairs.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_stairs.json new file mode 100644 index 00000000..e6f64221 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone_bricks" + } + }, + "result": { + "item": "garnished:dragon_stone_bricks_stairs", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_wall.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_wall.json new file mode 100644 index 00000000..87fd3f25 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_bricks_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone_bricks" + } + }, + "result": { + "item": "garnished:dragon_stone_bricks_wall", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_slab.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_slab.json new file mode 100644 index 00000000..998a10b3 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_slab.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone" + } + }, + "result": { + "item": "garnished:dragon_stone_slab", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_stairs.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_stairs.json new file mode 100644 index 00000000..6d29473a --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_stairs.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone" + } + }, + "result": { + "item": "garnished:dragon_stone_stairs", + "count": 4 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_wall.json b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_wall.json new file mode 100644 index 00000000..85c1017d --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone/wyvern_stone/wyvern_stone_wall.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "dragon_stone_variants", + "pattern": [ + "###", + "###" + ], + "key": { + "#": { + "item": "garnished:dragon_stone" + } + }, + "result": { + "item": "garnished:dragon_stone_wall", + "count": 6 + } +} diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/base_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/base_from_stonecutting.json new file mode 100644 index 00000000..ce3c1200 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/base_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_from_stonecutting.json new file mode 100644 index 00000000..ccdd5b86 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_bricks" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_slab_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_slab_from_stonecutting.json new file mode 100644 index 00000000..50cbd377 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_slab_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_bricks_slab" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_stairs_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_stairs_from_stonecutting.json new file mode 100644 index 00000000..98ea1c08 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_stairs_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_bricks_stairs" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_wall_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_wall_from_stonecutting.json new file mode 100644 index 00000000..9f7ccafe --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/bricks_wall_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_bricks_wall" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/chiseled_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/chiseled_from_stonecutting.json new file mode 100644 index 00000000..f8c7b878 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/chiseled_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:chiseled_dragon_stone_bricks" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_from_stonecutting.json new file mode 100644 index 00000000..122c1367 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:polished_dragon_stone" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_slab_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_slab_from_stonecutting.json new file mode 100644 index 00000000..d7d73b5a --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_slab_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:polished_dragon_stone_slab" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_stairs_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_stairs_from_stonecutting.json new file mode 100644 index 00000000..60256782 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_stairs_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:polished_dragon_stone_stairs" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_wall_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_wall_from_stonecutting.json new file mode 100644 index 00000000..e8c44e52 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/polished_wall_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:polished_dragon_stone_wall" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/slab_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/slab_from_stonecutting.json new file mode 100644 index 00000000..37224932 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/slab_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_slab" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_from_stonecutting.json new file mode 100644 index 00000000..d8df1b5e --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:smooth_dragon_stone" +} diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_slab_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_slab_from_stonecutting.json new file mode 100644 index 00000000..79e663b4 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_slab_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:smooth_dragon_stone_slab" +} diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_stairs_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_stairs_from_stonecutting.json new file mode 100644 index 00000000..dc1aa4f0 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_stairs_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:smooth_dragon_stone_stairs" +} diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_wall_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_wall_from_stonecutting.json new file mode 100644 index 00000000..7613cf33 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/smooth_wall_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:smooth_dragon_stone_wall" +} diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/stairs_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/stairs_from_stonecutting.json new file mode 100644 index 00000000..24b289ff --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/stairs_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_stairs" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/wall_from_stonecutting.json b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/wall_from_stonecutting.json new file mode 100644 index 00000000..185a7154 --- /dev/null +++ b/src/main/resources/data/garnished/recipes/stone_cutting/wyvern_stone/wall_from_stonecutting.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "count": 1, + "ingredient": { + "tag": "garnished:stone_types/dragon_stone" + }, + "result": "garnished:dragon_stone_wall" +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/recipes/warped_brew.json b/src/main/resources/data/garnished/recipes/warped_brew.json new file mode 100644 index 00000000..01db8ccb --- /dev/null +++ b/src/main/resources/data/garnished/recipes/warped_brew.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:bowl" + }, + { + "item": "garnished:pansophical_daisy" + }, + { + "item": "garnished:pansophical_petal" + }, + { + "item": "garnished:crushed_warped_fungus" + }, + { + "item": "garnished:crushed_warped_fungus" + }, + { + "item": "minecraft:warped_fungus" + } + ], + "result": { + "item": "garnished:warped_brew" + } +} diff --git a/src/main/resources/data/garnished/tags/blocks/stone_types/dragon_stone.json b/src/main/resources/data/garnished/tags/blocks/stone_types/dragon_stone.json new file mode 100644 index 00000000..03b9d14f --- /dev/null +++ b/src/main/resources/data/garnished/tags/blocks/stone_types/dragon_stone.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "garnished:dragon_stone", + "garnished:dragon_stone_slab", + "garnished:dragon_stone_stairs", + "garnished:dragon_stone_wall", + "garnished:dragon_stone_bricks", + "garnished:polished_dragon_stone", + "garnished:chiseled_dragon_stone_bricks", + "garnished:smooth_dragon_stone", + "garnished:polished_dragon_stone_stairs", + "garnished:dragon_stone_bricks_stairs", + "garnished:smooth_dragon_stone_stairs", + "garnished:polished_dragon_stone_slab", + "garnished:dragon_stone_bricks_slab", + "garnished:smooth_dragon_stone_slab", + "garnished:polished_dragon_stone_wall", + "garnished:dragon_stone_bricks_wall", + "garnished:smooth_dragon_stone_wall" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/tags/fluids/dragon_breath.json b/src/main/resources/data/garnished/tags/fluids/dragon_breath.json new file mode 100644 index 00000000..861872bc --- /dev/null +++ b/src/main/resources/data/garnished/tags/fluids/dragon_breath.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "garnished:flowing_dragon_breath", + "garnished:dragon_breath" + ] +} diff --git a/src/main/resources/data/garnished/tags/fluids/fluids.json b/src/main/resources/data/garnished/tags/fluids/fluids.json index c16ba141..77ec88f4 100644 --- a/src/main/resources/data/garnished/tags/fluids/fluids.json +++ b/src/main/resources/data/garnished/tags/fluids/fluids.json @@ -5,6 +5,8 @@ "#garnished:liquid_garnish", "#garnished:peanut_oil", "#garnished:cashew_mixture", - "#garnished:mastic_resin" + "#garnished:mastic_resin", + "#garnished:dragon_breath", + "#garnished:sweet_tea" ] } diff --git a/src/main/resources/data/garnished/tags/fluids/sweet_tea.json b/src/main/resources/data/garnished/tags/fluids/sweet_tea.json new file mode 100644 index 00000000..d69b746a --- /dev/null +++ b/src/main/resources/data/garnished/tags/fluids/sweet_tea.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "garnished:flowing_sweet_tea", + "garnished:sweet_tea" + ] +} diff --git a/src/main/resources/data/garnished/tags/items/bottled/apple_cider.json b/src/main/resources/data/garnished/tags/items/bottled/apple_cider.json index 31e201f6..2010ebdb 100644 --- a/src/main/resources/data/garnished/tags/items/bottled/apple_cider.json +++ b/src/main/resources/data/garnished/tags/items/bottled/apple_cider.json @@ -1,8 +1,6 @@ { "replace": false, "values": [ - "garnished:apple_cider", - "garnished:cryptic_apple_cider", - "garnished:bitter_apple_cider" + "#garnished:apple_cider" ] } diff --git a/src/main/resources/data/garnished/tags/items/stone_types/dragon_stone.json b/src/main/resources/data/garnished/tags/items/stone_types/dragon_stone.json new file mode 100644 index 00000000..03b9d14f --- /dev/null +++ b/src/main/resources/data/garnished/tags/items/stone_types/dragon_stone.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "garnished:dragon_stone", + "garnished:dragon_stone_slab", + "garnished:dragon_stone_stairs", + "garnished:dragon_stone_wall", + "garnished:dragon_stone_bricks", + "garnished:polished_dragon_stone", + "garnished:chiseled_dragon_stone_bricks", + "garnished:smooth_dragon_stone", + "garnished:polished_dragon_stone_stairs", + "garnished:dragon_stone_bricks_stairs", + "garnished:smooth_dragon_stone_stairs", + "garnished:polished_dragon_stone_slab", + "garnished:dragon_stone_bricks_slab", + "garnished:smooth_dragon_stone_slab", + "garnished:polished_dragon_stone_wall", + "garnished:dragon_stone_bricks_wall", + "garnished:smooth_dragon_stone_wall" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/aureate_shrub_configured.json b/src/main/resources/data/garnished/worldgen/configured_feature/aureate_shrub_configured.json new file mode 100644 index 00000000..8af045d4 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/aureate_shrub_configured.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 96, + "xz_spread": 7, + "y_spread": 3, + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "garnished:aureate_shrub" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/crimson_vegetation_spread.json b/src/main/resources/data/garnished/worldgen/configured_feature/crimson_vegetation_spread.json new file mode 100644 index 00000000..7e15d83c --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/crimson_vegetation_spread.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 96, + "xz_spread": 7, + "y_spread": 3, + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "weight": 4, + "data": { + "Name": "garnished:incandescent_lily" + } + }, + { + "weight": 2, + "data": { + "Name": "minecraft:crimson_roots" + } + }, + { + "weight": 1, + "data": { + "Name": "garnished:pansophical_daisy" + } + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_bonemeal.json b/src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_spread.json similarity index 85% rename from src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_bonemeal.json rename to src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_spread.json index 03468947..f0066a7c 100644 --- a/src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_bonemeal.json +++ b/src/main/resources/data/garnished/worldgen/configured_feature/end_stone_vegetation_spread.json @@ -22,6 +22,12 @@ "data": { "Name": "garnished:small_chorus_plant" } + }, + { + "weight": 4, + "data": { + "Name": "garnished:aureate_shrub" + } } ] } diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/incandescent_lily_configured.json b/src/main/resources/data/garnished/worldgen/configured_feature/incandescent_lily_configured.json new file mode 100644 index 00000000..4bba799f --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/incandescent_lily_configured.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 96, + "xz_spread": 7, + "y_spread": 3, + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "garnished:incandescent_lily" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/pansophical_daisy_configured.json b/src/main/resources/data/garnished/worldgen/configured_feature/pansophical_daisy_configured.json new file mode 100644 index 00000000..29b93629 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/pansophical_daisy_configured.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 96, + "xz_spread": 7, + "y_spread": 3, + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "garnished:pansophical_daisy" + } + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_basalt_deltas_configured.json b/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_basalt_deltas_configured.json new file mode 100644 index 00000000..5ca98f61 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_basalt_deltas_configured.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:multiface_growth", + "config": { + "block": "garnished:sorrowful_lichen", + "search_range": 25, + "chance_of_spreading": 0.35, + "can_place_on_floor": true, + "can_place_on_ceiling": true, + "can_place_on_wall": true, + "can_be_placed_on": [ + "minecraft:netherrack", + "minecraft:crimson_nylium", + "minecraft:warped_nylium", + "minecraft:basalt", + "minecraft:blackstone", + "minecraft:nether_bricks", + "minecraft:nether_wart_block", + "minecraft:warped_wart_block", + "minecraft:soul_sand", + "minecraft:soul_soil" + ] + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_configured.json b/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_configured.json new file mode 100644 index 00000000..2f240e7e --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/sorrowful_lichen_configured.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:multiface_growth", + "config": { + "block": "garnished:sorrowful_lichen", + "search_range": 45, + "chance_of_spreading": 0.65, + "can_place_on_floor": true, + "can_place_on_ceiling": true, + "can_place_on_wall": true, + "can_be_placed_on": [ + "minecraft:netherrack", + "minecraft:crimson_nylium", + "minecraft:warped_nylium", + "minecraft:basalt", + "minecraft:blackstone", + "minecraft:nether_bricks", + "minecraft:nether_wart_block", + "minecraft:warped_wart_block", + "minecraft:soul_sand", + "minecraft:soul_soil" + ] + } +} diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_bonemeal.json b/src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_spread.json similarity index 86% rename from src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_bonemeal.json rename to src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_spread.json index 08e0bce3..6b357223 100644 --- a/src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_bonemeal.json +++ b/src/main/resources/data/garnished/worldgen/configured_feature/soul_sand_vegetation_spread.json @@ -23,6 +23,12 @@ "Name": "minecraft:crimson_roots" } }, + { + "weight": 1, + "data": { + "Name": "garnished:incandescent_lily" + } + }, { "weight": 11, "data": { diff --git a/src/main/resources/data/garnished/worldgen/configured_feature/warped_vegetation_spread.json b/src/main/resources/data/garnished/worldgen/configured_feature/warped_vegetation_spread.json new file mode 100644 index 00000000..145195b2 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/configured_feature/warped_vegetation_spread.json @@ -0,0 +1,47 @@ +{ + "type": "minecraft:random_patch", + "config": { + "tries": 96, + "xz_spread": 7, + "y_spread": 3, + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "weight": 4, + "data": { + "Name": "garnished:pansophical_daisy" + } + }, + { + "weight": 2, + "data": { + "Name": "minecraft:warped_roots" + } + }, + { + "weight": 1, + "data": { + "Name": "garnished:incandescent_lily" + } + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] + } + } +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/aureate_shrub_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/aureate_shrub_placed.json new file mode 100644 index 00000000..a599d095 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/aureate_shrub_placed.json @@ -0,0 +1,20 @@ +{ + "feature": "garnished:aureate_shrub_configured", + "placement": [ + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/incandescent_lily_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/incandescent_lily_placed.json new file mode 100644 index 00000000..81f35d00 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/incandescent_lily_placed.json @@ -0,0 +1,20 @@ +{ + "feature": "garnished:incandescent_lily_configured", + "placement": [ + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/pansophical_daisy_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/pansophical_daisy_placed.json new file mode 100644 index 00000000..d1332ffa --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/pansophical_daisy_placed.json @@ -0,0 +1,20 @@ +{ + "feature": "garnished:pansophical_daisy_configured", + "placement": [ + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "below_top": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/sepia_fungus_tree_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/sepia_fungus_tree_placed.json new file mode 100644 index 00000000..caac1b48 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/sepia_fungus_tree_placed.json @@ -0,0 +1,12 @@ +{ + "feature": "garnished:sepia_fungus_tree_configured", + "placement": [ + { + "type": "minecraft:count_on_every_layer", + "count": 2 + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_basalt_deltas_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_basalt_deltas_placed.json new file mode 100644 index 00000000..1517da0e --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_basalt_deltas_placed.json @@ -0,0 +1,38 @@ +{ + "feature": "garnished:sorrowful_lichen_basalt_deltas_configured", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 104, + "max_inclusive": 157 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "absolute": 256 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:surface_relative_threshold_filter", + "heightmap": "OCEAN_FLOOR_WG", + "max_inclusive": -32 + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_placed.json b/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_placed.json new file mode 100644 index 00000000..9fa21ee4 --- /dev/null +++ b/src/main/resources/data/garnished/worldgen/placed_feature/sorrowful_lichen_placed.json @@ -0,0 +1,38 @@ +{ + "feature": "garnished:sorrowful_lichen_configured", + "placement": [ + { + "type": "minecraft:count", + "count": { + "type": "minecraft:uniform", + "value": { + "min_inclusive": 104, + "max_inclusive": 157 + } + } + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "above_bottom": 0 + }, + "max_inclusive": { + "absolute": 256 + } + } + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:surface_relative_threshold_filter", + "heightmap": "OCEAN_FLOOR_WG", + "max_inclusive": -32 + }, + { + "type": "minecraft:biome" + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/blaze.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/blaze.json index 4f96f42b..f2e009e3 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/blaze.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/blaze.json @@ -1,5 +1,4 @@ { - "type": "minecraft:entity", "pools": [ { "rolls": 1, diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/cave_spider.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/cave_spider.json new file mode 100644 index 00000000..7c99f06c --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/cave_spider.json @@ -0,0 +1,73 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "weight": 25, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:spider_eye", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:fermented_spider_eye", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/dolphin.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/dolphin.json new file mode 100644 index 00000000..bb4c8b92 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/dolphin.json @@ -0,0 +1,19 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:heart_of_the_sea", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ender_dragon.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ender_dragon.json new file mode 100644 index 00000000..7015e96b --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ender_dragon.json @@ -0,0 +1,22 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dimmed_scale", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3, + "max": 7 + } + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/enderman.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/enderman.json new file mode 100644 index 00000000..70c8d430 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/enderman.json @@ -0,0 +1,52 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dimmed_scale", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:crushed_ender_pearl", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/endermite.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/endermite.json new file mode 100644 index 00000000..d61b71b5 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/endermite.json @@ -0,0 +1,40 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:dimmed_scale", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:preliminary_nucleus", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/evoker.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/evoker.json new file mode 100644 index 00000000..a6a9548f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/evoker.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ghast.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ghast.json index f5b54f65..0c711984 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ghast.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ghast.json @@ -1,5 +1,4 @@ { - "type": "minecraft:entity", "pools": [ { "rolls": 1, diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/hoglin.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/hoglin.json new file mode 100644 index 00000000..71c4e98f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/hoglin.json @@ -0,0 +1,38 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:tusk", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "type": "minecraft:item", + "name": "garnished:irate_tusk", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/illusioner.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/illusioner.json new file mode 100644 index 00000000..a6a9548f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/illusioner.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/magma_cube.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/magma_cube.json index 316b6b47..351dd49f 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/magma_cube.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/magma_cube.json @@ -1,5 +1,4 @@ { - "type": "minecraft:entity", "pools": [ { "rolls": 1, diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/piglin.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/piglin.json new file mode 100644 index 00000000..280153ce --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/piglin.json @@ -0,0 +1,49 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_nugget", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 6 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/pillager.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/pillager.json new file mode 100644 index 00000000..a6a9548f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/pillager.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/polar_bear.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/polar_bear.json index 9b706cff..c01c6dab 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/polar_bear.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/polar_bear.json @@ -52,6 +52,15 @@ } ], "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, { "condition": "minecraft:table_bonus", "enchantment": "garnished:ravaging", diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ravager.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ravager.json new file mode 100644 index 00000000..d73e2798 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/ravager.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:meat_scraps", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 5 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/shulker.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/shulker.json new file mode 100644 index 00000000..c3ee8f15 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/shulker.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:shulker_shell", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.3333 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton.json new file mode 100644 index 00000000..0339769f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton.json @@ -0,0 +1,52 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton_horse.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton_horse.json new file mode 100644 index 00000000..442988cd --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/skeleton_horse.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/slime.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/slime.json new file mode 100644 index 00000000..f78f2689 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/slime.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:slime_ball", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/sniffer.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/sniffer.json new file mode 100644 index 00000000..b2173740 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/sniffer.json @@ -0,0 +1,37 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/spider.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/spider.json new file mode 100644 index 00000000..ccaf1918 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/spider.json @@ -0,0 +1,73 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:string", + "weight": 25, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:spider_eye", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:fermented_spider_eye", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/stray.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/stray.json index ac974b4a..7f4b1463 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/stray.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/stray.json @@ -6,13 +6,67 @@ { "type": "minecraft:item", "name": "garnished:numbing_parchment", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:bone", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], "conditions": [ { - "condition": "minecraft:table_bonus", - "enchantment": "garnished:ravaging", - "chances": [ - 0.1666 - ] + "condition": "minecraft:random_chance", + "chance": 0.1666 } ] } diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vex.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vex.json new file mode 100644 index 00000000..d2721ffd --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vex.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:vex_wing", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vindicator.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vindicator.json new file mode 100644 index 00000000..a6a9548f --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/vindicator.json @@ -0,0 +1,28 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/warden.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/warden.json index c03f06f0..c0044956 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/warden.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/warden.json @@ -1,5 +1,4 @@ { - "type": "minecraft:entity", "pools": [ { "rolls": 1, diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zoglin.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zoglin.json new file mode 100644 index 00000000..028d399a --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zoglin.json @@ -0,0 +1,35 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:tusk", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + }, + { + "type": "minecraft:item", + "name": "garnished:irate_tusk", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.25 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zombified_piglin.json b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zombified_piglin.json new file mode 100644 index 00000000..4981bd26 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/ravaging/zombified_piglin.json @@ -0,0 +1,73 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:gold_ingot", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_nugget", + "weight": 50, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 6 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.1666 + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rotten_flesh", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.3333 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/allay.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/allay.json new file mode 100644 index 00000000..c21baef3 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/allay.json @@ -0,0 +1,29 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:vex_wing", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.00625, + 0.0625 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/bee.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/bee.json new file mode 100644 index 00000000..3e8c23ef --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/bee.json @@ -0,0 +1,23 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:honeycomb", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cat.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cat.json new file mode 100644 index 00000000..234691b0 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cat.json @@ -0,0 +1,62 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:cooked_cod", + "weight": 5, + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:random_chance", + "chance": 0.0625 + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:cod", + "weight": 45, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.0625, + 0.1666 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cow.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cow.json new file mode 100644 index 00000000..c50803dc --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/cow.json @@ -0,0 +1,75 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather", + "weight": 25, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:beef", + "weight": 35, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.25, + 0.3333 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/dolphin.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/dolphin.json new file mode 100644 index 00000000..e4122938 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/dolphin.json @@ -0,0 +1,23 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:lustrous_pearl", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/donkey.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/donkey.json new file mode 100644 index 00000000..a0789589 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/donkey.json @@ -0,0 +1,41 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.0625, + 0.1666 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/horse.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/horse.json new file mode 100644 index 00000000..148055f2 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/horse.json @@ -0,0 +1,41 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/mule.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/mule.json new file mode 100644 index 00000000..148055f2 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/mule.json @@ -0,0 +1,41 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/ocelot.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/ocelot.json new file mode 100644 index 00000000..ecb98a0c --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/ocelot.json @@ -0,0 +1,41 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:cod", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 2 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.0625, + 0.1666 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/pig.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/pig.json new file mode 100644 index 00000000..4e10ab56 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/pig.json @@ -0,0 +1,57 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:porkchop", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "garnished:tusk", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ], + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.0625, + 0.1666 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/rabbit.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/rabbit.json new file mode 100644 index 00000000..fc3222f4 --- /dev/null +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/rabbit.json @@ -0,0 +1,41 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:rabbit_hide", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 3 + } + } + ], + "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "garnished:salvaging", + "chances": [ + 0.1666, + 0.25 + ] + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/turtle.json b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/turtle.json index ca9a0af0..4f37cebe 100644 --- a/src/main/resources/data/minecraft/loot_tables/entities/salvaging/turtle.json +++ b/src/main/resources/data/minecraft/loot_tables/entities/salvaging/turtle.json @@ -7,6 +7,15 @@ "type": "minecraft:item", "name": "garnished:voltaic_sea_grass", "conditions": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "flags": { + "is_baby": false + } + } + }, { "condition": "minecraft:table_bonus", "enchantment": "garnished:salvaging", diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json index 0e993109..32fa2ea4 100644 --- a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -5,8 +5,10 @@ "#garnished:stone_types/abyssal_stone", "#garnished:stone_types/unstable_stone", "#garnished:stone_types/ritualistic_stone", + "#garnished:stone_types/dragon_stone", "garnished:garnish_compound_block", "garnished:salt_compound_block", - "garnished:ethereal_compound_block" + "garnished:ethereal_compound_block", + "garnished:senile_bone_block" ] } diff --git a/src/main/resources/data/minecraft/tags/fluids/water.json b/src/main/resources/data/minecraft/tags/fluids/water.json index c16ba141..77ec88f4 100644 --- a/src/main/resources/data/minecraft/tags/fluids/water.json +++ b/src/main/resources/data/minecraft/tags/fluids/water.json @@ -5,6 +5,8 @@ "#garnished:liquid_garnish", "#garnished:peanut_oil", "#garnished:cashew_mixture", - "#garnished:mastic_resin" + "#garnished:mastic_resin", + "#garnished:dragon_breath", + "#garnished:sweet_tea" ] }