From d7b7f483b85daf461ebf1d8c2be635c7d809a2c6 Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Sat, 6 Jul 2024 19:05:54 +0200 Subject: [PATCH] Update to 1.20.4 and big refactoring - Added new dishes and categories - Switched from Patchouli to the Lavender library for the cooking guide --- build.gradle | 64 ++++-- gradle.properties | 14 +- gradle/wrapper/gradle-wrapper.jar | Bin 60756 -> 43462 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 35 +-- gradlew.bat | 1 + localMaven/maybe-data-1.3.2-fixed-1.19.jar | Bin 12552 -> 0 bytes localMaven/maybe-data-1.3.3-1.20.1.jar | Bin 0 -> 13045 bytes .../5c5e34c6b23ad145fcbd6caafbf967007e4a8b8b | 3 + .../worldgen/configured_feature/salt_ore.json | 18 ++ .../worldgen/placed_feature/salt_ore.json | 44 ++++ .../motschen/dishes/DishesDataGen.java | 50 ++++ .../motschen/dishes/DishesMain.java | 214 +++++++++--------- .../motschen/dishes/block/Dish.java | 10 +- .../motschen/dishes/block/Pizza.java | 9 +- .../motschen/dishes/block/Plate.java | 9 +- .../motschen/dishes/block/Soup.java | 9 +- .../dishes/compat/CookingGuideItem.java | 4 +- .../motschen/dishes/compat/Flags.java | 19 +- .../motschen/dishes/config/DishesConfig.java | 12 +- .../dishes/entities/IceCreamTraderSpawn.java | 4 +- .../dishes/init/IceCreamTraderInit.java | 13 +- .../motschen/dishes/init/LettuceInit.java | 13 +- .../motschen/dishes/init/TomatoInit.java | 13 +- .../motschen/dishes/utils/DishGroup.java | 5 + .../motschen/dishes/utils/RegistryUtils.java | 36 +++ .../motschen/dishes/world/OreFeatures.java | 36 ++- .../dishes/blockstates/beetrootburger.json | 24 ++ .../assets/dishes/blockstates/pizzafungi.json | 24 ++ .../dishes/blockstates/potatoburger.json | 24 ++ .../resources/assets/dishes/lang/en_us.json | 10 +- .../dishes/lavender/books/cooking_guide.json | 4 + .../categories/cooking_guide/american.md | 8 + .../categories/cooking_guide/british.md | 8 + .../categories/cooking_guide/general.md | 8 + .../categories/cooking_guide/german.md | 8 + .../categories/cooking_guide/italian.md | 8 + .../categories/cooking_guide/sweets.md | 8 + .../categories/cooking_guide/ukrainian.md | 8 + .../categories/cooking_guide/vegan.md | 8 + .../categories/cooking_guide/veggie.md | 8 + .../lavender/de_de/books/cooking_guide.json | 5 + .../categories/cooking_guide/american.md | 8 + .../de_de/categories/cooking_guide/british.md | 8 + .../de_de/categories/cooking_guide/general.md | 8 + .../de_de/categories/cooking_guide/german.md | 8 + .../de_de/categories/cooking_guide/italian.md | 8 + .../de_de/categories/cooking_guide/sweets.md | 8 + .../categories/cooking_guide/ukrainian.md | 8 + .../cooking_guide/cooking_guide/bacon.md | 16 ++ .../cooking_guide/cooking_guide/borscht.md | 16 ++ .../cooking_guide/cooking_guide/bowl.md | 16 ++ .../cooking_guide/cheese_roll.md | 16 ++ .../cooking_guide/cheese_slice.md | 16 ++ .../cooking_guide/cheeseburger.md | 16 ++ .../cooking_guide/chickenburger.md | 16 ++ .../cooking_guide/fishandchips.md | 16 ++ .../cooking_guide/cooking_guide/flour.md | 16 ++ .../cooking_guide/cooking_guide/fries.md | 16 ++ .../cooking_guide/cooking_guide/hamburger.md | 16 ++ .../cooking_guide/ice_cream_banana.md | 11 + .../cooking_guide/ice_cream_blueberry.md | 11 + .../cooking_guide/ice_cream_bubblegum.md | 11 + .../cooking_guide/ice_cream_chocolate.md | 11 + .../cooking_guide/ice_cream_glowberry.md | 11 + .../cooking_guide/ice_cream_pear.md | 11 + .../cooking_guide/ice_cream_strawberry.md | 11 + .../cooking_guide/ice_cream_sweetberry.md | 11 + .../cooking_guide/ice_cream_vanilla.md | 11 + .../ice_cream_white_chocolate.md | 11 + .../cooking_guide/cooking_guide/knife.md | 22 ++ .../cooking_guide/cooking_guide/lettuce.md | 16 ++ .../cooking_guide/lettuceseed.md | 16 ++ .../cooking_guide/cooking_guide/pizzabacon.md | 16 ++ .../cooking_guide/cooking_guide/pizzabox.md | 16 ++ .../cooking_guide/cooking_guide/pizzaham.md | 16 ++ .../cooking_guide/pizzamargherita.md | 16 ++ .../cooking_guide/pizzasalami.md | 16 ++ .../cooking_guide/cooking_guide/pizzatuna.md | 16 ++ .../cooking_guide/cooking_guide/plate.md | 16 ++ .../cooking_guide/potato_slice.md | 16 ++ .../cooking_guide/potatoeswithcurdcheese.md | 16 ++ .../cooking_guide/cooking_guide/raw_bacon.md | 16 ++ .../cooking_guide/cooking_guide/raw_fries.md | 16 ++ .../cooking_guide/raw_spaghetti.md | 16 ++ .../cooking_guide/cooking_guide/salami.md | 22 ++ .../cooking_guide/cooking_guide/salt.md | 16 ++ .../cooking_guide/cooking_guide/salt_ore.md | 16 ++ .../cooking_guide/cooking_guide/schnitzel.md | 16 ++ .../cooking_guide/cooking_guide/spaghetti.md | 16 ++ .../cooking_guide/spaghetti_bolognese.md | 16 ++ .../cooking_guide/cooking_guide/steak.md | 16 ++ .../cooking_guide/cooking_guide/tomato.md | 16 ++ .../cooking_guide/cooking_guide/tomatoseed.md | 16 ++ .../entries/cooking_guide/landing_page.md | 7 + .../cooking_guide/cooking_guide/bacon.md | 16 ++ .../cooking_guide/beetrootburger.md | 16 ++ .../cooking_guide/cooking_guide/borscht.md | 16 ++ .../cooking_guide/cooking_guide/bowl.md | 16 ++ .../cooking_guide/cheese_roll.md | 16 ++ .../cooking_guide/cheese_slice.md | 16 ++ .../cooking_guide/cheeseburger.md | 16 ++ .../cooking_guide/chickenburger.md | 16 ++ .../cooking_guide/fishandchips.md | 16 ++ .../cooking_guide/cooking_guide/flour.md | 16 ++ .../cooking_guide/cooking_guide/fries.md | 16 ++ .../cooking_guide/cooking_guide/hamburger.md | 16 ++ .../cooking_guide/ice_cream_banana.md | 15 ++ .../cooking_guide/ice_cream_blueberry.md | 11 + .../cooking_guide/ice_cream_bubblegum.md | 11 + .../cooking_guide/ice_cream_chocolate.md | 11 + .../cooking_guide/ice_cream_glowberry.md | 11 + .../cooking_guide/ice_cream_pear.md | 11 + .../cooking_guide/ice_cream_strawberry.md | 11 + .../cooking_guide/ice_cream_sweetberry.md | 11 + .../cooking_guide/ice_cream_vanilla.md | 11 + .../ice_cream_white_chocolate.md | 11 + .../cooking_guide/cooking_guide/knife.md | 22 ++ .../cooking_guide/cooking_guide/lettuce.md | 16 ++ .../cooking_guide/lettuceseed.md | 16 ++ .../cooking_guide/cooking_guide/pizzabacon.md | 16 ++ .../cooking_guide/cooking_guide/pizzabox.md | 16 ++ .../cooking_guide/cooking_guide/pizzafungi.md | 16 ++ .../cooking_guide/pizzafungi_vegetarian.md | 16 ++ .../cooking_guide/cooking_guide/pizzaham.md | 16 ++ .../cooking_guide/pizzamargherita.md | 16 ++ .../cooking_guide/pizzasalami.md | 16 ++ .../cooking_guide/cooking_guide/pizzatuna.md | 16 ++ .../cooking_guide/cooking_guide/plate.md | 16 ++ .../cooking_guide/potato_slice.md | 16 ++ .../cooking_guide/potatoburger.md | 48 ++++ .../cooking_guide/potatoeswithcurdcheese.md | 44 ++++ .../cooking_guide/cooking_guide/raw_bacon.md | 16 ++ .../cooking_guide/cooking_guide/raw_fries.md | 16 ++ .../cooking_guide/raw_spaghetti.md | 16 ++ .../cooking_guide/cooking_guide/salami.md | 22 ++ .../cooking_guide/cooking_guide/salt.md | 16 ++ .../cooking_guide/cooking_guide/salt_ore.md | 16 ++ .../cooking_guide/cooking_guide/schnitzel.md | 16 ++ .../cooking_guide/cooking_guide/spaghetti.md | 16 ++ .../cooking_guide/spaghetti_bolognese.md | 16 ++ .../cooking_guide/cooking_guide/steak.md | 16 ++ .../cooking_guide/cooking_guide/tomato.md | 16 ++ .../cooking_guide/cooking_guide/tomatoseed.md | 16 ++ .../entries/cooking_guide/landing_page.md | 7 + .../dishes/models/block/beetrootburger.json | 7 + .../dishes/models/block/beetrootburger1.json | 7 + .../dishes/models/block/beetrootburger2.json | 7 + .../dishes/models/block/beetrootburger3.json | 7 + .../dishes/models/block/beetrootburger4.json | 7 + .../dishes/models/block/pizzafungi.json | 6 + .../dishes/models/block/pizzafungi1.json | 6 + .../dishes/models/block/pizzafungi2.json | 6 + .../dishes/models/block/pizzafungi3.json | 6 + .../dishes/models/block/pizzafungi4.json | 6 + .../dishes/models/block/potatoburger.json | 7 + .../dishes/models/block/potatoburger1.json | 7 + .../dishes/models/block/potatoburger2.json | 7 + .../dishes/models/block/potatoburger3.json | 7 + .../dishes/models/block/potatoburger4.json | 7 + .../dishes/models/item/beetrootburger.json | 3 + .../dishes/models/item/cooking_guide.json | 2 +- .../dishes/models/item/label_vegan.json | 6 + .../dishes/models/item/label_veggie.json | 6 + .../assets/dishes/models/item/pizzafungi.json | 3 + .../dishes/models/item/potatoburger.json | 3 + .../dishes/textures/block/lettuce_stage2.png | Bin 372 -> 4431 bytes .../dishes/textures/block/lettuce_stage3.png | Bin 387 -> 4475 bytes .../dishes/textures/block/pizza_fungi.png | Bin 0 -> 4956 bytes .../assets/dishes/textures/block/salt_ore.png | Bin 288 -> 4366 bytes .../textures/entity/ice_cream_seller.png | Bin 2091 -> 5804 bytes .../dishes/textures/item/cheese_roll.png | Bin 417 -> 4519 bytes .../dishes/textures/item/cheese_slice.png | Bin 294 -> 4388 bytes .../assets/dishes/textures/item/flour.png | Bin 342 -> 4400 bytes .../dishes/textures/item/labels/vegan.png | Bin 0 -> 5305 bytes .../dishes/textures/item/labels/veggie.png | Bin 0 -> 5683 bytes .../assets/dishes/textures/item/lettuce.png | Bin 398 -> 4485 bytes .../dishes/textures/item/lettuceseed.png | Bin 242 -> 4308 bytes .../dishes/textures/item/raw_spaghetti.png | Bin 283 -> 4260 bytes .../assets/dishes/textures/item/salami.png | Bin 463 -> 4494 bytes .../assets/dishes/textures/item/salt.png | Bin 361 -> 4411 bytes .../assets/dishes/textures/item/spaghetti.png | Bin 321 -> 4385 bytes .../patchouli_books/cooking_guide/book.json | 8 - .../de_de/categories/american.json | 5 - .../de_de/categories/british.json | 5 - .../de_de/categories/general.json | 5 - .../de_de/categories/german.json | 5 - .../de_de/categories/italian.json | 5 - .../de_de/categories/sweets.json | 5 - .../de_de/categories/ukrainian.json | 5 - .../de_de/entries/cooking_guide/bacon.json | 18 -- .../de_de/entries/cooking_guide/borscht.json | 18 -- .../de_de/entries/cooking_guide/bowl.json | 18 -- .../entries/cooking_guide/cheese_roll.json | 18 -- .../entries/cooking_guide/cheese_slice.json | 18 -- .../entries/cooking_guide/cheeseburger.json | 18 -- .../entries/cooking_guide/chickenburger.json | 18 -- .../entries/cooking_guide/fishandchips.json | 18 -- .../de_de/entries/cooking_guide/flour.json | 18 -- .../de_de/entries/cooking_guide/fries.json | 18 -- .../entries/cooking_guide/hamburger.json | 18 -- .../cooking_guide/ice_cream_banana.json | 14 -- .../cooking_guide/ice_cream_blueberry.json | 14 -- .../cooking_guide/ice_cream_bubblegum.json | 14 -- .../cooking_guide/ice_cream_chocolate.json | 14 -- .../cooking_guide/ice_cream_glowberry.json | 14 -- .../entries/cooking_guide/ice_cream_pear.json | 14 -- .../cooking_guide/ice_cream_strawberry.json | 14 -- .../cooking_guide/ice_cream_sweetberry.json | 14 -- .../cooking_guide/ice_cream_vanilla.json | 14 -- .../ice_cream_white_chocolate.json | 14 -- .../de_de/entries/cooking_guide/knife.json | 22 -- .../de_de/entries/cooking_guide/lettuce.json | 18 -- .../entries/cooking_guide/lettuceseed.json | 18 -- .../entries/cooking_guide/pizzabacon.json | 18 -- .../de_de/entries/cooking_guide/pizzabox.json | 18 -- .../de_de/entries/cooking_guide/pizzaham.json | 18 -- .../cooking_guide/pizzamargherita.json | 18 -- .../entries/cooking_guide/pizzasalami.json | 18 -- .../entries/cooking_guide/pizzatuna.json | 18 -- .../de_de/entries/cooking_guide/plate.json | 18 -- .../entries/cooking_guide/potato_slice.json | 18 -- .../cooking_guide/potatoeswithcurdcheese.json | 18 -- .../entries/cooking_guide/raw_bacon.json | 18 -- .../entries/cooking_guide/raw_fries.json | 18 -- .../entries/cooking_guide/raw_spaghetti.json | 18 -- .../de_de/entries/cooking_guide/salami.json | 22 -- .../de_de/entries/cooking_guide/salt.json | 18 -- .../de_de/entries/cooking_guide/salt_ore.json | 18 -- .../entries/cooking_guide/schnitzel.json | 18 -- .../entries/cooking_guide/spaghetti.json | 18 -- .../cooking_guide/spaghetti_bolognese.json | 18 -- .../de_de/entries/cooking_guide/steak.json | 18 -- .../de_de/entries/cooking_guide/tomato.json | 18 -- .../entries/cooking_guide/tomatoseed.json | 18 -- .../en_us/categories/american.json | 5 - .../en_us/categories/british.json | 5 - .../en_us/categories/general.json | 5 - .../en_us/categories/german.json | 5 - .../en_us/categories/italian.json | 5 - .../en_us/categories/sweets.json | 5 - .../en_us/categories/ukrainian.json | 5 - .../en_us/entries/cooking_guide/bacon.json | 18 -- .../en_us/entries/cooking_guide/borscht.json | 18 -- .../en_us/entries/cooking_guide/bowl.json | 18 -- .../entries/cooking_guide/cheese_roll.json | 18 -- .../entries/cooking_guide/cheese_slice.json | 18 -- .../entries/cooking_guide/cheeseburger.json | 18 -- .../entries/cooking_guide/chickenburger.json | 18 -- .../entries/cooking_guide/fishandchips.json | 18 -- .../en_us/entries/cooking_guide/flour.json | 18 -- .../en_us/entries/cooking_guide/fries.json | 18 -- .../entries/cooking_guide/hamburger.json | 18 -- .../cooking_guide/ice_cream_banana.json | 14 -- .../cooking_guide/ice_cream_blueberry.json | 14 -- .../cooking_guide/ice_cream_bubblegum.json | 14 -- .../cooking_guide/ice_cream_chocolate.json | 14 -- .../cooking_guide/ice_cream_glowberry.json | 14 -- .../entries/cooking_guide/ice_cream_pear.json | 14 -- .../cooking_guide/ice_cream_strawberry.json | 14 -- .../cooking_guide/ice_cream_sweetberry.json | 14 -- .../cooking_guide/ice_cream_vanilla.json | 14 -- .../ice_cream_white_chocolate.json | 14 -- .../en_us/entries/cooking_guide/knife.json | 22 -- .../en_us/entries/cooking_guide/lettuce.json | 18 -- .../entries/cooking_guide/lettuceseed.json | 18 -- .../entries/cooking_guide/pizzabacon.json | 18 -- .../en_us/entries/cooking_guide/pizzabox.json | 18 -- .../en_us/entries/cooking_guide/pizzaham.json | 18 -- .../cooking_guide/pizzamargherita.json | 18 -- .../entries/cooking_guide/pizzasalami.json | 18 -- .../entries/cooking_guide/pizzatuna.json | 18 -- .../en_us/entries/cooking_guide/plate.json | 18 -- .../entries/cooking_guide/potato_slice.json | 18 -- .../cooking_guide/potatoeswithcurdcheese.json | 18 -- .../entries/cooking_guide/raw_bacon.json | 18 -- .../entries/cooking_guide/raw_fries.json | 18 -- .../entries/cooking_guide/raw_spaghetti.json | 18 -- .../en_us/entries/cooking_guide/salami.json | 22 -- .../en_us/entries/cooking_guide/salt.json | 18 -- .../en_us/entries/cooking_guide/salt_ore.json | 18 -- .../entries/cooking_guide/schnitzel.json | 18 -- .../entries/cooking_guide/spaghetti.json | 18 -- .../cooking_guide/spaghetti_bolognese.json | 18 -- .../en_us/entries/cooking_guide/steak.json | 18 -- .../en_us/entries/cooking_guide/tomato.json | 18 -- .../entries/cooking_guide/tomatoseed.json | 18 -- src/main/resources/fabric.mod.json | 3 + 288 files changed, 2290 insertions(+), 1834 deletions(-) delete mode 100644 localMaven/maybe-data-1.3.2-fixed-1.19.jar create mode 100644 localMaven/maybe-data-1.3.3-1.20.1.jar create mode 100644 src/main/generated/.cache/5c5e34c6b23ad145fcbd6caafbf967007e4a8b8b create mode 100644 src/main/generated/data/dishes/worldgen/configured_feature/salt_ore.json create mode 100644 src/main/generated/data/dishes/worldgen/placed_feature/salt_ore.json create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/DishesDataGen.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/utils/DishGroup.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java create mode 100644 src/main/resources/assets/dishes/blockstates/beetrootburger.json create mode 100644 src/main/resources/assets/dishes/blockstates/pizzafungi.json create mode 100644 src/main/resources/assets/dishes/blockstates/potatoburger.json create mode 100644 src/main/resources/assets/dishes/lavender/books/cooking_guide.json create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/american.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/british.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/general.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/german.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/italian.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/sweets.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/ukrainian.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/vegan.md create mode 100644 src/main/resources/assets/dishes/lavender/categories/cooking_guide/veggie.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/books/cooking_guide.json create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/american.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/british.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/general.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/german.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/italian.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/sweets.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/ukrainian.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bacon.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/borscht.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bowl.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_roll.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_slice.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheeseburger.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/chickenburger.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fishandchips.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/flour.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fries.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/hamburger.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_banana.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_pear.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/knife.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuce.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuceseed.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabacon.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabox.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzaham.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzamargherita.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzasalami.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzatuna.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/plate.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potato_slice.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_bacon.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_fries.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_spaghetti.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salami.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt_ore.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/schnitzel.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/steak.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomato.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomatoseed.md create mode 100644 src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/landing_page.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bacon.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/beetrootburger.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/borscht.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bowl.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_roll.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_slice.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheeseburger.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/chickenburger.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fishandchips.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/flour.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fries.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/hamburger.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_banana.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_pear.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/knife.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuce.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuceseed.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabacon.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabox.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi_vegetarian.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzaham.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzamargherita.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzasalami.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzatuna.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/plate.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potato_slice.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoburger.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_bacon.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_fries.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_spaghetti.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salami.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt_ore.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/schnitzel.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/steak.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomato.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomatoseed.md create mode 100644 src/main/resources/assets/dishes/lavender/entries/cooking_guide/landing_page.md create mode 100644 src/main/resources/assets/dishes/models/block/beetrootburger.json create mode 100644 src/main/resources/assets/dishes/models/block/beetrootburger1.json create mode 100644 src/main/resources/assets/dishes/models/block/beetrootburger2.json create mode 100644 src/main/resources/assets/dishes/models/block/beetrootburger3.json create mode 100644 src/main/resources/assets/dishes/models/block/beetrootburger4.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzafungi.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzafungi1.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzafungi2.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzafungi3.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzafungi4.json create mode 100644 src/main/resources/assets/dishes/models/block/potatoburger.json create mode 100644 src/main/resources/assets/dishes/models/block/potatoburger1.json create mode 100644 src/main/resources/assets/dishes/models/block/potatoburger2.json create mode 100644 src/main/resources/assets/dishes/models/block/potatoburger3.json create mode 100644 src/main/resources/assets/dishes/models/block/potatoburger4.json create mode 100644 src/main/resources/assets/dishes/models/item/beetrootburger.json create mode 100644 src/main/resources/assets/dishes/models/item/label_vegan.json create mode 100644 src/main/resources/assets/dishes/models/item/label_veggie.json create mode 100644 src/main/resources/assets/dishes/models/item/pizzafungi.json create mode 100644 src/main/resources/assets/dishes/models/item/potatoburger.json create mode 100644 src/main/resources/assets/dishes/textures/block/pizza_fungi.png create mode 100644 src/main/resources/assets/dishes/textures/item/labels/vegan.png create mode 100644 src/main/resources/assets/dishes/textures/item/labels/veggie.png delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/book.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/american.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/british.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/general.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/german.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/italian.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/sweets.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/ukrainian.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/borscht.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bowl.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/cheese_roll.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/cheese_slice.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/cheeseburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/chickenburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/fishandchips.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/flour.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/fries.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/hamburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_banana.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_blueberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_bubblegum.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_chocolate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_glowberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_pear.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_strawberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_sweetberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_vanilla.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_white_chocolate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/knife.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/lettuce.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/lettuceseed.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzabacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzabox.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzaham.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzamargherita.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzasalami.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzatuna.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/plate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/potato_slice.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/potatoeswithcurdcheese.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/raw_bacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/raw_fries.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/raw_spaghetti.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/salami.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/salt.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/salt_ore.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/schnitzel.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/spaghetti.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/spaghetti_bolognese.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/steak.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/tomato.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/tomatoseed.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/american.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/british.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/general.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/german.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/italian.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/sweets.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/ukrainian.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/borscht.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bowl.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/cheese_roll.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/cheese_slice.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/cheeseburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/chickenburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/fishandchips.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/flour.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/fries.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/hamburger.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_banana.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_blueberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_bubblegum.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_chocolate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_glowberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_pear.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_strawberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_sweetberry.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_vanilla.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_white_chocolate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/knife.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/lettuce.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/lettuceseed.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzabacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzabox.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzaham.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzamargherita.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzasalami.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzatuna.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/plate.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/potato_slice.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/potatoeswithcurdcheese.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/raw_bacon.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/raw_fries.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/raw_spaghetti.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/salami.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/salt.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/salt_ore.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/schnitzel.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/spaghetti.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/spaghetti_bolognese.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/steak.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/tomato.json delete mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/tomatoseed.json diff --git a/build.gradle b/build.gradle index 0bc48b4..3d54640 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.0-SNAPSHOT' + id 'fabric-loom' version '1.5-SNAPSHOT' id 'maven-publish' } @@ -12,10 +12,26 @@ group = project.maven_group repositories { maven { url "https://jitpack.io" } - maven { url 'https://maven.blamejared.com' } + maven { url 'https://maven.wispforest.io' } maven { url "https://api.modrinth.com/maven" } flatDir { dirs 'localMaven'} } +loom { + runs { + // + // This adds a new gradle task that runs the datagen API: "gradlew runDatagenClient" + // + datagenClient { + inherit client + name "Data Generation" + vmArg "-Dfabric-api.datagen" + vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}" + vmArg "-Dfabric-api.datagen.modid=dishes" + + runDir "build/datagen" + } + } +} dependencies { //to change the versions see the gradle.properties file @@ -24,16 +40,18 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - modImplementation "vazkii.patchouli:Patchouli:${patchouli_version}" - - modImplementation "com.github.Draylar:maybe-data:${maybedata_version}" - include "com.github.Draylar:maybe-data:${maybedata_version}" + + //modImplementation "com.github.Draylar:maybe-data:${maybedata_version}" + //include "com.github.Draylar:maybe-data:${maybedata_version}" modImplementation "maven.modrinth:midnightlib:${midnightlib_version}" include "maven.modrinth:midnightlib:${midnightlib_version}" + + modImplementation "io.wispforest:lavender:${project.lavender_version}" + //include "io.wispforest:owo-sentinel:${project.owo_version}" } + processResources { inputs.property "version", project.version @@ -52,17 +70,27 @@ tasks.withType(JavaCompile).configureEach { // Minecraft 1.17 (21w19a) upwards uses Java 16. it.options.release = 17 } +sourceSets { + main { + resources { + srcDirs += [ + 'src/main/generated' + ] + } + } +} -// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task -// if it is present. -// If you remove this task, sources will not be generated. -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = "sources" - from sourceSets.main.allSource +java { + // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task + // if it is present. + // If you remove this line, sources will not be generated. + withSourcesJar() } jar { - from "LICENSE" + from("LICENSE") { + rename { "${it}_${project.archivesBaseName}"} + } } // configure the maven publication @@ -79,9 +107,11 @@ publishing { } } - // select the repositories you want to publish to + // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing. repositories { - // uncomment to publish to the local maven - // mavenLocal() + // Add repositories to publish to here. + // Notice: This block does NOT have the same function as the block in the top level. + // The repositories here will be used for publishing your artifact, not for + // retrieving dependencies. } } diff --git a/gradle.properties b/gradle.properties index 3d7ac95..dc33f87 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.19.2 - yarn_mappings=1.19.2+build.18 - loader_version=0.14.9 + minecraft_version=1.20.4 + yarn_mappings=1.20.4+build.3 + loader_version=0.15.6 # Mod Properties mod_version = 2.1.0 @@ -14,7 +14,7 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.62.0+1.19.2 - patchouli_version=1.19.2-76-FABRIC - maybedata_version=1.3.2-fixed-1.19 - midnightlib_version=0.6.1 + fabric_version=0.95.0+1.20.4 + lavender_version=0.1.1+1.20.3 + maybedata_version=1.3.3-1.20.1 + midnightlib_version=1.5.3-fabric diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e5832f090a2944b7473328c07c9755baa3196..d64cd4917707c1f8861d8cb53dd15194d4248596 100644 GIT binary patch literal 43462 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 literal 60756 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 /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index 53a6b23..6689b85 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% diff --git a/localMaven/maybe-data-1.3.2-fixed-1.19.jar b/localMaven/maybe-data-1.3.2-fixed-1.19.jar deleted file mode 100644 index 84620aeb1e9b5e3c887f087db1d4c2fdc8ff5fb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12552 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 diff --git a/localMaven/maybe-data-1.3.3-1.20.1.jar b/localMaven/maybe-data-1.3.3-1.20.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..182d31791e8ac1fce24f4a18f17e9c46d756cec6 GIT binary patch literal 13045 zcmb7q1yo$yvTcCi?he7--QC@t;O_2(;4Z=4-5r9vyL&_M-~~ z_vjv@Yp%U(uUf0ttSK)A@*d?K1O&vpckc*Z-@gpy^{b4CvH*>QtSFs~fUJb5h>|j` zjHphGfMqW|OyHT{WAIvVAaWw31Fp3`Ggo}=*FAC(`O$%i?4P$%X>rZ%N8TPDax_r4 zDBwSY2x`9+k_+rF!})?>{|FSw5S5eBr^O)Z7vW$xRT))7b0!Xd_FG;x^1A{03SF^) zFVBZfEM~bxz4HCxuzcU#+Y?vZMqS$-HjUV1RFG8fWiEF{p0+R4INjd^szjy)Im^HI zRKzE^)N43l1a;2#b|Ra=n(fQO*0Yxq1nku2{z7>lO5kpJ$F$b*S3<|Y#g#K6^ z_XD`R6gY(5tug)7>;0w!y?ZDBw-JH-Jt82le*}Mv+B@L4k5~J9$G5*3Iq17v={wN< zH-1RJ`C03`8yFkuJL&&d2yc({-y{D*ka@!re#N3Sw9uT7_CI z!fz(vl`FE_1sqzEiV@KClb;;Z4^^z$p z6_q@CRNL@08%O=O^xB&{6b&%kNg;oJCP<|FUZh88P8fwE#LXR#l1}w8Cv#h=V{x{R zp68%+`%5GX2pdM6GlllPp0o9j!x7`wYk(pYrZjQPfJ{(i2WNdoF^=T>=bG9;l@oT< z(~BVa)gJ4^OKAl~SVYF}yL6o;^3QzS5^aGg#Dxr_dOGC_MhCDsrIBa$O_Wy4oMIS5 zDao@cnaa5Y{_@48cHXD)4QG)3)fq2M)wscU>I)=QE!)~gd`0=2*Q{vu6I?JU`~h0% z_e5;X+zS2&cb4MB^a0=~n;0lrqzG^(Z*tEA6Q*)Tf&eI zsH4<`-43|EYF`v)w<2tMVH@8_wgN*F6T?|(-Ah+Q_|&?6BO9ij9?OlLW^Z!}I?fu# z>=CLZnl=EA9x7Y`rw?PmI-IaMm+H%HAEO}cBzypIJe#0@fpra@5=vqIEI5m@)N9Py z{QeZcn=#dFpf-w5{R}%4a~{gebK-<&nKdn3cS-J)Z=5F-e?o!ACsONaE)%O0bv}Uq zmJtvLxhfK`DdGP9pE3gdFX!cdJ-tc)9!AL4#>m{s+}7q_b39T>>vfK!JO=?&ouEn5 zXd)sa)>I?~I#g_-3P^{g>WOa!O1pyNte?i6@b`SYV7tpjM3j;C0(9dWb2Dkt6$^iy z;BegIN;(@$q5H_^1#E{L4g;dw=jx5e;oPBxjHkB7U_cAQU1Efxt_PE{?-k6&3(uM{ z*s$NDf`$Z>!Ny7_IxaZaIs!&90kjpp1Qh3>VdpS8-q~2sh-mZh8ZY-agMFo)tDDlo z$EAptp?5--nB8uS>!_nfDZuJBgMu3w%%@Z%6{C*8@11CSHbO#9HW0^`u+HhR>wyL7 zH=eqq;oUG`%D@~ev;$#_KF_MQ=PGmyzA>S_J_u|romL2TN;_rKIAbgQp=>d!yj)i|k1N6k zNaTaaJzmBmDX-d!nCamN9%Dh7=TKth3Bm13_P%(gAoegb0T+c7`Y?=aF81xPR@lz8 z5IKg_qVd2?f>uOMQI1AvHqPfcUmTxZthH>++`GyAiPx;33 z|B)#AR*J@k=61$1`ZoHe#t#3=n{iD@ZJb5-7vF07>WDrlYK@`90BdTxq(q@LbymR- zF#>S{qKS0e-{I(IPT?{$`g@{wa3*$_?6=unzOC6K4ayRJgamGp*k!g}VRk+%yj`z9 zTrV_FoBg?wroXJ?GHq~CM&+~OeYNq>al1a4_OviL;SJl>aE(KNP+Q+pZ30TTvKD|h zV@30U&tu$ds2Y~3G*Ik1n;{S0Qo&lX2?YUAl2dF0PAIAjuep+s3lY?yZq-)P-q0dd zDQ$tAh#2vHU4TE00XPwlX-8EaJ_0K?rJ8q}H|juN2^toYK`Z)5^>zxXDbp39={Gm+J}Xg)AJU?rSTS%5&_ zla=5EO&eiEDY@h*d}Sg1vq4W#JSZqh0C0=sQbr#-JkglO6io1sY+Q^8;q69N#0Ah= zZ+jvfBquB4?<26He$m;@p90EA5cO#|QR#E*_9S@d%U5Sj%=p8DdOXT4hM46BFpJZx z4S!TXu_8ldJO#9MKLuDXvxuGJVDNZ_R2v7v!JmsI@jKsj`E?))F2|V5fEoaXdB}i; z_E4l$%U!S)dN-toZq=eomi#hwQL^KvS7t>crr7I6znG+xD7CKB$>`AwH?Mun$nZkd zQc#HC{=SVID1mT#WxBSpwl+1D;9k&>S3os9=WoJ{(L~L<&c8{)gV7{YR>pbdQAH7< zSX$3#Gf0zB^0J5R{@mJHj%2SaNS<0VCP73U+$x0(Ka{dZi@HFF zOi&?dmS5^Ob=zvBm@xuF^%W>mSJg$y94Hks?eUPy%Zxy~rH3zwnB_akNtZgbVniOS%d?Pg+X z<^-+F9LsqS@OO*fBhbqlhuxUT&%s1@n3(ka8A_MJk4M-6I+Hn!YRxO| zM!U}-4oDLb8zzY@HNbO0Vy~+cv&hejAAE$z4KZ?k&lYCJ+%s(!?>!bK1_|E*hpz>0 z5hqNK6fGKPx729cqmBtN$Zo-8UwQofhv`ZiSTskJR>0tzB!)WOF+qHxgkQF(Q8~7) zg_-46vCj*(Md`d@`BumPsLG+D2xnV74jauZOLl*uu{HWNA#rK8@127J<4 znubvN59y}$3u6b=Ch)RSi$1vLZ`sh^Z~#Jsi8RlN zceZG|qm1cDv{JQ%DL8^X+t>p=>zJtwl0HAgQP&yDX&Jhd*Mcb7^KESRr(LKDK1r4m z4NwqaiHCyoP%o>GeKXlUc~5r*C?8O61EC>tdw2HDi7`)uA!DjW@xH|wUwZND1)e?v zeBmlCy6PfHp0hP)xT8~jeIYn~PHFIYHUBejW1|>^v&KkgL>I5ur)n}}(3a!{@X?s) z!5Q}zp=S3;?p<=R?(aKpg7gpiCO1wuny%LB-gn}d+-_sxGCf=EH37JGM2&*S(tTv- z68bn<20O{~J)+{OM{D?wev--KBrZ@;UoCH3cJWN>)V=+?w(AiBXXI0oO&yHdzq&ZD zIP^Iv2tPQgAde;|kzrsux=l(x+;@I)bO+lZ_3~YJFsZcPeeu7KyYCbj;3)|7EH7!+ z%Rh@3*Ti8#@d~{)HuxD*y_oMkiRfZPmTDeJ;pX?mRJwUGl2Of3K&PV^9F}x$OsCtY z7GN3nP@pg!U%*R{$3=0>VJ|6Ss> zrJ1?zT|l+33bgKWy_)IT8JZF0GlK88e%JFs3Gjvn78V521x*f`c{dH3B)JEr$CRND zzL`&{@gxsP6!pxFCRN-DzETkx92NT@@l$Z&~vo2AyURctE4OL0@i8V|cCAS$ zn6c!-fL4Ijv>sZpW|uXje3ooMd8CSlS4Vq2L0tC4`s8FZ37tY<*LkBpax{%qk}JTO z!;XOtEsjE}#n!?``H=IXH0M(#8F#I0MEPPv#Za)2AWr*tjM^CP{%&u<;u!gzk3txS zMIh-BW}hNAYUnQv{4!h&4l9h5CYBPFaMt;S2$^9_+nLb;v0917i&z@0XGkXN3lU}! zRI&;ZrXhPx#ZE+#Ziu-Gf}T;KoI(>XKv zWQpzZ8Y8;f6i&fm*3A)htn0(FY2x7`%r)r(wA%i(BJT^s1$D8=R3&x;X%kSlSzqF$ ztL#u2n~AgP$3pmJmy#R{)~MzZIGD5YtCM77njzEYX$&1?Nsu?sXPC!{f0`+II$GXa z3MM%xP=~o+P}WGZNfzQj<8-E425Zpj&%mo3C{yl{CY;*Kucg(lbMWUpBsWUThMBqS z#qBT5j}r^*KV75IwWn-&bXyoolx(xGx9cF>@FSj}sWK0Y?}2`Vu9o_ihD;{xqgfD% zKw-!7qo(w$zy588m;H7*p+_(ZP7YI`vbbAMaLySijCqVX_T=jnir- zS5E{dx)j$Fl{GtLa{n!ccL?Cno|o6CPq-eVnh4OLE}y0kL+QPw!8g7F<)ENfS7ST= zIljg_fS1z6cdUTJAQK@D-Z6G`NVvumIe0QzFiUT*1=_jvM>l~2x#^v1-ur$5^AF8c*L2^PE_q-XayCDQESLI6;wU{GBE z%%3DTLO6AQG6l~pc{MLvL2~o zrFD>M+mz3w$^Z-WZX0yJeG%;|FW?UO37v%Z#}Zxl3Xxurp7F!iA-F6J&ihj!)LZ+gP-2@pxH_@pC(;%^r6I2b zNE!6xf=+UwLIp(~;qV$-*Hs|TejhM(Q|@xR-EzF+ z4sVGxK8NXeCjvEw*w8fq>_}iM$M3@m^wSCWQX|Oez2|=12uo-WB6VmJMx}g~p)k~B zhDO(;-3j3YV)#C{+ToAzJJcTY_wMJG0axcP9+ceSxfNW|YFyCjsgKvI+lQ{BKE6P{ zwVyf{qRP09h3 zvMKNGEz8pdLESGUq{+`I-B9zl#Q1~{qqU1xB9WfCCq6ePWZbcevPb!>4V!@)z|K-P zYXr~_%E22-9(jBUT!=oYPs36_nq3l)oa@U2yH;WvOa>lc7W6Du;XF(UkV&_2{L;(Bv1a>cBh7mSwwvpa)V{RPw~L(0Sr^ zrVFMY^lKsw%ti`k-1KQpylExJTILO$rNjZ9P?YnymH<=JKF3?*f6zW>HQ9hAj01KN zTIs|>Vhg!z%N5wyfkPq-uqn2;E_ccVn~jwwAjcMZ#o|#@t z!HGNkfU7I&D4*+&BiC$pYO)M9tvo+BF*{8LC@XR99p%R5A|;K6&O|?KEcifZ#fV?8 zk*P+i!Zc>Tjlk;oy*Z49W}?z5MluWirIZ+zSWJwa@EeUggD+&No8r_DgtQ&bnTD*x zBg0m(89EBJU~_AUoqqKvL+i(4jf_L^H{a<(3V z=E`Z&d~UHVLM@u9{lcMj^-3j`D{~Uw7E33)DWkxZeu)dyDt03w+Hlm%&f|qal!Q#{ zn>|hWxa!2Cb-L;*Ls+HoNGq_+nrd6xPZj%58$$4saM2^`)X%sH8&VEVTdbb_i`hGMK#xgRoYk4bH(n<#Sort*b*qZP!=JEO1R-@T)!{U=(1>hEcVKR9M-TU#e(eFH1w{~_UGM`e5XQG#Cl z1ankrx2?;jA(EHC&uaZkY)5*=}KwjiKDL^dLAvO~gn~(ch zhlBg8T%R1jGvbhPWEF73lX{_r23X=P(bHQO$9L>1P-@c$4dD8235?V!*rBe6s(&SC ztWO+924PS(OdwH|N?`aNOyzRjk)jlInKG8&@j>XM^I{?Sq% zGR&BUVo9#(bl3(cTgtWZl+B9*)1%58F@uXg7(OW_r7=|H%^n*oI%Tqm<{L5Qx~|CO z14j#k;Yy_R26}r&<1p;zQm-8gg;)CL@0$-8fBB58&E3px{;O63(?8(6^%CUu4J}_u zS0`f|Cr6n#^nX3`6V;Du*diz|u<_Iq<^t9AD3%qUfHhfZUcz$3Ve-cr>eJ<~vNLCy zmSOadPOT=s)3W0CsC5R*d3c?J+{JpGyP1j?!%F1f;d{|@nC_jfZ9c8@dETBrKkrv{ z0=b0@!nhu%HhER9e`>PGoiIEFyDU&Xg$sRHd#FSxRWD{=VJd>d=v{*L8Pmxs3wo%( z5p=8Z7YIt@flY)-)Gx$23c_X)nnxHv_skJl-&L4$F^=U3$}v18`&>LC*_W@>Gy6#I z!jmO7eKo&3Pwi*oaiprMW-8a$0FJEzZXSgF^a+lZ$w)Wn!EU3oDKq1wSy#*6t^vLX zh!cZrm)R_6u27kA!vG`wV{w!o@R^Ank$Ihdr!H2ollD#AjdH8v;CD0w|WN_0>*Yty}U8pVbsLa6fGFpKcW#>gw^ zoG}W*iW)f3S=4Eo%q?gcJ@ndu@xo0HXPyHI&B3E}Imkp>_1?II1A8e@LSCq2VlzN+ zdH|4YH;rx#nJtH;T&Y~=8VSK(E5XoXbmfu4y?!na08iWzo$_Qf%sC}|i2BrKUFi#4 zv(8c{n?eeukB!n3@{bggVefW3U9S_PVkjSR8cDVtz$&ZLG6tI4tVjNX*3cQ>Luu_p zTQXe&{yr5K%&h6)VP@=Dn-jl~4T}vO+$*kRo5d}*O(Ykg_hIq%!C=f<|F18K8+vy^@ZO7 z?;Fi=Ie@k}ZKg82QEZSB7@lL9&HXd6oPavVr^v8o@dT7eE z7Em?@LBeGLtgJ&D;`m!k*j8aZuccEgFENF20p|TDr*h_S{ri16L*`bQ8E^foWKq8x z(3vsBGqKH2B6k>9^|rHz@6sW{?}&SfnyIRV6P5_>v{Q56_k)MQpdgcD$>U^0@IQX2 zBAwLH91JB9>Zr<}!RY70*vu51zQ^k!TB(Y&Rgwty^1yh8ep{PvqJTuNK;FH3f%>Pl ziQymC6iG*0o40jE+E(Al*x|Por9esNt(C(wi#94o5fbKg7x+mK5zQYyE-W@1V+>6u z-21{$+O=r4dp*U(75b*=j>(IjlsEbAD4KBtlkEcNGY0<6#8~@ny64`+IzC^g4@h+& zOAspG-c!t=Y~KS7;3}Rg_VGi)73K612d>VzH{xPM6~tTfGP(uX0hPTc&5eik;9jIESDgGywmK>f~Fz&IQ^5)eV#6+sfeNV zdETF|;&U7X?ivFZKH{`hoH4N%Js6Kisdg~`hz=$N1B90YgUEnkV`#H0{I?vl;Cs}H?Z8Kba)ejSc zsU`I;l{;}SokI+pVtT=ijVpT53V-uFSxHPpI-nPJJ)Eb8O2&(|tgR?YZhinq=PUmU zd;8}@;ELM=Wl=n$`osh50y;4tEY;fE!*5d~X1K*(-MezEZNfKk&Qbcyz}CQ|cKriY z+gJ)%b}^{bY8^W_VlXPCd%T7l)!!6q5+gM^^MH~?5t;GMkY@wi9r4h&Z zyr!;7>cr(OgEC<;lJd99}Yq96aS&G@ZY`k&s*Z?nBZRZ9(74dodw2`0d;7dvUi zq8))BQVsMon!ud+J7^RU>yw!Dfa%u`6)D8EuBWYa*6J;7mUs6|rHc2FkZ)XB(-{nq zgm`foD?AgK>Dg08duRLP#?`||z89!1<_=_t0bK9txeR&9kLj`Y>+?bshTYYI3ac(+ zPEvA`roz@{2*6ynhgTj$a}`ErR(pvNEm)GEH+#p8cBswG1n2y&0*kLIioZeSPR4Oi>gC^R&Fp&q2VnNi48gud# z)ih$+Ibn90%3X`5>Or2O+00Aqs9i4K&+}loKu6Xzh-juzyf=mpyE2=lr3R;D3?<-J zRM+faSCN|0sb68lEG?U}^S{;w$Ke$9YQ-6;hZ*Ccg&h`hQWdXm^uh=mx=_Z~pX5^r4Kru7^bN*PD9t$Zn(A_Y#*LC*#UvxGtA~Cs zO$xwqWNcv{Tp^b^bOa`05X#==kPCOC+M7s#3W~`EtEml2wm03{^|Y3$)j_ z#aO~x%0ev$^VItY3Mu#g{*`rx@A5`gW(1`B%IsKCmmR27u&}V$!xpy3-#{T)ZCt26 zi8B906m~?cS0ek$$&&6Cv>v!Gu6hypwbnKK`aR=-Q=48d%x@DS<#9(2l2 z7IcdmOTn|$jqteM~(In+`v?kK%7SayOv~((X z@qH=VC`&r(l*y0lVr{#2FlU-i0_kNv@6>gS6Pq%mep-Abxdhc#_CUPvMoL#~XZoby za41$Uj>oy;*~$`OqgR#J;NLx8f!lqFF+_}1`Z!piRs*CxaO@MI&s~J3IqVKw0flDt z?u(nyJP6gr!QSZ+kLcXTd3`dKNQ>qXerP}Q<^c%gs0>9liEOIoQ}cyh*l#eU2d98tdaNjSl|&>S~jpI&y#@2%kPtIglhu^;Yy4z;3(YUG7Rt=VJq10YD= z^%wb&ARK|jOv>HS^)+pMZ97DC;koY1x;(sMJwC_G@>2m-He}oM`QEK7IIX@!E<$pf zn3`n&NLGKFIG@Nuv-1tg15|a2Zc0m6tK;((@a9gKrVf%Duy0k>Lepo&20X0+;VRJw zss_y;*Nis2-A=Y5*8PkIojEI>bcQ$JW@L%69-naASLmvXEE~k^@c8Z?27|9FU?mzq z8D1Yc-YZ65@+nm1i1c>hV=QdpPuYE^D9tnxvNYxIqH=mfkb%#`7hB$l22f%l7{tb+?RX_f{sLch|OvH?BTQ44}7~qFMQ%Ejz^L6s1togGPmU& z-9s|BE##4->U=jubOy&ez|;B+>I&~*ifTv^uHb*WK*N{4o22{s20+z;O#{0?9NdC-X~x0Bm=|j5bqfwC0}>KC-|+zw?c+5n+Bm?N%qlnc`k$ zyVp=4)g&=_8zJTh?2L@Jo?@&2EJcde1lXjqBs!ATM>4Ws6r^={lEvNE{4l@ z1(RnUAeYieujl2;HoK!{n5eXz%ND%AnIeTd;jnw0A9fq1yAxRccNqR5<;qHNHOa(s zfINWiCr!R|9o3P<_{(9h`WcwopMs98GDgB(TI{s}!wwZ4ij~^!#dG0{4V`wAWeJKW zMLCkP{nlXpAFc0+f9`)}C-UePr|tZfH)Tve{t}J2=vhbP6-ugj!w0t#%WNR7lOsZx z9TcAym{m$R|UHA$A zJ@l$hpH*gBhW%0!n9nzoIIS2+5>R;s0DB1)humePq{A^-bPNtWgV5<>%QQNL=kwhwE+T z=2s~qVQghNu+3p`mqu@tOV+&d**X?>T(dj|1Ffkm#(Bwu>{apRP7sYWG}zq`6A;{$9NzPF`_l0tO^BIA(qGvyK z$jo<0!;}vN-M^ex)DC4Xb6E}zL~K6hOv~jNV%KdH9AO%LEjFE0!5;y3Kp`(_8HMCs88bCi1kbF$Hz#2X(>x_0gFTaEvs^U!=;2WwY*}YH)=HZiwfuAxy zX-P@@LlRbBDJcr_8o$Zc_uumrXs_}6L!wCYCIh2!FgCH)xBDZECn`FYtMn+|lT{Ff z@USSvgZMRh3>fR+*l-ajH`PfFRArg0T8y>aSduRf-}+?Rsa?_|1Tfth)MgS+In+3L zqw_A7Mm|ioh(lTO`Y;C2zWzBXP=By|S@Mk*A)#`OWFWRX+ogI>o| zqA)9o7YNwkq1Uu1k=5!*M3shhrSSZCq{wjT>;UmmX23~5iAN@f+(yUhE3x5yT7*o5 z|1#~4OzMu_qawSF-)dj0MWt$myUWZq4m=xkQO@y$H}fstmd8dv>9v0~k@;RQ;5ng$ zrxzU-Ws?N|rPB3F&UoFzlY8qC`b3dnm?U?sIf0Vz&>kwfcIT;&AROE<={{pFqfltP z#E86stO)*Ck;#|O;!}~TqGLvv#u&BYk~&gW)v3OwLZzouArrXIC@s zcikILz`#LWB!5)EWm19alab!v>tOp3T{Grz@_)KCzg?@(!wEq=aP z;4wA#!rm@n+AL9B#G3z6UfNa12Qj41y+80i9+JIS#1!G|Q(}KCSvS7E{^K}l2byR6@;ZG2VE+H75bYmj zwd21sF@^!UhaMr&)mLP=9F(lP;(!>nuUkZT;#>SIbIGs@^|tTrOvskorl-5RYn6gR z@u%A;U@R6ob|-e(a!_x7XedQeep`Zg*lRN8E_v2#;v%rD8yRS6vf4iHNcj50;nEeA z!9!{-FjtheB#FHOVJl)E0B+t+^K(IHbJzxn&`G!6-4}~9cUW1?rz;u@i;FU4O~VLY z@@cr19Fm_T-dUy&YIEO(EUrf&!6v6PHukt6vY>pUudF9v>&=VwpCnd%r~ChV(k# z|04X8+aJ>C|Mh#LDgUiQ{wJ?D#q%%o|IO={dil@(zbj4&emTE>>;FstKdGPp4EKic z?|Xlfss1vZS4r!?Z{pYG{2^NXGsy3%yf=~RFU$XXkUvRQ|BU%NCI6=9`(@+ce|us7 zi}{!8zCRD~JEQ!@?f)|3R~q?m?){H={)y@TGw>VGzk~WlNdK}S%)bKu*NOPgD8G|R zZ)MUiL%{lblz$+n|2)9&hxj*c>X#Ye{rv!c%T)at{`Ug#jS2W=Dz6jw|AzNpQTS_K z;Lq5<7b*W48#l7Q$NqfbSbU-#vuK*8R|LVSH;zn0#8G;hEDA14_y?EnA( literal 0 HcmV?d00001 diff --git a/src/main/generated/.cache/5c5e34c6b23ad145fcbd6caafbf967007e4a8b8b b/src/main/generated/.cache/5c5e34c6b23ad145fcbd6caafbf967007e4a8b8b new file mode 100644 index 0000000..3ad4b5a --- /dev/null +++ b/src/main/generated/.cache/5c5e34c6b23ad145fcbd6caafbf967007e4a8b8b @@ -0,0 +1,3 @@ +// 1.20.4 2024-01-21T21:20:57.049164582 Delicious Dishes/dishes +1f65a30409d1c2c6430719120b006a65359dbfec data/dishes/worldgen/placed_feature/salt_ore.json +b923b2c0e59f586cd53f11c367965f748807ede8 data/dishes/worldgen/configured_feature/salt_ore.json diff --git a/src/main/generated/data/dishes/worldgen/configured_feature/salt_ore.json b/src/main/generated/data/dishes/worldgen/configured_feature/salt_ore.json new file mode 100644 index 0000000..3820d1b --- /dev/null +++ b/src/main/generated/data/dishes/worldgen/configured_feature/salt_ore.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 9, + "targets": [ + { + "state": { + "Name": "dishes:salt_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + } + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/dishes/worldgen/placed_feature/salt_ore.json b/src/main/generated/data/dishes/worldgen/placed_feature/salt_ore.json new file mode 100644 index 0000000..9b3df25 --- /dev/null +++ b/src/main/generated/data/dishes/worldgen/placed_feature/salt_ore.json @@ -0,0 +1,44 @@ +{ + "feature": { + "type": "minecraft:ore", + "config": { + "discard_chance_on_air_exposure": 0.0, + "size": 9, + "targets": [ + { + "state": { + "Name": "dishes:salt_ore" + }, + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + } + } + ] + } + }, + "placement": [ + { + "type": "minecraft:count", + "count": 20 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "max_inclusive": { + "absolute": 120 + }, + "min_inclusive": { + "above_bottom": 0 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesDataGen.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesDataGen.java new file mode 100644 index 0000000..3915098 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesDataGen.java @@ -0,0 +1,50 @@ +package eu.midnightdust.motschen.dishes; + +import eu.midnightdust.motschen.dishes.world.OreFeatures; +import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; +import net.minecraft.registry.RegistryBuilder; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryWrapper; + +import java.util.concurrent.CompletableFuture; + +public class DishesDataGen implements DataGeneratorEntrypoint { + @Override + public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { + FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); + pack.addProvider(WorldGenData::new); + System.out.println("out"); + } + @Override + public String getEffectiveModId() { + return "dishes"; + } + + @Override + public void buildRegistry(RegistryBuilder registryBuilder) { + System.out.println("building registry"); + registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, OreFeatures::initConfigured); + registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, OreFeatures::initPlaced); + + } + public static class WorldGenData extends FabricDynamicRegistryProvider { + public WorldGenData(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) { + System.out.println("configure"); + entries.addAll(registries.getWrapperOrThrow(RegistryKeys.CONFIGURED_FEATURE)); + entries.addAll(registries.getWrapperOrThrow(RegistryKeys.PLACED_FEATURE)); + } + + @Override + public String getName() { + return DishesMain.MOD_ID; + } + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java index eefa439..e6d1db9 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java @@ -2,32 +2,40 @@ package eu.midnightdust.motschen.dishes; import eu.midnightdust.motschen.dishes.block.*; import eu.midnightdust.motschen.dishes.blockstates.DishBites; -import eu.midnightdust.motschen.dishes.compat.CookingGuideItem; import eu.midnightdust.motschen.dishes.compat.Flags; import eu.midnightdust.motschen.dishes.config.DishesConfig; import eu.midnightdust.motschen.dishes.init.CropInit; import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; import eu.midnightdust.motschen.dishes.init.WorldGenInit; -import eu.midnightdust.motschen.dishes.item.DishItem; import eu.midnightdust.motschen.dishes.item.IceCreamItem; +import eu.midnightdust.motschen.dishes.utils.DishGroup; +import io.wispforest.lavender.book.LavenderBookItem; import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.item.*; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.text.Text; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; + +import java.util.*; + +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerBlockWithItem; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerDishWithItem; public class DishesMain implements ModInitializer { public static final String MOD_ID = "dishes"; - - public static final ItemGroup MainGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "main"), () -> new ItemStack(DishesMain.CheeseRoll)); - public static final ItemGroup DishesGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "dishes"), () -> new ItemStack(DishesMain.FishAndChips)); - public static final ItemGroup PizzaGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "pizza"), () -> new ItemStack(DishesMain.PizzaSalami)); - public static final ItemGroup SweetsGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "sweets"), () -> new ItemStack(DishesMain.IceCreamVanilla)); - public static final Item CookingGuide = new CookingGuideItem(new Item.Settings().maxCount(1)); + public static final Map> itemGroupMap = new HashMap<>(); + public static ItemGroup MainGroup; + public static ItemGroup DishesGroup; + public static ItemGroup PizzaGroup; + public static ItemGroup SweetsGroup; + public static Item CookingGuide;// = new CookingGuideItem(new Item.Settings().maxCount(1)); public static final Block Plate = new Plate(); public static final Block Bowl = new Bowl(); public static final Block PizzaBox = new Plate(); @@ -35,6 +43,7 @@ public class DishesMain implements ModInitializer { public static final Block TinyPotatoesWithCurdCheese = new Dish(); public static final Block Schnitzel = new Dish(); public static final Block PizzaMargherita = new Pizza(); + public static final Block PizzaFungi = new Pizza(); public static final Block PizzaSalami = new Pizza(); public static final Block PizzaHam = new Pizza(); public static final Block PizzaTuna = new Pizza(); @@ -45,33 +54,35 @@ public class DishesMain implements ModInitializer { public static final Block Chickenburger = new Dish(); public static final Block Cheeseburger = new Dish(); public static final Block Spaceburger = new Dish(); + public static final Block Potatoburger = new Dish(); + public static final Block Beetrootburger = new Dish(); public static final Block FishAndChips = new Dish(); public static final Block Borscht = new Soup(); - public static final Item Knife = new Item(new Item.Settings().group(DishesMain.MainGroup).recipeRemainder(DishesMain.Knife).maxCount(1)); - public static final Item PotatoSlice = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).snack().build())); - public static final Item RawFries = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); - public static final Item Fries = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).snack().build())); + public static final Item Knife = new Item(new Item.Settings().recipeRemainder(DishesMain.Knife).maxCount(1)); + public static final Item PotatoSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).snack().build())); + public static final Item RawFries = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); + public static final Item Fries = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).snack().build())); public static final Block SaltOre = new Block(FabricBlockSettings.copyOf(Blocks.COAL_ORE)); - public static final Item Salt = new Item(new Item.Settings().group(DishesMain.MainGroup)); - public static final Item Flour = new Item(new Item.Settings().group(DishesMain.MainGroup)); - public static final Item RawSpaghetti = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); - public static final Item Spaghetti = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); - public static final Item Salami = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(1f).snack().build())); - public static final Item RawBacon = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); - public static final Item Bacon = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).build())); - public static final Item CheeseRoll = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).build())); - public static final Item CheeseSlice = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.5f).snack().build())); + public static final Item Salt = new Item(new Item.Settings()); + public static final Item Flour = new Item(new Item.Settings()); + public static final Item RawSpaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); + public static final Item Spaghetti = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); + public static final Item Salami = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(3).saturationModifier(1f).snack().build())); + public static final Item RawBacon = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); + public static final Item Bacon = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).build())); + public static final Item CheeseRoll = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).build())); + public static final Item CheeseSlice = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(0.5f).snack().build())); - public static final Item IceCreamVanilla = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamChocolate = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamWhiteChocolate = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamStrawberry = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBanana = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamPear = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamSweetberry = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBlueberry = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBubblegum = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamGlowberry = new IceCreamItem(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamVanilla = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamWhiteChocolate = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamStrawberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamBanana = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamPear = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamSweetberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamBlueberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamBubblegum = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); + public static final Item IceCreamGlowberry = new IceCreamItem(new Item.Settings().food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); @Override public void onInitialize() { @@ -80,95 +91,90 @@ public class DishesMain implements ModInitializer { new DishBites(); // General // - Registry.register(Registry.ITEM, new Identifier("dishes","salt_ore"), new BlockItem(SaltOre, new Item.Settings().group(DishesMain.MainGroup))); - Registry.register(Registry.BLOCK, new Identifier("dishes","salt_ore"), SaltOre); - Registry.register(Registry.ITEM, new Identifier("dishes","salt"), Salt); - Registry.register(Registry.ITEM, new Identifier("dishes","flour"), Flour); - Registry.register(Registry.ITEM, new Identifier("dishes","knife"), Knife); - Registry.register(Registry.ITEM, new Identifier("dishes","potato_slice"), PotatoSlice); - Registry.register(Registry.ITEM, new Identifier("dishes","raw_fries"), RawFries); - Registry.register(Registry.ITEM, new Identifier("dishes","fries"), Fries); - Registry.register(Registry.ITEM, new Identifier("dishes","raw_spaghetti"), RawSpaghetti); - Registry.register(Registry.ITEM, new Identifier("dishes","spaghetti"), Spaghetti); - Registry.register(Registry.ITEM, new Identifier("dishes","salami"), Salami); - Registry.register(Registry.ITEM, new Identifier("dishes","raw_bacon"), RawBacon); - Registry.register(Registry.ITEM, new Identifier("dishes","bacon"), Bacon); - Registry.register(Registry.ITEM, new Identifier("dishes","cheese_roll"), CheeseRoll); - Registry.register(Registry.ITEM, new Identifier("dishes","cheese_slice"), CheeseSlice); + registerBlockWithItem(new Identifier(MOD_ID,"salt_ore"), SaltOre, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"salt"), Salt, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"flour"), Flour, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"knife"), Knife, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"potato_slice"), PotatoSlice, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"raw_fries"), RawFries, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"fries"), Fries, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"raw_spaghetti"), RawSpaghetti, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"spaghetti"), Spaghetti, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"salami"), Salami, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"raw_bacon"), RawBacon, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"bacon"), Bacon, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"cheese_roll"), CheeseRoll, DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"cheese_slice"), CheeseSlice, DishGroup.MAIN); CropInit.init(); // Dishes // - Registry.register(Registry.ITEM, new Identifier("dishes","plate"), new DishItem(Plate, new Item.Settings().group(DishesMain.DishesGroup))); - Registry.register(Registry.BLOCK, new Identifier("dishes","plate"), Plate); - Registry.register(Registry.ITEM, new Identifier("dishes","bowl"), new DishItem(Bowl, new Item.Settings().group(DishesMain.DishesGroup))); - Registry.register(Registry.BLOCK, new Identifier("dishes","bowl"), Bowl); - Registry.register(Registry.ITEM, new Identifier("dishes","potatoeswithcurdcheese"), new DishItem(PotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","potatoeswithcurdcheese"), PotatoesWithCurdCheese); + registerBlockWithItem(new Identifier(MOD_ID,"plate"), Plate, DishGroup.DISHES); + registerBlockWithItem(new Identifier(MOD_ID,"bowl"), Bowl, DishGroup.DISHES); + registerDishWithItem(new Identifier(MOD_ID,"potatoeswithcurdcheese"), PotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); if (FabricLoader.getInstance().isModLoaded("lil_tater") | FabricLoader.getInstance().isModLoaded("liltater") | FabricLoader.getInstance().isModLoaded("ltr")) - Registry.register(Registry.ITEM, new Identifier("dishes","tinypotatoeswithcurdcheese"), new DishItem(TinyPotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + registerDishWithItem(new Identifier(MOD_ID,"tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.DISHES, 10, 1f); else - Registry.register(Registry.ITEM, new Identifier("dishes","tinypotatoeswithcurdcheese"), new DishItem(TinyPotatoesWithCurdCheese, new Item.Settings().food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + registerDishWithItem(new Identifier(MOD_ID,"tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese, DishGroup.NONE, 10, 1f); - Registry.register(Registry.BLOCK, new Identifier("dishes","tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese); + if (DishesConfig.enableMeatDishes) { + registerDishWithItem(new Identifier(MOD_ID, "schnitzel"), Schnitzel, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "spaghetti_bolognese"), SpaghettiBolognese, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "steak"), Steak, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "hamburger"), Hamburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "chickenburger"), Chickenburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "cheeseburger"), Cheeseburger, DishGroup.DISHES, 10, 1f); - Registry.register(Registry.ITEM, new Identifier("dishes","schnitzel"), new DishItem(Schnitzel, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","schnitzel"), Schnitzel); - Registry.register(Registry.ITEM, new Identifier("dishes","spaghetti_bolognese"), new DishItem(SpaghettiBolognese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","spaghetti_bolognese"), SpaghettiBolognese); - Registry.register(Registry.ITEM, new Identifier("dishes","steak"), new DishItem(Steak, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","steak"), Steak); - Registry.register(Registry.ITEM, new Identifier("dishes","hamburger"), new DishItem(Hamburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","hamburger"), Hamburger); - Registry.register(Registry.ITEM, new Identifier("dishes","chickenburger"), new DishItem(Chickenburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","chickenburger"), Chickenburger); - Registry.register(Registry.ITEM, new Identifier("dishes","cheeseburger"), new DishItem(Cheeseburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","cheeseburger"), Cheeseburger); + if (FabricLoader.getInstance().isModLoaded("ad_astra")) + registerDishWithItem(new Identifier(MOD_ID, "spaceburger"), Spaceburger, DishGroup.DISHES, 10, 1f); + else + registerDishWithItem(new Identifier(MOD_ID, "spaceburger"), Spaceburger, DishGroup.NONE, 10, 1f); - if (FabricLoader.getInstance().isModLoaded("ad_astra")) - Registry.register(Registry.ITEM, new Identifier("dishes", "spaceburger"), new DishItem(Spaceburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - else - Registry.register(Registry.ITEM, new Identifier("dishes", "spaceburger"), new DishItem(Spaceburger, new Item.Settings().food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - - Registry.register(Registry.BLOCK, new Identifier("dishes", "spaceburger"), Spaceburger); - - Registry.register(Registry.ITEM, new Identifier("dishes","fishandchips"), new DishItem(FishAndChips, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","fishandchips"), FishAndChips); - Registry.register(Registry.ITEM, new Identifier("dishes","borscht"), new DishItem(Borscht, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","borscht"), Borscht); + } + registerDishWithItem(new Identifier(MOD_ID, "potatoburger"), Potatoburger, DishGroup.DISHES, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "beetrootburger"), Beetrootburger, DishGroup.DISHES, 10, 1f); + if (DishesConfig.enableMeatDishes) { + registerDishWithItem(new Identifier(MOD_ID, "fishandchips"), FishAndChips, DishGroup.DISHES, 10, 1f); + } + registerDishWithItem(new Identifier(MOD_ID,"borscht"), Borscht, DishGroup.DISHES, 10, 1f); // Pizza // - Registry.register(Registry.ITEM, new Identifier("dishes","pizzabox"), new DishItem(PizzaBox, new Item.Settings().group(DishesMain.PizzaGroup))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzabox"), PizzaBox); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzamargherita"), new DishItem(PizzaMargherita, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzamargherita"), PizzaMargherita); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzasalami"), new DishItem(PizzaSalami, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzasalami"), PizzaSalami); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzaham"), new DishItem(PizzaHam, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzaham"), PizzaHam); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzatuna"), new DishItem(PizzaTuna, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzatuna"), PizzaTuna); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzabacon"), new DishItem(PizzaBacon, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","pizzabacon"), PizzaBacon); + registerBlockWithItem(new Identifier(MOD_ID,"pizzabox"), PizzaBox, DishGroup.PIZZA); + registerDishWithItem(new Identifier(MOD_ID,"pizzamargherita"), PizzaMargherita, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID,"pizzafungi"), PizzaFungi, DishGroup.PIZZA, 10, 1f); + if (DishesConfig.enableMeatDishes) { + registerDishWithItem(new Identifier(MOD_ID, "pizzasalami"), PizzaSalami, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "pizzaham"), PizzaHam, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "pizzatuna"), PizzaTuna, DishGroup.PIZZA, 10, 1f); + registerDishWithItem(new Identifier(MOD_ID, "pizzabacon"), PizzaBacon, DishGroup.PIZZA, 10, 1f); + } // Ice Cream // - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_vanilla"), IceCreamVanilla); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_chocolate"), IceCreamChocolate); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_white_chocolate"), IceCreamWhiteChocolate); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_strawberry"), IceCreamStrawberry); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_banana"), IceCreamBanana); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_pear"), IceCreamPear); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_sweetberry"), IceCreamSweetberry); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_blueberry"), IceCreamBlueberry); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_bubblegum"), IceCreamBubblegum); - Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_glowberry"), IceCreamGlowberry); + registerItem(new Identifier(MOD_ID,"ice_cream_vanilla"), IceCreamVanilla, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_chocolate"), IceCreamChocolate, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_white_chocolate"), IceCreamWhiteChocolate, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_strawberry"), IceCreamStrawberry, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_banana"), IceCreamBanana, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_pear"), IceCreamPear, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_sweetberry"), IceCreamSweetberry, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_blueberry"), IceCreamBlueberry, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_bubblegum"), IceCreamBubblegum, DishGroup.SWEETS); + registerItem(new Identifier(MOD_ID,"ice_cream_glowberry"), IceCreamGlowberry, DishGroup.SWEETS); - Registry.register(Registry.ITEM, new Identifier("dishes","cooking_guide"), CookingGuide); // Compat // - if (FabricLoader.getInstance().isModLoaded("patchouli")) { + if (FabricLoader.getInstance().isModLoaded("lavender")) { Flags.init(); } IceCreamTraderInit.init(); WorldGenInit.init(); + MainGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.main")).icon(() -> new ItemStack(DishesMain.CheeseRoll)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.MAIN))))).build(); + DishesGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.dishes")).icon(() -> new ItemStack(DishesMain.PotatoesWithCurdCheese)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.DISHES))))).build(); + PizzaGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.pizza")).icon(() -> new ItemStack(DishesMain.PizzaSalami)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.PIZZA))))).build(); + SweetsGroup = FabricItemGroup.builder().displayName(Text.translatable("itemGroup.dishes.sweets")).icon(() -> new ItemStack(DishesMain.IceCreamVanilla)).entries(((displayContext, entries) -> entries.addAll((itemGroupMap.get(DishGroup.SWEETS))))).build(); + Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "main"), MainGroup); + Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "dishes"), DishesGroup); + Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "pizza"), PizzaGroup); + Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "sweets"), SweetsGroup); + CookingGuide = LavenderBookItem.registerForBook(new Identifier(MOD_ID, "cooking_guide"), new Item.Settings()); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java index f171200..a433486 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java @@ -1,8 +1,10 @@ package eu.midnightdust.motschen.dishes.block; +import com.mojang.serialization.MapCodec; import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.blockstates.DishBites; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.renderer.v1.material.MaterialFinder; import net.minecraft.block.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; @@ -25,7 +27,7 @@ public class Dish extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Dish() { - super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } @@ -48,7 +50,7 @@ public class Dish extends HorizontalFacingBlock { @Override public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) - .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) + .with(FACING, itemPlacementContext.getHorizontalPlayerFacing().getOpposite()) .with(DISH_BITES, 0); } @@ -67,4 +69,8 @@ public class Dish extends HorizontalFacingBlock { return !worldView.isAir(pos.down()); } + @Override + protected MapCodec getCodec() { + return null; + } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java index 4d4dd72..7da5947 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java @@ -1,5 +1,6 @@ package eu.midnightdust.motschen.dishes.block; +import com.mojang.serialization.MapCodec; import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.blockstates.DishBites; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -25,7 +26,7 @@ public class Pizza extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Pizza() { - super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } @@ -48,7 +49,7 @@ public class Pizza extends HorizontalFacingBlock { @Override public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) - .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) + .with(FACING, itemPlacementContext.getHorizontalPlayerFacing().getOpposite()) .with(DISH_BITES, 0); } @@ -70,4 +71,8 @@ public class Pizza extends HorizontalFacingBlock { return !worldView.isAir(pos.down()); } + @Override + protected MapCodec getCodec() { + return null; + } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java index 5b3b63c..4f8e3d9 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java @@ -1,5 +1,6 @@ package eu.midnightdust.motschen.dishes.block; +import com.mojang.serialization.MapCodec; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.item.ItemPlacementContext; @@ -15,14 +16,14 @@ public class Plate extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Plate() { - super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH)); } @Override public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) - .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()); + .with(FACING, itemPlacementContext.getHorizontalPlayerFacing().getOpposite()); } @Override @@ -40,4 +41,8 @@ public class Plate extends HorizontalFacingBlock { return !worldView.isAir(pos.down()); } + @Override + protected MapCodec getCodec() { + return null; + } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java index a365056..b816c20 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java @@ -1,5 +1,6 @@ package eu.midnightdust.motschen.dishes.block; +import com.mojang.serialization.MapCodec; import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.blockstates.SoupSips; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -25,7 +26,7 @@ public class Soup extends HorizontalFacingBlock { private static final VoxelShape SHAPE; public Soup() { - super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.copyOf(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(SOUP_SIPS, 0)); } @@ -48,7 +49,7 @@ public class Soup extends HorizontalFacingBlock { @Override public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) - .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) + .with(FACING, itemPlacementContext.getHorizontalPlayerFacing().getOpposite()) .with(SOUP_SIPS, 0); } @@ -67,4 +68,8 @@ public class Soup extends HorizontalFacingBlock { return !worldView.isAir(pos.down()); } + @Override + protected MapCodec getCodec() { + return null; + } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java index 822aa34..107d84b 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java @@ -3,10 +3,10 @@ package eu.midnightdust.motschen.dishes.compat; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.registry.Registries; import net.minecraft.util.Hand; import net.minecraft.util.Identifier; import net.minecraft.util.TypedActionResult; -import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import java.util.Optional; @@ -18,7 +18,7 @@ public class CookingGuideItem extends Item { public TypedActionResult use(World world, PlayerEntity user, Hand hand) { ItemStack itemStack = user.getStackInHand(hand); - Optional item = Registry.ITEM.getOrEmpty(new Identifier("patchouli", "guide_book")); + Optional item = Registries.ITEM.getOrEmpty(new Identifier("patchouli", "guide_book")); ItemStack stack = new ItemStack(item.get()); stack.getOrCreateNbt().putString("patchouli:book", "dishes:cooking_guide"); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java index 109510b..3b75b76 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java @@ -1,8 +1,11 @@ package eu.midnightdust.motschen.dishes.compat; +import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.item.Item; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; + +import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class Flags { public static Item FlagGermany = new Item(new Item.Settings()); @@ -10,11 +13,15 @@ public class Flags { public static Item FlagUK = new Item(new Item.Settings()); public static Item FlagUkraine = new Item(new Item.Settings()); public static Item FlagUSA = new Item(new Item.Settings()); + public static Item LabelVeggie = new Item(new Item.Settings()); + public static Item LabelVegan = new Item(new Item.Settings()); public static void init() { - Registry.register(Registry.ITEM, new Identifier("dishes","flag_germany"), FlagGermany); - Registry.register(Registry.ITEM, new Identifier("dishes","flag_italy"), FlagItaly); - Registry.register(Registry.ITEM, new Identifier("dishes","flag_uk"), FlagUK); - Registry.register(Registry.ITEM, new Identifier("dishes","flag_ukraine"), FlagUkraine); - Registry.register(Registry.ITEM, new Identifier("dishes","flag_usa"), FlagUSA); + registerItem(new Identifier(MOD_ID,"flag_germany"), FlagGermany, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"flag_italy"), FlagItaly, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"flag_uk"), FlagUK, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"flag_ukraine"), FlagUkraine, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"flag_usa"), FlagUSA, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"label_veggie"), LabelVeggie, DishGroup.NONE); + registerItem(new Identifier(MOD_ID,"label_vegan"), LabelVegan, DishGroup.NONE); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java index ba523d8..b25d00d 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java @@ -3,9 +3,11 @@ package eu.midnightdust.motschen.dishes.config; import eu.midnightdust.lib.config.MidnightConfig; public class DishesConfig extends MidnightConfig { - @Entry public static boolean spawnTrader = true; - @Entry public static boolean tomatoes = true; - @Entry public static boolean lettuce = true; - @Entry public static boolean saltOre = true; - @Entry public static boolean customLoot = true; + public static final String FEATURES = "features"; + @Entry(category = FEATURES) public static boolean spawnTrader = true; + @Entry(category = FEATURES) public static boolean tomatoes = true; + @Entry(category = FEATURES) public static boolean lettuce = true; + @Entry(category = FEATURES) public static boolean saltOre = true; + @Entry(category = FEATURES) public static boolean customLoot = true; + @Entry(category = FEATURES) public static boolean enableMeatDishes = true; } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java index aefd199..4fd427d 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java @@ -5,9 +5,9 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnReason; import net.minecraft.entity.SpawnRestriction; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.registry.entry.RegistryEntry; import net.minecraft.server.world.ServerWorld; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.registry.RegistryEntry; import net.minecraft.world.*; import net.minecraft.world.level.ServerWorldProperties; import net.minecraft.world.poi.PointOfInterestStorage; @@ -37,7 +37,7 @@ public class IceCreamTraderSpawn { BlockPos blockPos2 = optional.orElse(blockPos); BlockPos blockPos3 = getLlamaSpawnPosition(serverWorld, blockPos2, 48); if (blockPos3 != null && wontSuffocateAt(serverWorld, blockPos3)) { - IceCreamTraderEntity traderEntity = IceCreamTraderInit.ICE_CREAM_TRADER.spawn(serverWorld, null,null,null, blockPos3, SpawnReason.EVENT, false, false); + IceCreamTraderEntity traderEntity = IceCreamTraderInit.ICE_CREAM_TRADER.spawn(serverWorld, blockPos3, SpawnReason.EVENT); if (traderEntity != null) { serverWorldProperties.setWanderingTraderId(traderEntity.getUuid()); traderEntity.setDespawnDelay(32000); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java index 6ecd1ae..623b261 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java @@ -1,7 +1,7 @@ package eu.midnightdust.motschen.dishes.init; -import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.entities.IceCreamTraderEntity; +import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; import net.minecraft.entity.EntityDimensions; @@ -10,17 +10,20 @@ import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.attribute.EntityAttributes; import net.minecraft.entity.mob.MobEntity; import net.minecraft.item.Item; -import net.minecraft.item.ItemGroup; import net.minecraft.item.SpawnEggItem; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; + +import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class IceCreamTraderInit { public static final EntityType ICE_CREAM_TRADER = - Registry.register(Registry.ENTITY_TYPE,new Identifier(DishesMain.MOD_ID,"ice_cream_trader"), FabricEntityTypeBuilder.create(SpawnGroup.CREATURE, IceCreamTraderEntity::new).dimensions(EntityDimensions.fixed(1f,2f)).trackRangeBlocks(100).trackedUpdateRate(4).build()); + Registry.register(Registries.ENTITY_TYPE,new Identifier(MOD_ID,"ice_cream_trader"), FabricEntityTypeBuilder.create(SpawnGroup.CREATURE, IceCreamTraderEntity::new).dimensions(EntityDimensions.fixed(1f,2f)).trackRangeBlocks(100).trackedUpdateRate(4).build()); public static void init() { - Registry.register(Registry.ITEM, new Identifier(DishesMain.MOD_ID,"ice_cream_trader_spawn_egg"), new SpawnEggItem(ICE_CREAM_TRADER,5349438,15377456, new Item.Settings().group(ItemGroup.MISC))); + registerItem(new Identifier(MOD_ID,"ice_cream_trader_spawn_egg"), new SpawnEggItem(ICE_CREAM_TRADER,5349438,15377456, new Item.Settings()), DishGroup.MAIN); FabricDefaultAttributeRegistry.register(ICE_CREAM_TRADER, MobEntity.createMobAttributes().add(EntityAttributes.GENERIC_MAX_HEALTH, 20.0D)); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java index 113bcef..0139dee 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java @@ -1,20 +1,25 @@ package eu.midnightdust.motschen.dishes.init; import eu.midnightdust.motschen.dishes.block.Lettuce; +import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.block.Block; import net.minecraft.item.AliasedBlockItem; import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; + +import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class LettuceInit { public static final Item Lettuce = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(1).saturationModifier(0.75f).snack().build())); public static final Block LettuceBush = new Lettuce(); public static void init() { - Registry.register(Registry.ITEM, new Identifier("dishes","lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings())); - Registry.register(Registry.ITEM, new Identifier("dishes","lettuce"), Lettuce); - Registry.register(Registry.BLOCK, new Identifier("dishes","lettucebush"), LettuceBush); + registerItem(new Identifier(MOD_ID,"lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings()), DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"lettuce"), Lettuce, DishGroup.MAIN); + Registry.register(Registries.BLOCK, new Identifier(MOD_ID,"lettucebush"), LettuceBush); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java index 8f9906b..346baf4 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java @@ -1,20 +1,25 @@ package eu.midnightdust.motschen.dishes.init; import eu.midnightdust.motschen.dishes.block.Tomato; +import eu.midnightdust.motschen.dishes.utils.DishGroup; import net.minecraft.block.Block; import net.minecraft.item.AliasedBlockItem; import net.minecraft.item.FoodComponent; import net.minecraft.item.Item; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; + +import static eu.midnightdust.motschen.dishes.DishesMain.MOD_ID; +import static eu.midnightdust.motschen.dishes.utils.RegistryUtils.registerItem; public class TomatoInit { public static final Item Tomato = new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(2).saturationModifier(1f).snack().build())); public static final Block TomatoBush = new Tomato(); public static void init() { - Registry.register(Registry.ITEM, new Identifier("dishes","tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings())); - Registry.register(Registry.ITEM, new Identifier("dishes","tomato"), Tomato); - Registry.register(Registry.BLOCK, new Identifier("dishes","tomatobush"), TomatoBush); + registerItem(new Identifier(MOD_ID,"tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings()), DishGroup.MAIN); + registerItem(new Identifier(MOD_ID,"tomato"), Tomato, DishGroup.MAIN); + Registry.register(Registries.BLOCK, new Identifier(MOD_ID,"tomatobush"), TomatoBush); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/utils/DishGroup.java b/src/main/java/eu/midnightdust/motschen/dishes/utils/DishGroup.java new file mode 100644 index 0000000..3d03ab3 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/utils/DishGroup.java @@ -0,0 +1,5 @@ +package eu.midnightdust.motschen.dishes.utils; + +public enum DishGroup { + NONE, MAIN, DISHES, PIZZA, SWEETS; +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java b/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java new file mode 100644 index 0000000..a43ef9c --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/utils/RegistryUtils.java @@ -0,0 +1,36 @@ +package eu.midnightdust.motschen.dishes.utils; + +import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.item.DishItem; +import net.minecraft.block.Block; +import net.minecraft.item.*; +import net.minecraft.registry.*; +import net.minecraft.util.Identifier; +import net.minecraft.world.gen.feature.ConfiguredFeature; +import net.minecraft.world.gen.feature.PlacedFeature; +import org.apache.commons.compress.utils.Lists; + +import java.util.List; + +public class RegistryUtils { + public static void registerBlockWithItem(Identifier id, Block block, DishGroup group) { + Registry.register(Registries.BLOCK, id, block); + registerItem(id, new BlockItem(block, new Item.Settings()), group); + } + public static void registerDishWithItem(Identifier id, Block block, DishGroup group, int hunger, float saturation) { + Registry.register(Registries.BLOCK, id, block); + registerItem(id, new DishItem(block, new Item.Settings().food(new FoodComponent.Builder().hunger(hunger).saturationModifier(saturation).build())), group); + } + public static void registerItem(Identifier id, Item item, DishGroup group) { + Registry.register(Registries.ITEM, id, item); + List groupItems = DishesMain.itemGroupMap.containsKey(group) ? DishesMain.itemGroupMap.get(group) : Lists.newArrayList(); + groupItems.add(new ItemStack(item)); + DishesMain.itemGroupMap.put(group, groupItems); + } + public static void register(Registerable> context, String name, ConfiguredFeature feature) { + context.register(RegistryKey.of(RegistryKeys.CONFIGURED_FEATURE, new Identifier(DishesMain.MOD_ID, name)), feature); + } + public static void register(Registerable context, String name, PlacedFeature feature) { + context.register(RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(DishesMain.MOD_ID, name)), feature); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java index ee4579f..22d6583 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java @@ -1,35 +1,33 @@ package eu.midnightdust.motschen.dishes.world; import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.utils.RegistryUtils; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; -import net.minecraft.tag.BiomeTags; +import net.minecraft.registry.*; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.registry.tag.BiomeTags; +import net.minecraft.registry.tag.BlockTags; +import net.minecraft.structure.rule.TagMatchRuleTest; import net.minecraft.util.Identifier; -import net.minecraft.util.registry.BuiltinRegistries; -import net.minecraft.util.registry.Registry; -import net.minecraft.util.registry.RegistryEntry; import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.YOffset; import net.minecraft.world.gen.feature.*; -import net.minecraft.world.gen.placementmodifier.CountPlacementModifier; -import net.minecraft.world.gen.placementmodifier.HeightRangePlacementModifier; -import net.minecraft.world.gen.placementmodifier.SquarePlacementModifier; +import net.minecraft.world.gen.placementmodifier.*; import java.util.List; public class OreFeatures { - private static final ConfiguredFeature SALT_ORE_FEATURE = new ConfiguredFeature<>(Feature.ORE, new OreFeatureConfig( - OreConfiguredFeatures.STONE_ORE_REPLACEABLES, DishesMain.SaltOre.getDefaultState(),4)); - public static PlacedFeature SALT_ORE_PLACED_FEATURE = new PlacedFeature( - RegistryEntry.of(SALT_ORE_FEATURE), - List.of( - CountPlacementModifier.of(20), - SquarePlacementModifier.of(), - HeightRangePlacementModifier.uniform(YOffset.BOTTOM, YOffset.fixed(120)) - )); + public static ConfiguredFeature SALT_ORE_FEATURE = new ConfiguredFeature<>(Feature.ORE, new OreFeatureConfig(new TagMatchRuleTest(BlockTags.STONE_ORE_REPLACEABLES), DishesMain.SaltOre.getDefaultState(), 9)); + public static PlacedFeature SALT_ORE_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(SALT_ORE_FEATURE), List.of(CountPlacementModifier.of(20), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.BOTTOM, YOffset.fixed(120)), BiomePlacementModifier.of())); + + public static void initConfigured(Registerable> context) { + RegistryUtils.register(context, "salt_ore", SALT_ORE_FEATURE); + } + public static void initPlaced(Registerable context) { + RegistryUtils.register(context, "salt_ore", SALT_ORE_PLACED_FEATURE); + } public static void init() { - Registry.register(BuiltinRegistries.CONFIGURED_FEATURE, new Identifier(DishesMain.MOD_ID, "salt_ore"), SALT_ORE_FEATURE); - Registry.register(BuiltinRegistries.PLACED_FEATURE, new Identifier(DishesMain.MOD_ID, "placed_salt_ore"), SALT_ORE_PLACED_FEATURE); BiomeModifications.addFeature(biome -> (!biome.hasTag(BiomeTags.IS_NETHER) && !biome.hasTag(BiomeTags.END_CITY_HAS_STRUCTURE)), - GenerationStep.Feature.UNDERGROUND_ORES, BuiltinRegistries.PLACED_FEATURE.getKey(OreFeatures.SALT_ORE_PLACED_FEATURE).get()); + GenerationStep.Feature.UNDERGROUND_ORES, RegistryKey.of(RegistryKeys.PLACED_FEATURE, new Identifier(DishesMain.MOD_ID, "salt_ore"))); } } diff --git a/src/main/resources/assets/dishes/blockstates/beetrootburger.json b/src/main/resources/assets/dishes/blockstates/beetrootburger.json new file mode 100644 index 0000000..da45d47 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/beetrootburger.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,bites=0": { "model": "dishes:block/beetrootburger" }, + "facing=east,bites=0": { "model": "dishes:block/beetrootburger", "y": 90 }, + "facing=south,bites=0": { "model": "dishes:block/beetrootburger", "y": 180 }, + "facing=west,bites=0": { "model": "dishes:block/beetrootburger", "y": 270 }, + "facing=north,bites=1": { "model": "dishes:block/beetrootburger1" }, + "facing=east,bites=1": { "model": "dishes:block/beetrootburger1", "y": 90 }, + "facing=south,bites=1": { "model": "dishes:block/beetrootburger1", "y": 180 }, + "facing=west,bites=1": { "model": "dishes:block/beetrootburger1", "y": 270 }, + "facing=north,bites=2": { "model": "dishes:block/beetrootburger2" }, + "facing=east,bites=2": { "model": "dishes:block/beetrootburger2", "y": 90 }, + "facing=south,bites=2": { "model": "dishes:block/beetrootburger2", "y": 180 }, + "facing=west,bites=2": { "model": "dishes:block/beetrootburger2", "y": 270 }, + "facing=north,bites=3": { "model": "dishes:block/beetrootburger3" }, + "facing=east,bites=3": { "model": "dishes:block/beetrootburger3", "y": 90 }, + "facing=south,bites=3": { "model": "dishes:block/beetrootburger3", "y": 180 }, + "facing=west,bites=3": { "model": "dishes:block/beetrootburger3", "y": 270 }, + "facing=north,bites=4": { "model": "dishes:block/beetrootburger4" }, + "facing=east,bites=4": { "model": "dishes:block/beetrootburger4", "y": 90 }, + "facing=south,bites=4": { "model": "dishes:block/beetrootburger4", "y": 180 }, + "facing=west,bites=4": { "model": "dishes:block/beetrootburger4", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/blockstates/pizzafungi.json b/src/main/resources/assets/dishes/blockstates/pizzafungi.json new file mode 100644 index 0000000..6533fb7 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/pizzafungi.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,bites=0": { "model": "dishes:block/pizzafungi" }, + "facing=east,bites=0": { "model": "dishes:block/pizzafungi", "y": 90 }, + "facing=south,bites=0": { "model": "dishes:block/pizzafungi", "y": 180 }, + "facing=west,bites=0": { "model": "dishes:block/pizzafungi", "y": 270 }, + "facing=north,bites=1": { "model": "dishes:block/pizzafungi1" }, + "facing=east,bites=1": { "model": "dishes:block/pizzafungi1", "y": 90 }, + "facing=south,bites=1": { "model": "dishes:block/pizzafungi1", "y": 180 }, + "facing=west,bites=1": { "model": "dishes:block/pizzafungi1", "y": 270 }, + "facing=north,bites=2": { "model": "dishes:block/pizzafungi2" }, + "facing=east,bites=2": { "model": "dishes:block/pizzafungi2", "y": 90 }, + "facing=south,bites=2": { "model": "dishes:block/pizzafungi2", "y": 180 }, + "facing=west,bites=2": { "model": "dishes:block/pizzafungi2", "y": 270 }, + "facing=north,bites=3": { "model": "dishes:block/pizzafungi3" }, + "facing=east,bites=3": { "model": "dishes:block/pizzafungi3", "y": 90 }, + "facing=south,bites=3": { "model": "dishes:block/pizzafungi3", "y": 180 }, + "facing=west,bites=3": { "model": "dishes:block/pizzafungi3", "y": 270 }, + "facing=north,bites=4": { "model": "dishes:block/pizzafungi4" }, + "facing=east,bites=4": { "model": "dishes:block/pizzafungi4", "y": 90 }, + "facing=south,bites=4": { "model": "dishes:block/pizzafungi4", "y": 180 }, + "facing=west,bites=4": { "model": "dishes:block/pizzafungi4", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/blockstates/potatoburger.json b/src/main/resources/assets/dishes/blockstates/potatoburger.json new file mode 100644 index 0000000..063c669 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/potatoburger.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,bites=0": { "model": "dishes:block/potatoburger" }, + "facing=east,bites=0": { "model": "dishes:block/potatoburger", "y": 90 }, + "facing=south,bites=0": { "model": "dishes:block/potatoburger", "y": 180 }, + "facing=west,bites=0": { "model": "dishes:block/potatoburger", "y": 270 }, + "facing=north,bites=1": { "model": "dishes:block/potatoburger1" }, + "facing=east,bites=1": { "model": "dishes:block/potatoburger1", "y": 90 }, + "facing=south,bites=1": { "model": "dishes:block/potatoburger1", "y": 180 }, + "facing=west,bites=1": { "model": "dishes:block/potatoburger1", "y": 270 }, + "facing=north,bites=2": { "model": "dishes:block/potatoburger2" }, + "facing=east,bites=2": { "model": "dishes:block/potatoburger2", "y": 90 }, + "facing=south,bites=2": { "model": "dishes:block/potatoburger2", "y": 180 }, + "facing=west,bites=2": { "model": "dishes:block/potatoburger2", "y": 270 }, + "facing=north,bites=3": { "model": "dishes:block/potatoburger3" }, + "facing=east,bites=3": { "model": "dishes:block/potatoburger3", "y": 90 }, + "facing=south,bites=3": { "model": "dishes:block/potatoburger3", "y": 180 }, + "facing=west,bites=3": { "model": "dishes:block/potatoburger3", "y": 270 }, + "facing=north,bites=4": { "model": "dishes:block/potatoburger4" }, + "facing=east,bites=4": { "model": "dishes:block/potatoburger4", "y": 90 }, + "facing=south,bites=4": { "model": "dishes:block/potatoburger4", "y": 180 }, + "facing=west,bites=4": { "model": "dishes:block/potatoburger4", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/lang/en_us.json b/src/main/resources/assets/dishes/lang/en_us.json index 2da84cf..d90fa6e 100644 --- a/src/main/resources/assets/dishes/lang/en_us.json +++ b/src/main/resources/assets/dishes/lang/en_us.json @@ -28,14 +28,16 @@ "block.dishes.plate":"Plate", "block.dishes.bowl":"Bowl", "block.dishes.pizzabox":"Empty Pizzabox", - "block.dishes.potatoeswithcurdcheese":"Potatoes with Curd Cheese", - "block.dishes.tinypotatoeswithcurdcheese":"Tiny Potatoes with Curd Cheese", + "block.dishes.potatoeswithcurdcheese":"Potatoes with Curd", + "block.dishes.tinypotatoeswithcurdcheese":"Tiny Potatoes with Curd", "block.dishes.schnitzel":"Schnitzel", "block.dishes.pizzamargherita":"Pizza Margherita", "block.dishes.pizzasalami":"Pizza Salami", "block.dishes.pizzaham":"Pizza Ham", "block.dishes.pizzatuna":"Pizza Tuna", "block.dishes.pizzabacon":"Pizza Bacon", + "block.dishes.pizzafungi":"Pizza Fungi", + "block.dishes.pizzafungi.tooltip":"§aVegetarian", "block.dishes.spaghetti_bolognese":"Spaghetti Bolognese", "block.dishes.steak":"Steak", "block.dishes.hamburger":"Hamburger", @@ -43,6 +45,10 @@ "block.dishes.cheeseburger":"Cheeseburger", "block.dishes.spaceburger":"Spaceburger", "block.dishes.spaceburger.tooltip":"§bTastes... suspicious.", + "block.dishes.potatoburger":"Potatoburger", + "block.dishes.potatoburger.tooltip":"§7Vegan", + "block.dishes.beetrootburger":"Beetrootburger", + "block.dishes.beetrootburger.tooltip":"§6Vegan.", "block.dishes.fishandchips":"Fish and Chips", "block.dishes.borscht":"Borscht", diff --git a/src/main/resources/assets/dishes/lavender/books/cooking_guide.json b/src/main/resources/assets/dishes/lavender/books/cooking_guide.json new file mode 100644 index 0000000..38454da --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/books/cooking_guide.json @@ -0,0 +1,4 @@ +{ + "texture": "lavender:textures/gui/brown_book.png", + "display_completion": true +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/american.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/american.md new file mode 100644 index 0000000..397c926 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/american.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_usa", + "title": "American Dishes" +} +``` + +Food from the USA \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/british.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/british.md new file mode 100644 index 0000000..feda92a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/british.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_uk", + "title": "British Dishes" +} +``` + +Food from the United Kingdom \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/general.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/general.md new file mode 100644 index 0000000..091e9f5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/general.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:plate", + "title": "General" +} +``` + +Ingredients and plates for the dishes \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/german.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/german.md new file mode 100644 index 0000000..f63eb91 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/german.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_germany", + "title": "German Dishes" +} +``` + +Food from Germany \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/italian.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/italian.md new file mode 100644 index 0000000..0760f87 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/italian.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_italy", + "title": "Italian Dishes" +} +``` + +Food from Italy \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/sweets.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/sweets.md new file mode 100644 index 0000000..ed4a0ca --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/sweets.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:ice_cream_vanilla", + "title": "Sweets" +} +``` + +Sweets and Cake \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/ukrainian.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/ukrainian.md new file mode 100644 index 0000000..6a47714 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/ukrainian.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_ukraine", + "title": "Ukrainian Dishes" +} +``` + +Food from Ukraine \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/vegan.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/vegan.md new file mode 100644 index 0000000..6d89fee --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/vegan.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:label_vegan", + "title": "Vegan Dishes" +} +``` + +Tasty food without any cruelty involved! \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/categories/cooking_guide/veggie.md b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/veggie.md new file mode 100644 index 0000000..194584f --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/categories/cooking_guide/veggie.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:label_veggie", + "title": "Vegetarian Dishes" +} +``` + +Great dishes without any meat! \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/books/cooking_guide.json b/src/main/resources/assets/dishes/lavender/de_de/books/cooking_guide.json new file mode 100644 index 0000000..ca3b8fd --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/books/cooking_guide.json @@ -0,0 +1,5 @@ +{ + "texture": "patchouli:textures/gui/book_gray.png", + "dynamic_book_model": "patchouli:book_gray", + "display_completion": true +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/american.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/american.md new file mode 100644 index 0000000..ca8be9d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/american.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_usa", + "title": "Amerikanische Gerichte" +} +``` + +Essen aus den USA \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/british.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/british.md new file mode 100644 index 0000000..874047a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/british.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_uk", + "title": "Britische Gerichte" +} +``` + +Essen aus dem Vereinigten Königreich \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/general.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/general.md new file mode 100644 index 0000000..c50689c --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/general.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:plate", + "title": "Generell" +} +``` + +Zutaten und Untersetzer für Gerichte \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/german.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/german.md new file mode 100644 index 0000000..e96ecd5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/german.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_germany", + "title": "Deutsche Gerichte" +} +``` + +Essen aus Deutschland \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/italian.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/italian.md new file mode 100644 index 0000000..ab39b0d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/italian.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_italy", + "title": "Italienische Gerichte" +} +``` + +Essen aus Italien \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/sweets.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/sweets.md new file mode 100644 index 0000000..63242f3 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/sweets.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:ice_cream_vanilla", + "title": "Süßes" +} +``` + +Süßigkeiten und Kuchen \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/ukrainian.md b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/ukrainian.md new file mode 100644 index 0000000..710b6e9 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/categories/cooking_guide/ukrainian.md @@ -0,0 +1,8 @@ +```json +{ + "icon": "dishes:flag_ukraine", + "title": "Ukrainische Gerichte" +} +``` + +Essen aus der Ukraine \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bacon.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bacon.md new file mode 100644 index 0000000..42f28a6 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:bacon", + "title": "Speck", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:bacon|> +<|page-title@lavender:book_components|title=Speck|> +Speck kann man für die Herstellung von Pizza Bacon verwenden. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/borscht.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/borscht.md new file mode 100644 index 0000000..aee7bce --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/borscht.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:borscht", + "title": "Borschtsch", + "category": "dishes:ukrainian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:borscht|> +<|page-title@lavender:book_components|title=Borschtsch|> +Traditionelle ukrainische Rote-Beete-Suppe, die meist mit Sour Cream serviert wird. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bowl.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bowl.md new file mode 100644 index 0000000..b97f969 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/bowl.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:bowl", + "title": "Schüssel", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:bowl|> +<|page-title@lavender:book_components|title=Schüssel|> +Eine Schüssel. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_roll.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_roll.md new file mode 100644 index 0000000..ffaf98a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_roll.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheese_roll", + "title": "Käserolle", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheese_roll|> +<|page-title@lavender:book_components|title=Käserolle|> +Eine rohes Stück Käse + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_slice.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_slice.md new file mode 100644 index 0000000..86638ee --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheese_slice.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheese_slice", + "title": "Käsescheibe", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheese_slice|> +<|page-title@lavender:book_components|title=Käsescheibe|> +Eine Scheibe Käse, aus einer Käserolle geschnitten + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheeseburger.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheeseburger.md new file mode 100644 index 0000000..7d7bf7c --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/cheeseburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheeseburger", + "title": "Cheeseburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheeseburger|> +<|page-title@lavender:book_components|title=Cheeseburger|> +Ein Hamburger mit Käse. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/chickenburger.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/chickenburger.md new file mode 100644 index 0000000..684ec97 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/chickenburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:chickenburger", + "title": "Chickenburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:chickenburger|> +<|page-title@lavender:book_components|title=Chickenburger|> +Ein Hamburger, bloß mit Hühnchen statt Rindfleisch. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fishandchips.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fishandchips.md new file mode 100644 index 0000000..414ad3e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fishandchips.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:fishandchips", + "title": "Fish and Chips", + "category": "dishes:british" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:fishandchips|> +<|page-title@lavender:book_components|title=Fish and Chips|> +Briten lieben dieses Gericht! + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/flour.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/flour.md new file mode 100644 index 0000000..beb41ab --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/flour.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:flour", + "title": "Mehl", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:flour|> +<|page-title@lavender:book_components|title=Mehl|> +Mehl kann zur herstellung von Teigwaren und Pizza verwendet werden. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fries.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fries.md new file mode 100644 index 0000000..d6978ca --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/fries.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:fries", + "title": "Pommes", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:fries|> +<|page-title@lavender:book_components|title=Pommes|> +Gekochte Kartoffelscheiben mit Salz. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/hamburger.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/hamburger.md new file mode 100644 index 0000000..f5988d2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/hamburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:hamburger", + "title": "Hamburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:hamburger|> +<|page-title@lavender:book_components|title=Hamburger|> +Ein klassischer Hamburger + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_banana.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_banana.md new file mode 100644 index 0000000..6943fc4 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_banana.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_banana", + "title": "Bananeneis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_banana|> +<|page-title@lavender:book_components|title=Bananeneis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md new file mode 100644 index 0000000..9fac132 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_blueberry", + "title": "Blaubeereis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_blueberry|> +<|page-title@lavender:book_components|title=Blaubeereis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md new file mode 100644 index 0000000..3e6afb5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_bubblegum", + "title": "Kaugummieis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_bubblegum|> +<|page-title@lavender:book_components|title=Kaugummieis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md new file mode 100644 index 0000000..9a5448e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_chocolate", + "title": "Schokoeis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_chocolate|> +<|page-title@lavender:book_components|title=Schokoeis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md new file mode 100644 index 0000000..3cba3b2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_sweetberry", + "title": "Süßbeereis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_sweetberry|> +<|page-title@lavender:book_components|title=Süßbeereis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_pear.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_pear.md new file mode 100644 index 0000000..c2bc3e2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_pear.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_pear", + "title": "Birneneis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_pear|> +<|page-title@lavender:book_components|title=Birneneis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md new file mode 100644 index 0000000..2be2fd6 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_strawberry", + "title": "Erdbeereis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_strawberry|> +<|page-title@lavender:book_components|title=Erdbeereis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md new file mode 100644 index 0000000..192481e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_glowberry", + "title": "Leuchtbeereis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_glowberry|> +<|page-title@lavender:book_components|title=Leuchtbeereis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md new file mode 100644 index 0000000..1846c6c --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_vanilla", + "title": "Vanilleeis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_vanilla|> +<|page-title@lavender:book_components|title=Vanilleeis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md new file mode 100644 index 0000000..02814d0 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_white_chocolate", + "title": "Weißes Schokoeis", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_white_chocolate|> +<|page-title@lavender:book_components|title=Weißes Schokoeis|> +Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/knife.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/knife.md new file mode 100644 index 0000000..eab7940 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/knife.md @@ -0,0 +1,22 @@ +```json +{ + "icon": "dishes:knife", + "title": "Messer", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:knife|> +<|page-title@lavender:book_components|title=Messer|> +Erlaubt es dir, Essen in kleinere Stücke zu schneiden. + +;;;;; + + + + + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuce.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuce.md new file mode 100644 index 0000000..7a027f2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuce.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:lettuce", + "title": "Salat", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:lettuce|> +<|page-title@lavender:book_components|title=Salat|> +Salat wird zur Herstellung von vielen Gerichten verwendet. Du kannst ihn in Dörfern finden. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuceseed.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuceseed.md new file mode 100644 index 0000000..b46bdc5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/lettuceseed.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:lettuceseed", + "title": "Salatsamen", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:lettuceseed|> +<|page-title@lavender:book_components|title=Salatsamen|> +Mit Salatsamen kannst du eine Salatfarm anlegen. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabacon.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabacon.md new file mode 100644 index 0000000..3bed7f8 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzabacon", + "title": "Pizza Bacon", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzabacon|> +<|page-title@lavender:book_components|title=Pizza Bacon|> +Eine Pizza mit Bacon. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabox.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabox.md new file mode 100644 index 0000000..889fd94 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzabox.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzabox", + "title": "Pizzabox", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzabox|> +<|page-title@lavender:book_components|title=Pizzabox|> +An empty pizzabox :( + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzaham.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzaham.md new file mode 100644 index 0000000..15d26b9 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzaham.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzaham", + "title": "Pizza Schinken", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzaham|> +<|page-title@lavender:book_components|title=Pizza Schinken|> +Eine Pizza mit Schinken, yummy! + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzamargherita.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzamargherita.md new file mode 100644 index 0000000..36c381d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzamargherita.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzamargherita", + "title": "Pizza Margherita", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzamargherita|> +<|page-title@lavender:book_components|title=Pizza Margherita|> +Benannt nach Margherita von Savoy (Königin Italiens von 1878 bis 1900) + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzasalami.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzasalami.md new file mode 100644 index 0000000..bed2310 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzasalami.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzasalami", + "title": "Pizza Salami", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzasalami|> +<|page-title@lavender:book_components|title=Pizza Salami|> +Die klassische Pizza. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzatuna.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzatuna.md new file mode 100644 index 0000000..ed772c3 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/pizzatuna.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzatuna", + "title": "Pizza Tuhnfisch", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzatuna|> +<|page-title@lavender:book_components|title=Pizza Tuhnfisch|> +Eine Pizza mit Tuhnfisch lol + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/plate.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/plate.md new file mode 100644 index 0000000..942b056 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/plate.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:plate", + "title": "Teller", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:plate|> +<|page-title@lavender:book_components|title=Teller|> +Ein Teller. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potato_slice.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potato_slice.md new file mode 100644 index 0000000..ba27e00 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potato_slice.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:potato_slice", + "title": "Kartoffelscheibe", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:potato_slice|> +<|page-title@lavender:book_components|title=Kartoffelscheibe|> +Ein Stück einer Kartoffel. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md new file mode 100644 index 0000000..38d1ef8 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:potatoeswithcurdcheese", + "title": "Kartoffeln mit Quark", + "category": "dishes:german" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:potatoeswithcurdcheese|> +<|page-title@lavender:book_components|title=Kartoffeln mit Quark|> +Sehr leckeres deutsches Essen. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_bacon.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_bacon.md new file mode 100644 index 0000000..8cbc474 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_bacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_bacon", + "title": "Roher Speck", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_bacon|> +<|page-title@lavender:book_components|title=Roher Speck|> +Rohen Speck kann man kochen, worauf Speck entsteht. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_fries.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_fries.md new file mode 100644 index 0000000..05bdb6f --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_fries.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_fries", + "title": "Rohe Pommes", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_fries|> +<|page-title@lavender:book_components|title=Rohe Pommes|> +Ein Kartoffelstück mit Salz. Man kann daraus im Ofen Pommes herstellen. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_spaghetti.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_spaghetti.md new file mode 100644 index 0000000..a139c99 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/raw_spaghetti.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_spaghetti", + "title": "Rohe Spaghetti", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_spaghetti|> +<|page-title@lavender:book_components|title=Rohe Spaghetti|> +Rohe Variante der Spaghetti. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salami.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salami.md new file mode 100644 index 0000000..4408ee5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salami.md @@ -0,0 +1,22 @@ +```json +{ + "icon": "dishes:salami", + "title": "Salami", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salami|> +<|page-title@lavender:book_components|title=Salami|> +Salami ist eine Art Wurst, die auch als Salzwurst bezeichnet wird. Man kann sie aus Schweine- und Rindfleisch herstellen. + +;;;;; + + + + + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt.md new file mode 100644 index 0000000..85f1450 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt", + "title": "Salz", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salt|> +<|page-title@lavender:book_components|title=Sals|> +Mit Salz kann viele Gerichte herstellen. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt_ore.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt_ore.md new file mode 100644 index 0000000..51913c2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/salt_ore.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt_ore", + "title": "Salzerz", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salt_ore|> +<|page-title@lavender:book_components|title=Salzerz|> +Die Quelle von Salz. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/schnitzel.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/schnitzel.md new file mode 100644 index 0000000..c666cdc --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/schnitzel.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:schnitzel", + "title": "Schnitzel", + "category": "dishes:german" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:schnitzel|> +<|page-title@lavender:book_components|title=Schnitzel|> +Lecker, lecker... + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti.md new file mode 100644 index 0000000..3ea491d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt", + "title": "Spaghetti", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:spaghetti|> +<|page-title@lavender:book_components|title=Spaghetti|> +Spaghetti sind Nudeln und können zur Herstellung von Spaghetti Bolognese verwendet werden. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md new file mode 100644 index 0000000..4edeb0e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:spaghetti_bolognese", + "title": "Spaghetti Bolognese", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:spaghetti_bolognese|> +<|page-title@lavender:book_components|title=Spaghetti Bolognese|> +Wer liebt Spaghetti nicht? + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/steak.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/steak.md new file mode 100644 index 0000000..d2fef4c --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/steak.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:steak", + "title": "Steak", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:steak|> +<|page-title@lavender:book_components|title=Steak|> +Ein sehr berühmtes Gericht. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomato.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomato.md new file mode 100644 index 0000000..bf836cf --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomato.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:tomato", + "title": "Tomate", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:tomato|> +<|page-title@lavender:book_components|title=Tomate|> +Eine Tomate ist eine rote Frucht, die für viele Rezepte verwendet wird. Sie ist in Dörfern zu finden. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomatoseed.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomatoseed.md new file mode 100644 index 0000000..816cde8 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/cooking_guide/tomatoseed.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:tomatoseed", + "title": "Tomatensamen", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:tomatoseed|> +<|page-title@lavender:book_components|title=Tomatensamen|> +Mit Tomatensamen kannst du eine Tomatenfarm anlegen. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/landing_page.md b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/landing_page.md new file mode 100644 index 0000000..303c057 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/de_de/entries/cooking_guide/landing_page.md @@ -0,0 +1,7 @@ +```json +{ + "title": "book.dishes.cooking_guide" +} +``` + +text.dishes.landing_text \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bacon.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bacon.md new file mode 100644 index 0000000..2778a44 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:bacon", + "title": "Bacon", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:bacon|> +<|page-title@lavender:book_components|title=Bacon|> +Bacon can be used to create bacon pizza. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/beetrootburger.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/beetrootburger.md new file mode 100644 index 0000000..c3c70ec --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/beetrootburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:beetrootburger", + "title": "Beetrootburger", + "category": "dishes:vegan" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:beetrootburger|> +<|page-title@lavender:book_components|title=Beetrootburger|> +Healthy vegan burger involving beetroot + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/borscht.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/borscht.md new file mode 100644 index 0000000..76cbc8f --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/borscht.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:borscht", + "title": "Borscht", + "category": "dishes:ukrainian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:borscht|> +<|page-title@lavender:book_components|title=Borscht|> +Traditional Ukrainian beetroot soup usually served with sour cream. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bowl.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bowl.md new file mode 100644 index 0000000..03b24fc --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/bowl.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:bowl", + "title": "Bowl", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:bowl|> +<|page-title@lavender:book_components|title=Bowl|> +A bowl. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_roll.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_roll.md new file mode 100644 index 0000000..2798af7 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_roll.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheese_roll", + "title": "Cheese Roll", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheese_roll|> +<|page-title@lavender:book_components|title=Cheese Roll|> +A roll of cheese + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_slice.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_slice.md new file mode 100644 index 0000000..37ebcc5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheese_slice.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheese_slice", + "title": "Cheese Slice", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheese_slice|> +<|page-title@lavender:book_components|title=Cheese Slice|> +A piece of cheese cut out of a cheese roll + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheeseburger.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheeseburger.md new file mode 100644 index 0000000..684ef7d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/cheeseburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:cheeseburger", + "title": "Cheeseburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:cheeseburger|> +<|page-title@lavender:book_components|title=Cheeseburger|> +A Hamburger with Cheese + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/chickenburger.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/chickenburger.md new file mode 100644 index 0000000..b82ce1a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/chickenburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:chickenburger", + "title": "Chickenburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:chickenburger|> +<|page-title@lavender:book_components|title=Chickenburger|> +A Hamburger, but with Chicken instead of Beef + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fishandchips.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fishandchips.md new file mode 100644 index 0000000..70c05a5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fishandchips.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:fishandchips", + "title": "Fish and Chips", + "category": "dishes:british" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:fishandchips|> +<|page-title@lavender:book_components|title=Fish and Chips|> +Brits love this. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/flour.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/flour.md new file mode 100644 index 0000000..abbb153 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/flour.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:flour", + "title": "Flour", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:flour|> +<|page-title@lavender:book_components|title=Flour|> +Flour can be used to create pasta and pizza. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fries.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fries.md new file mode 100644 index 0000000..723d81a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/fries.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:fries", + "title": "Fries", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:fries|> +<|page-title@lavender:book_components|title=Fries|> +Cooked potato slices with salt. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/hamburger.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/hamburger.md new file mode 100644 index 0000000..40c6b14 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/hamburger.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:hamburger", + "title": "Hamburger", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:hamburger|> +<|page-title@lavender:book_components|title=Hamburger|> +A classic Hamburger + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_banana.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_banana.md new file mode 100644 index 0000000..844b73a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_banana.md @@ -0,0 +1,15 @@ +```json +{ + "icon": "dishes:ice_cream_banana", + "title": "Ice Cream Banana", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_banana|> +<|page-title@lavender:book_components|title=Ice Cream Banana|> +Who doesn't love ice cream? Sold by the Ice Cream trader. + +;;;;; + + \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md new file mode 100644 index 0000000..0439457 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_blueberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_blueberry", + "title": "Ice Cream Blueberry", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_blueberry|> +<|page-title@lavender:book_components|title=Ice Cream Blueberry|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md new file mode 100644 index 0000000..d37d4e5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_bubblegum.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_bubblegum", + "title": "Ice Cream Bubblegum", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_bubblegum|> +<|page-title@lavender:book_components|title=Ice Cream Bubblegum|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md new file mode 100644 index 0000000..d1aaae6 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_chocolate.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_chocolate", + "title": "Ice Cream Chocolate", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_chocolate|> +<|page-title@lavender:book_components|title=Ice Cream Chocolate|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md new file mode 100644 index 0000000..a422140 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_glowberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_glowberry", + "title": "Ice Cream Glow Berry", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_glowberry|> +<|page-title@lavender:book_components|title=Ice Cream Glow Berry|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_pear.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_pear.md new file mode 100644 index 0000000..619f7c2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_pear.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_pear", + "title": "Ice Cream Pear", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_pear|> +<|page-title@lavender:book_components|title=Ice Cream Pear|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md new file mode 100644 index 0000000..a947ba2 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_strawberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_strawberry", + "title": "Ice Cream Strawberry", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_strawberry|> +<|page-title@lavender:book_components|title=Ice Cream Strawberry|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md new file mode 100644 index 0000000..b3eecec --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_sweetberry.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_sweetberry", + "title": "Ice Cream Sweet Berry", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_sweetberry|> +<|page-title@lavender:book_components|title=Ice Cream Sweet Berry|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md new file mode 100644 index 0000000..9a0a046 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_vanilla.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_vanilla", + "title": "Ice Cream Vanilla", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_vanilla|> +<|page-title@lavender:book_components|title=Ice Cream Vanilla|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md new file mode 100644 index 0000000..fc9f61f --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/ice_cream_white_chocolate.md @@ -0,0 +1,11 @@ +```json +{ + "icon": "dishes:ice_cream_white_chocolate", + "title": "Ice Cream White Chocolate", + "category": "dishes:sweets" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:ice_cream_white_chocolate|> +<|page-title@lavender:book_components|title=Ice Cream White Chocolate|> +Who doesn't love ice cream? Sold by the Ice Cream trader. \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/knife.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/knife.md new file mode 100644 index 0000000..1483b64 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/knife.md @@ -0,0 +1,22 @@ +```json +{ + "icon": "dishes:knife", + "title": "Knife", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:knife|> +<|page-title@lavender:book_components|title=Knife|> +Allows you to cut certain resources into a smaller form. + +;;;;; + + + + + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuce.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuce.md new file mode 100644 index 0000000..5e515d4 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuce.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:lettuce", + "title": "Lettuce", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:lettuce|> +<|page-title@lavender:book_components|title=Lettuce|> +Lettuce is used for many dishes. It can be found in village chests and can be used to craft Lettuce Seeds. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuceseed.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuceseed.md new file mode 100644 index 0000000..b5c386a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/lettuceseed.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:lettuceseed", + "title": "Lettuce Seeds", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:lettuceseed|> +<|page-title@lavender:book_components|title=Lettuce Seeds|> +Lettuce Seeds allow you to create a lettuce farm. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabacon.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabacon.md new file mode 100644 index 0000000..b94cba7 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzabacon", + "title": "Pizza Bacon", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzabacon|> +<|page-title@lavender:book_components|title=Pizza Bacon|> +A pizza with bacon on it. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabox.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabox.md new file mode 100644 index 0000000..889fd94 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzabox.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzabox", + "title": "Pizzabox", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzabox|> +<|page-title@lavender:book_components|title=Pizzabox|> +An empty pizzabox :( + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi.md new file mode 100644 index 0000000..314fee5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzafungi", + "title": "Pizza Fungi", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzafungi|> +<|page-title@lavender:book_components|title=Pizza Fungi|> +Who doesn't like Pizza? These mushrooms surely do! + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi_vegetarian.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi_vegetarian.md new file mode 100644 index 0000000..ed4df31 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzafungi_vegetarian.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzafungi", + "title": "Pizza Fungi", + "category": "dishes:veggie" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzafungi|> +<|page-title@lavender:book_components|title=Pizza Fungi|> +Who doesn't like Pizza? These mushrooms surely do! + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzaham.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzaham.md new file mode 100644 index 0000000..cf7a7ff --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzaham.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzaham", + "title": "Pizza Ham", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzaham|> +<|page-title@lavender:book_components|title=Pizza Ham|> +A pizza with ham, yummy! + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzamargherita.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzamargherita.md new file mode 100644 index 0000000..d1b679e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzamargherita.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzamargherita", + "title": "Pizza Margherita", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzamargherita|> +<|page-title@lavender:book_components|title=Pizza Margherita|> +Named after Margherita of Savoy (Queen of Italy from 1878 until 1900) + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzasalami.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzasalami.md new file mode 100644 index 0000000..8dcb647 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzasalami.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzasalami", + "title": "Pizza Salami", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzasalami|> +<|page-title@lavender:book_components|title=Pizza Salami|> +The classical pizza + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzatuna.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzatuna.md new file mode 100644 index 0000000..65b370d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/pizzatuna.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:pizzatuna", + "title": "Pizza Tuna", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:pizzatuna|> +<|page-title@lavender:book_components|title=Pizza Tuna|> +A pizza with tuna lol + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/plate.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/plate.md new file mode 100644 index 0000000..740cfd5 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/plate.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:plate", + "title": "Plate", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:plate|> +<|page-title@lavender:book_components|title=Plate|> +A plate. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potato_slice.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potato_slice.md new file mode 100644 index 0000000..82310f4 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potato_slice.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:potato_slice", + "title": "Potato Slice", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:potato_slice|> +<|page-title@lavender:book_components|title=Potato Slice|> +A slice of a potato. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoburger.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoburger.md new file mode 100644 index 0000000..8093a29 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoburger.md @@ -0,0 +1,48 @@ +```json +{ + "icon": "dishes:potatoburger", + "title": "Vegan Potato-Burger", + "category": "dishes:vegan" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:potatoburger|> +A delicious vegan burger alternative + + + +;;;;; + +*Try it in real life!* + +**Ingredients (4 burgers):** + +- 4 peeled & boiled potatoes +- 1 can (15 oz) chickpeas, drained and rinsed +- 1/2 cup rolled oats or breadcrumbs +- 1 small onion, chopped +- 1 clove garlic, minced +- 1 tablespoon olive oil +- 1 teaspoon smoked paprika +- 1/2 teaspoon ground cumin +- Salt and pepper, to taste +- Burger buns or wraps +- Toppings (Lettuce leaves, tomato slices) + +;;;;; + +**Instructions:** +1. In a large bowl, mash the potatoes til' they're smooth but still slightly chunky. +2. In a pan, heat olive oil (medium heat). Cook onion, paprika & garlic til' they become soft (3-4 minutes). +3. In another bowl, combine it with chickpeas, cumin powder, salt, and pepper. +4. Add potatoes and stir until combined. Gradually add the oats while mixing. +5. Preheat your oven (375°F / 190°C) + baking sheet with parchment paper. + +;;;;; + +6. Shape the mixture into 4 large patties, press them down firmly on the sheet. +7. Bake the patties in the preheated oven for 20-25 minutes until golden brown and crispy. +8. While the burgers are baking, lightly toast your burger buns or wraps. +9. Place the desired toppings on the bottom bun or wrap. Top it off with one of the cooked potato patties. +10. Serve immediately with your favorite side dishes! Enjoy! + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md new file mode 100644 index 0000000..3f018b8 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/potatoeswithcurdcheese.md @@ -0,0 +1,44 @@ +```json +{ + "icon": "dishes:potatoeswithcurdcheese", + "title": "Potatoes with Curd", + "category": "dishes:german" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:potatoeswithcurdcheese|> +Very delicious german food + + + +;;;;; + +*Try it in real life!* + +**Ingredients (4 portions):** + +- 4 medium-sized potatoes, peeled +- 1 cup curd (yogurt) +- 2 tablespoons oil or ghee +- 1 teaspoon cumin seeds +- 1/2 teaspoon turmeric powder +- 1/2 teaspoon red chili powder +- Salt, to taste +- Freshly chopped coriander leaves, for garnishing + +;;;;; + +**Instructions:** +1. In a large pot, boil the potatoes in enough water until they are cooked. Drain the water when done and set aside. +2. In a pan, heat the oil or ghee over medium heat. +3. Add cumin seeds and let them sizzle for a few bit until they turn brownish. +4. Now add turmeric powder, red chili powder, and salt to taste. Stir well and cook for a minute. +5. Lower the flame & gently stir in the curd/yogurt. + +;;;;; + +6. Cook it over low heat for 3-4 minutes, ensuring it doesn't boil over/split. +7. Once it has thickened a bit and turned slightly pinkish, add the cooked potatoes and mix well with the curd mixture. +8. Cook the potatoes on low heat for another 5-7 minutes, allowing them to soak up all the flavors. +9. Turn off the flame and garnish the dish with freshly chopped coriander leaves. +10. Guten Appetit! \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_bacon.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_bacon.md new file mode 100644 index 0000000..ca84015 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_bacon.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_bacon", + "title": "Raw Bacon", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_bacon|> +<|page-title@lavender:book_components|title=Raw Bacon|> +Raw Bacon can be cooked in a furnace. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_fries.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_fries.md new file mode 100644 index 0000000..61242db --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_fries.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_fries", + "title": "Raw Fries", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_fries|> +<|page-title@lavender:book_components|title=Raw Fries|> +A potato slice with salt. Can be cooked in a furnace to create fries. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_spaghetti.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_spaghetti.md new file mode 100644 index 0000000..55c3c9e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/raw_spaghetti.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:raw_spaghetti", + "title": "Raw Spaghetti", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:raw_spaghetti|> +<|page-title@lavender:book_components|title=Raw Spaghetti|> +Raw Spaghetti can be cooked in a furnace or smoker to create Spaghetti. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salami.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salami.md new file mode 100644 index 0000000..fea617b --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salami.md @@ -0,0 +1,22 @@ +```json +{ + "icon": "dishes:salami", + "title": "Salami", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salami|> +<|page-title@lavender:book_components|title=Salami|> +Salami is a type of meat, made out of Pig or Cow. + +;;;;; + + + + + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt.md new file mode 100644 index 0000000..0d264b0 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt", + "title": "Salt", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salt|> +<|page-title@lavender:book_components|title=Salt|> +Salt can be used to create fries. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt_ore.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt_ore.md new file mode 100644 index 0000000..8a44adc --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/salt_ore.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt_ore", + "title": "Salt Ore", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:salt_ore|> +<|page-title@lavender:book_components|title=Salt Ore|> +The source of salt. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/schnitzel.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/schnitzel.md new file mode 100644 index 0000000..f885beb --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/schnitzel.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:schnitzel", + "title": "Schnitzel", + "category": "dishes:german" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:schnitzel|> +<|page-title@lavender:book_components|title=Schnitzel|> +Tasty, Tasty... + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti.md new file mode 100644 index 0000000..380e62a --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:salt", + "title": "Spaghetti", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:spaghetti|> +<|page-title@lavender:book_components|title=Spaghetti|> +Spaghetti are pasta and can be used to cook Spaghetti Bolognese. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md new file mode 100644 index 0000000..4c2b11e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/spaghetti_bolognese.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:spaghetti_bolognese", + "title": "Spaghetti Bolognese", + "category": "dishes:italian" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:spaghetti_bolognese|> +<|page-title@lavender:book_components|title=Spaghetti Bolognese|> +Who doesn't love spaghetti? + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/steak.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/steak.md new file mode 100644 index 0000000..f5c785d --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/steak.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:steak", + "title": "Steak", + "category": "dishes:american" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:steak|> +<|page-title@lavender:book_components|title=Steak|> +A very famous dish. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomato.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomato.md new file mode 100644 index 0000000..b78df6e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomato.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:tomato", + "title": "Tomato", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:tomato|> +<|page-title@lavender:book_components|title=Tomato|> +A Tomato is a red fruit that is used for many recipes. It can be found in village chests and can be used to craft Tomato Seeds. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomatoseed.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomatoseed.md new file mode 100644 index 0000000..878013e --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/cooking_guide/tomatoseed.md @@ -0,0 +1,16 @@ +```json +{ + "icon": "dishes:tomatoseed", + "title": "Tomato Seeds", + "category": "dishes:general" +} +``` + +<|item-spotlight@lavender:book_components|item=dishes:tomatoseed|> +<|page-title@lavender:book_components|title=Tomato Seeds|> +Tomato Seeds allow you to create a tomato farm. + +;;;;; + + + diff --git a/src/main/resources/assets/dishes/lavender/entries/cooking_guide/landing_page.md b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/landing_page.md new file mode 100644 index 0000000..303c057 --- /dev/null +++ b/src/main/resources/assets/dishes/lavender/entries/cooking_guide/landing_page.md @@ -0,0 +1,7 @@ +```json +{ + "title": "book.dishes.cooking_guide" +} +``` + +text.dishes.landing_text \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/beetrootburger.json b/src/main/resources/assets/dishes/models/block/beetrootburger.json new file mode 100644 index 0000000..3fc12ad --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/beetrootburger.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger", + "textures": { + "2": "item/beetroot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/beetrootburger1.json b/src/main/resources/assets/dishes/models/block/beetrootburger1.json new file mode 100644 index 0000000..562a474 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/beetrootburger1.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger1", + "textures": { + "2": "item/beetroot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/beetrootburger2.json b/src/main/resources/assets/dishes/models/block/beetrootburger2.json new file mode 100644 index 0000000..d83e270 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/beetrootburger2.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger2", + "textures": { + "2": "item/beetroot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/beetrootburger3.json b/src/main/resources/assets/dishes/models/block/beetrootburger3.json new file mode 100644 index 0000000..76b4638 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/beetrootburger3.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger3", + "textures": { + "2": "item/beetroot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/beetrootburger4.json b/src/main/resources/assets/dishes/models/block/beetrootburger4.json new file mode 100644 index 0000000..1b860e4 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/beetrootburger4.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger4", + "textures": { + "2": "item/beetroot" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/pizzafungi.json b/src/main/resources/assets/dishes/models/block/pizzafungi.json new file mode 100644 index 0000000..5c35bf3 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzafungi.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami", + "textures": { + "1": "dishes:block/pizza_fungi" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzafungi1.json b/src/main/resources/assets/dishes/models/block/pizzafungi1.json new file mode 100644 index 0000000..0aa99bc --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzafungi1.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami1", + "textures": { + "1": "dishes:block/pizza_fungi" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzafungi2.json b/src/main/resources/assets/dishes/models/block/pizzafungi2.json new file mode 100644 index 0000000..472c135 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzafungi2.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami2", + "textures": { + "1": "dishes:block/pizza_fungi" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzafungi3.json b/src/main/resources/assets/dishes/models/block/pizzafungi3.json new file mode 100644 index 0000000..26f8a01 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzafungi3.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami3", + "textures": { + "1": "dishes:block/pizza_fungi" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzafungi4.json b/src/main/resources/assets/dishes/models/block/pizzafungi4.json new file mode 100644 index 0000000..ad4d857 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzafungi4.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami4", + "textures": { + "1": "dishes:block/pizza_fungi" + } +} diff --git a/src/main/resources/assets/dishes/models/block/potatoburger.json b/src/main/resources/assets/dishes/models/block/potatoburger.json new file mode 100644 index 0000000..b0fade7 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/potatoburger.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger", + "textures": { + "2": "item/potato" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/potatoburger1.json b/src/main/resources/assets/dishes/models/block/potatoburger1.json new file mode 100644 index 0000000..af20c67 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/potatoburger1.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger1", + "textures": { + "2": "item/potato" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/potatoburger2.json b/src/main/resources/assets/dishes/models/block/potatoburger2.json new file mode 100644 index 0000000..746e909 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/potatoburger2.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger2", + "textures": { + "2": "item/potato" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/potatoburger3.json b/src/main/resources/assets/dishes/models/block/potatoburger3.json new file mode 100644 index 0000000..267974e --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/potatoburger3.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger3", + "textures": { + "2": "item/potato" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/potatoburger4.json b/src/main/resources/assets/dishes/models/block/potatoburger4.json new file mode 100644 index 0000000..e6eccb4 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/potatoburger4.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger4", + "textures": { + "2": "item/potato" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/beetrootburger.json b/src/main/resources/assets/dishes/models/item/beetrootburger.json new file mode 100644 index 0000000..13f77aa --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/beetrootburger.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/beetrootburger" +} diff --git a/src/main/resources/assets/dishes/models/item/cooking_guide.json b/src/main/resources/assets/dishes/models/item/cooking_guide.json index 1c2e963..b7cdc58 100644 --- a/src/main/resources/assets/dishes/models/item/cooking_guide.json +++ b/src/main/resources/assets/dishes/models/item/cooking_guide.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "patchouli:items/book_gray" + "layer0": "lavender:item/brown_book" } } diff --git a/src/main/resources/assets/dishes/models/item/label_vegan.json b/src/main/resources/assets/dishes/models/item/label_vegan.json new file mode 100644 index 0000000..8cd1da6 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/label_vegan.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "dishes:item/labels/vegan" + } +} diff --git a/src/main/resources/assets/dishes/models/item/label_veggie.json b/src/main/resources/assets/dishes/models/item/label_veggie.json new file mode 100644 index 0000000..e4b9f7e --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/label_veggie.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "dishes:item/labels/veggie" + } +} diff --git a/src/main/resources/assets/dishes/models/item/pizzafungi.json b/src/main/resources/assets/dishes/models/item/pizzafungi.json new file mode 100644 index 0000000..3dcf7c0 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/pizzafungi.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/pizzafungi" +} diff --git a/src/main/resources/assets/dishes/models/item/potatoburger.json b/src/main/resources/assets/dishes/models/item/potatoburger.json new file mode 100644 index 0000000..5ddef98 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/potatoburger.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/potatoburger" +} diff --git a/src/main/resources/assets/dishes/textures/block/lettuce_stage2.png b/src/main/resources/assets/dishes/textures/block/lettuce_stage2.png index 29df312bcfc8be8548b980f0aa99222a9b9a8a27..52a58b43fdf318ea94a550126e2ad4417624f625 100644 GIT binary patch literal 4431 zcmeHKd2kcg8DC)>IWoBB2qh*4WuerBuJ+Jj?bZtz$zVCixR!$LiIZxNCwXg0E2On0 zJK*N1n-Cg;-H_IahccnzXn=B*Yf56%a!fc3Gi^vx>M0~mjfWvNIqI4zp>J36HO)-N zGtGZq&C~n#z3=;d-}}AqebU=dR=RSkA;*9q$W&LcvmEx>YRk9}e$V^-9tXS2pwi`c zxgJ3>;0x5$O-6L84s5zn@+4gvk_N|q3fpujt2%1S(WPts&!9XfCBFjYyp)b=L+U0W zQ(@l@8wKT=u>TEg((_4Q??737GPKVxpfnk_p?;;yU1p?AG;JdDp*=xa7=mOd%1Bxn zl4J-9`qyn6iAY7-J?*ozFurEV;V5%C9L7jg_Dey4Ac^+%Eo|{0%VsvO_PqJV1Nx0G z*u`C?^*`9X>9C<_SN4yZ*W|8x@{Zn}(>m+hD^DK2cI^`X-pSKd75a+8?0@Ul)f zmg#+u8ZiDue_~!wcP!DjWLeECZT`B`i2Jv%?RHjQ5Gzi1E?zf#`8MaxKC$^ryQ>w{M>&gi^1rMfrt<2Q8|np&TfYp>7u`Q{uu7Op)v zH*!2}%F+i9F8Y4!uU_4JDXlN?g}chvKkLR5v7Rf;+1|9xJF31TKmDA;cVgLxH|O?! z+S`7$gWWrL7nyV@dadW&;0~CC^^&(zsdTSm1UY2lM41PsL@1)}7*en_5#fYdpcr`& zkisn5_xldiD2XguVRaMkhy&C}#f?$mX)N^$jkN+TqDz+;3K9$i2mysNCPKk*j7hMl zhRZ-%9mY|krlQocXeCS}ha3e)i^*alu%d)iPoYZ;#)7EmXUd%`QV{TsMQao#!r*v3 z9yi6!COI0wNt&i{g2E{ZgBn<@A*^r-EF7D!LL@PqASOhmh$6{hql(G#a-G7WD4aJA z#TSaW-NW$VSc(P62cF;}IB6pAPzWDw5mSolAxJ8queFGI8zKNN2Qj%WDuAMT5LV`o zh7g5e`$%0hs4Yhna1aC`s2YP_$uTa~BR6cJQV@_r5zPvcJw{WJ{3B$IiA|l+mNPmK zXg-WPMtf-OnljXKyBVh})T!aQoGhyPXGB?$L`D;N&L#q@Kx1~nX2&dcV8u8<0L)LB zdBH|eW`P2upj_dY!i5E(LP2no1aT~sP4t_s03+-iiCH+(hS7rAjQMR8M_BT07Avrf zf><4uU{-R$(NU>TB7~wvp7hfqiSY!@VHPvsFgxYl-r4aBaoXRGdPgrR)WwV*h z`8GR6jwr1G(HP7`7EKjTZARS|1}+8?%c*$^0kmz;Hq``WROaL@iE;m7Ef4xNrc#!ja0

gT!vOwT@fiu&X4emM2f_y(l zllcI%+wv(9W*JXdtz*$+vR{dFQBW9w6eejJ`gJnqY1_1DtUgK z&YtdB00;Go%Uz_up_`SJnU;0%D7-o&_gv0Gul@Y3*0)Pem1VEE^!D+!bz5dnTb>j8 z%y#AvO;7#Mw{dTf2iG${c>II&@4WQVHZk2g=Ss#u8qe~#zx(cePpy6JnYO{M{;6sA zZtIutePnC(yhnHOhIbqOggaZyio1HRH{W@HXxp@4(?9b-JC9lu;542r>jemhZ5ZHQ+m(!7SRD@U(tn>^zXL1|V1UTRO>l<{Sp|qgL3X_*Y8S?Tz#iBpkeFg+w zkocHA85exmo%Vynz*hah5ul6g<-z@{D{Pf*9H;-GFbY}27E+sG|NJxS?*0_8a|c{`LB#cX6BLOnq> z751&Lkx-rq`(MJwzZjkCB$VY(g7SS0N)url?DHH>7eZ<+7A;|d{y3?paDpO9gfLJ9 zPU%TFzxs{gh-4&W_uTz3zDC|=b2)4_L<|ZXUky~MNNYp0HUG40W@C~2tv%m~Z+gkh z?q3=H!GV{LYI65a`%z=byu# zdf&4e%zL6gGQX!g6zN-*UAcWHS93Gb=cc{76I^f+wL{@Zv9Yb zO-xG6%wYGqzvx=vZTt9CLHvI>^yo)@bAo>oyY=h(48)%jHM zc-)k%*@qV|ZTZEHZ6C$;`R+K&D*BUemWO&SQ)h3*ZQED&Jz@PuTg8d&E4`_GpWkY| z+F||G{fDXvM}pUS&fnh$lQ7JCN~Ka~A;k!OEzJsEppE!NdB;?lSrL(Ds(^%efsYSZ z(Z2Q$6yaGby2{|houUm?^7-{a;I3ckVd|?G3yWqg(_}^{2;c`2jYRy_fe;n3q6#hr zWm&C55yeERvZAFhk!(T`AbPD{i(|PFK1`y^G)QKU<)~u&iWmfZv!a!fBvLwEZEdZ# zHbW}}eLBKovFLD8N0Jz{z(REaiH=}_P?`)8#jt}A6XZpS7XpZkNqdDF$%>+I92tzy zFFKt=@PSZ_1;~dkLW?>=i|hP;-AIp+lpBU1v4FnOBjl+Qfvy;Ygqk1&a>F1XrHzDO znIV6%CRnX3hh=o28u+1U2+m53no>S;Lmn~(KHe`XUXbijmJ-hmlQk+fc|=*x$Uva` z5bh}J!L=*K(8}qg>;h9Ghv%?cQF(rf6&RkS6j6_JmJE{xUw)Iq5}+&p&+=Hhd5@&WF`p%iJ52;V0te{V_pMp!7O?Luq@{VdVC~A zQILmONmq}IN`_(~6wBfOH?c;H;1~!+lQ?E3^epCOy(R;PTY#4!lxSFnS|J4eG~7D0;XS$`%B)Bm_NzP;EtJh@lZDJV`7q z(RNw_5O1gkdj@N8IxNX}G;$fqDX=_O_rI*=bAx0;d$`;AdLTb$qm*--=eS8 zymE>VL^%%>%|xRQ(P6+UaYC%<5K~D9d;k`XSf&o@`ESSqn!s@{$8Z>+X#=JwjYiDO z0)Vkb699U~iyIB(X!MZ4NwstkBvwjK{NUoUSo3Fec;i?E1gar5V0VfdKp?R12?4hq7kN7p*76{IZZrmDC|OwRw{J zX{d~s9M0VMo9g5w&64Nlq<#jk&gl+&j>r7r?UuHJ)2>;K9alZ>t(%u$OrHCu?b%z2 z$9mM{6O$h#T}hw!VB);B8?!Y(|84uyrS^*(5|S`=bNY6B!k=@3j@>su{jBWs8;^Rj z9$Wr8|IxpEFCESkK5>`)A#c}{?844FU$u1}nz_qY4orFP6=8q*Y0^N+^7f0T0x$Rf z(>ic)y{UJ}gL@j)>^xQJ(X{gScc*=Da&N&T_^4m#+r+=obe~&~Pu>513%2lw*(H4g ze=5J;7|u;^@5)>-!Vb{HZPg7a#zqhUF;`}?b vE%*4`vnTg{Vn27%eBIq3HXQ%{jdkku$6`l+O~P^c8tceiX@7Tl#fJX?Szj5Z delta 342 zcmV-c0jd7`B7*~vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPlMoOWe*qXtL_t(I zPhe0Sg0g z1CGYLV|@MaBUk~*sdh}kP#Fd=8|JltFWDGYBpigt28s(n5)VGyg1Z7{BaD6g&LI@d zAb?^32!NaibA|RVJFx9n*$#ol*m#(sst^Ff0GKO~0Z22*>DUqyFwX1@iq`v#7a6!2 o1sT5nf6s6-{sV?)1_lNO0GDKZP@;nQ0RR9107*qoM6N<$f@8*nI{*Lx diff --git a/src/main/resources/assets/dishes/textures/block/pizza_fungi.png b/src/main/resources/assets/dishes/textures/block/pizza_fungi.png new file mode 100644 index 0000000000000000000000000000000000000000..77b75a0900212b2b15e79f247ccfa3c5c41bfa09 GIT binary patch literal 4956 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 J$`2;Z{13mA(y{;m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/block/salt_ore.png b/src/main/resources/assets/dishes/textures/block/salt_ore.png index 5cabb0fdf02d3c2b62e55d1f546202ba2c8d934e..8a271796c34eef6c3590fc0699bca2899adc1440 100644 GIT binary patch literal 4366 zcmeHKe{2)i9X}_noH{@$l(b73y&i2BM$h-dcI>;wK(G_yG=?lOkZ926eD}`2#`d|s zOY9&ZD-!6=$w1Ry2E+KEPhweOT z2*`oJ&#?j+fTraZ%wp(3vy7ATEcuvWwH4YdkPRK96*Q&MXIY$a z^6*PLV1LVR#ym2R=KN{xli=SL#pkOH_^y9%I56|EEvtT7^T@xg!Q$OTcP%@4_`-#A;g3)DH?Fp>E}!`y%j2!d zI=yq&@WVDTeC%50-l0J)GrVX?bWfMu(vJn-e5uF3=B%{3|HQ)ecQ3tHp80$iIvc2) z_43y(D+WX9J6`@`@OtFy*SQ^*MV+2^r}b4IE1x@fu(IJ5t?rv0=%r#nQm--&v1G zn!kAM!NK1)&Aqg-_sb3jf2+`W<&WQPh<*0K>=WNlTXQ+yzRz-Y} z+ll5g^O8sMr!D@;p#{I#{mKiw&gBnBz6v%rT`Rh@RvY?+AGn;qYk%Vd>aREZnvN~` z^vb;9tCzb!JMR7cjc>8MzSM=GGdK1_61FO#2E8Fz!;5O%E=Xz^*)#E^abj56;!IKy zn~{!(QAA02iQ%Ki30#r9#A;WN4kmpls#L8@q55^pL*lw-k&}qUi)>{X9suG<7w}9x zmeBZ&moRa8kd0}Iz)cms*-JD)BKg!5!ku=fohB*o9;e1zXnI8}faDyysf8A5OCqWcX=+PKL=~+l zq0b)=A&H~*$(B^i3`Y_v6hm=P)nHdQQQgIBe9#xpcM@AepPHS+za@fZG+oktLBsqT5Z1oJ^BWC+j8!*~5{JFzs@B9E?lg z#zU+~DUg*yY`j+nlmt*7hZHU?rDd{|aXU$;tJFh!5Go}(59@Jpa@gZ?giUWGk*`!! zaRH7~i3<@#B@+>I!62M3uMKz!hn*gqsf`J`3m^Ik^clAd z4@EODwJG2)58eGC*-^N&f+<)!=i=4&_lD1R?N>q@TOVpX`nS(}y?=eI1e3S6sV_di z>(Ud}mwY|H+7m6BJHJb|owcTqV@IE%Zev5;Pwf1r>~Q>GZ{?$Nr006m|gD?<8(Xo+ow%6j$jz!LRH)+6010YBT^xs0Pe|;ZTRZ^}F z%H*~{NBa`wBHV24Rx?CXFlj{P4T?iGoYFUP1A?bfA91`rL59oYm00000NkvXXu0mjf5q zbU-7GkljdRh_EUF%?HSY4$%ThV_f~~Kz?CRE(dbhpblXJliVOr&{u-S1F|3J4}xY~ zJFwRWKqfv^*WV=%2ucN`p?D zKzjF=mktB}))*BEwNjy=TWuD-F$aSnN9Bq#S$wP7Z_WJVeY>BhY+NTs4{>rl(R;qrHD6Ez7ee;blI(FVR@q#y-cC z?oPX-S00sBzFnVt7E-x^QYYTohkVfcHZoK zVEE~fWFtvlCjQW)KA|ysa%XK|<%9K#+OR`sy3hDd&nSIZc4xymOXaxn<0AR!{^WaS zLbP?Cwj@yMch^jq@4NP8RdrFwH^MU4qW+q{0GG#RpQR!{HTtC@VOxUOdlOg}nK zaHrw%ikzz-`!@G`EV*rZbsy<`@zzXB_Sc~r%?l?_nzP%3t?!XNW(OQ&&f2=GqVyAT zui?HbUDM}(E5qJ>N!oUsT)IDfn#H+Fp=pe|d?&c~huf7`n`DO{J%-%sZC%~%kM@Hg z%rmB>;c2RQQk})bMo^0uV>?V%;>MuJ*$ykB%f@iJ7Bd*lGDhz|nizB=Dr2MyRa})- zfn^!v3vF0(VPcA|Fk2@<8MEcINQV>vm@pinJ4`udyVN0LxNxOFCZ;(Ix=RJmmNC*m zASo<1j4ogc*j!ee!*Kk#m*Uo03#VA3&*We4ktf9pPkQVTWkgnERje! zTpowVV*w48y}*nk4wl&-N0B_FuNt!ro-a$Ff$%H5(3o?+go#O zIj-ZNIu4eDnSiPt>i5vA#$a=~*V#Rfwk&XcKVce&* zhtBR&23jhWG}fZaCEQcS${57{Qq-a|qS66TDCQ#(LNQAx7DccGB2>&mxI#XQClMe# zK2OAhb?68vrP+=nW*tUA0dTev;D{q&F(TkZEfl zHWLD_(`Z5r7{_WhxE2V)rO|4ojKODfpUkLp5L^!oWQ=)6bFSmbLWzNpMCgsuS8l~%*7V)YWdYFJNelbMO42hf(3d@+VoGDM3Dx1%r3(rV^ z!_vevwd0|AnNt_#gkv#++_@Y)ah4+?V!3VEa+|HlW`imw_q57)b7 zdFoYdS&Uk{rf|Z{U>fDVPfdUSwobGBO45Q=oB8<<#(VB$KPBEUH_0qSnA{#=@7~cJGYkXQzM?gk0+S2`r#C)ldj+M_LXY*jboyz?VB6(iYI!zyZgEC zupjMR3|+faO*&HR6C2O=syyF zRK%P^4XF6A>E$21nEA&peBq|A>ia(YILZ4!Ajki*H*_he$VW~QAMy2pj#b9IzPj^p za(TCEQ{vtwZ2? ztx4g9)m5ae%dUq}erCrvGaBQ(PWS!nPrls)eRFr5mquMg?W%s|u=|%mMv7P_gTiWJ zDyHiFmq%SA-*QylzY;?;Ebxn&DV$UlNxgT3@`iFj#aUEKqHaN6O^l3Lg^o{FzZ>)PO3 zcX3ucS)6GncikF01zK0*eO*ZnB-5!|1GAUD(Lr)XWwFjQJiq(B@(|^W${1`Mv~k+R z#id<-d#F%tz{e2O=_L0AH`jgld4n@-k(#~ecC@1IyHNUulR+BMFF$Xzv5T+GmRmEE z(<{Wkoii+is7)Q8U+sDPxb+)OHS~=eaJmA-Xc+ z`H7k)e^th|qlb1VCUvQ>U2De1tP5`TI9R~!@%?8>5VWiE+nUaXJ8w0ZB7`k3zI9-e zGYIGZx^prw85kH?(j9#r85lP9bN@+X-7Fx$$6U|IP!i-9{C}W8 z{Xkg^wHIbTL-2QYRbU8l7I;J!GcfQS1YyP<6SLnkFfgz1ba4!caKAe}H-3?W$kCg+ zQ%yv5P9B+dCPy=3LF%P_|HX^X?=;r1Tl{w4&Ci<`9<;1~cc;=RJJH01YwNP^qi4@n z~F}`qGEa+XlIN;)Zg$JLx zoF10XQBC+2YjT&RV?wV7Q=E%yo6N~g(M&b>+Ase;AInhDb~u7LiBCZAsK(k|3)<^f zb5G!TS89?xap^vz$%1=dOa0$TJ!o#dss`QxnA1&U&4=9VqLoGIP$qyFK>*QGzMGZt)O*1Ime zd<$cVRfpV!Qis)X%a4a_IU{s!v+Po~2QOaLgi|PH*qhTx+8tRPy zzQk!aJm<~i-V+`U4D@=rE)^rTyWOG+Q-YT0&KAtLxIwdf@`j7=zXx<}dCJmYWA;Wj z`NFg)-LA(g!Y-RWzR#QR@6;tA|CnJ2=K}qM4NKLRpRZFq5bY*e^3y*&N}Qqp=>zTt z>uI6N9lH`Mq|2VJu+VPW%y7(tFY(F$^UGqq9~nCQ5$KzLxIJP`TKeuyIPO zTHLTWUaA{=c%v!9`Ny#gYXpzFt%^w3YP)i4=ZR|@-~F~?=+95;m27yw=oOD>_?)P` zIqe|~MPZ+qCK&hpVL5Oi*sE6KDKBGzjQ!Jl(|;~I>-g|51A~5OmR+#c?#WYraPFQE z!g|2)#8sJ~oyT>U4%jX(VkxM2&rzSSjY&ar-~2GvFTZ8=!;L!?m>HY79QMx-XEu?# zUsqYVu5RC+z0WFNo!mC%bKX6JT)tCIzphqW)mK(l*3LGbXe1*)Vbab*pRh?4&DQ5X ztMyNIk74_v68VeosnNpzPS2b)&vg&xuh8*L-gDJ#BHNshtL}=$U?x7poAKYfPyp1u-V;&ElD;_HX$%* zJqz{Js|u%1?J?5o31Yok>(SFISMbE5e4Ng7w7qjs+MX37?;2X_zDoti1tRJQxcyLQ9g)7W-d-@q*BJ9~h^GWCR^lI!h7* z`bN+&FrE+kO5Ebf)M^$S;({v*Pi)R6f6%5!algO{yW&t2G198s)~`=|6(zq^31 zj~{tC3bD4|52V~4@CHV*mY454X!Bi=m`}dlYTVdI7hmXHR`WtmiY;#cL8i}C5P#^A zZ_Pka<-9|;2AFmGIK0y-(|hclL6P z(Xr8)O1io5LDypIsVnF5BTgS~owp`o`#N(=&El^=?5Wyydj0#SuIWajU)OGC4i5iz zMSUlH0MgfPOUh3@vNQ4?k(OA%FM4u+Px_V}8>7zVm;JS5`RpXRd+xs?I_wp5{^>ss8`|>{zFB7C!pDilkOU$bXigU_HnzJ&pfYU8ROp=)$aFbL8!$Vfa&boB) z$j2Qp#L_yr7&j}-ZUa-!=2d%`!s^vURCNWVrQz(XsLTKX0Gtd@LIJ14kmx2S~RZl_}&-r+l)8m(TSBkdQ;)so^cEax?M*#>@FU6qD;`T>O&B z5HvNe@Ai2d;&Et7&Nvt+5cLA9=oFK}l^fR(D6q3mx2Ofko+8P!wh6MP_$KU#$C>O1 zP#?#gB0Y9?Q5Z;>&4iJoe1dx>qYf7A6EsJ$G$9Vv3awg&TeS#@D{P2LLu(K#O<55Q zO9GBioi zlOWc3Sdf*ZW3pEQ6b+!PRuyGa;3T3%t%5fi;1`Kg2(HF4RAa-{Dijx?Xo^_Dd7LB& zC+j5bjNI+AiyH#rgx+G(!AhB8V#VShc^gpB!K+x8FEFuD#5$Qmo)p+bH40p-#8eto z3mO(QB;u`SJYJBAIyh83MRg%81UL*JmK5?70Ep}0EQGTpM*a^`yT2sU`XC zjL&X;UDGkrc)spgd~a9Fu%Y7MqU@^|@;m!p(8a#okHw5``6LC|+SOiFc^SujOCR?C z47t=&Jx|&a-Va%CWO5H%OKW>|vv#oVanLPOUwx_>qUe>O=u{P}{ywO#2 zy!de>p7)1MVaw}3_Ahj?HLu4nz>6~d|VivF#o~t=j=~t@5sFJ?1Ux#3(4SJ z->R>MYMYu#Wd^($yYp6fs^pRX%{|||^~dHtC;d&YtXzD!>VxWq*N$BOh)R4wTnc=V zrB{C*Kd=A1d2?Rdk-hzG;ag2}dsV65_WBV_(mk pb)~27{;KrQc1N~n-NmNi=SNb0xosU1n=L$fO}VR$@8^_l`!`pcFIoTq delta 372 zcmV-)0gL{pBcTJ3BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPlMoOWe*rd0L_t(I zPh%Jb42)131ZY`G{Jljc=PHhl*PbsV9O^kjcgE{0n+T? z!v|*nd-aFm-J1_!HVg=f2rw{-v4GhigJ6b$37BSNjUWvyJiK7`pD&+L#6bqZ3}FI` zLIFsTn1U>WlqSRrCw4Apf7rHWDcB&8Mi2n05fPJSIQ#Gzm=AFi5P)n4X-=%4%8+g) z1QvVu`5%KGC>QG1dSihDAs!|YvLdpiLR9j)AEK^Wd1(eZ5qZMN+W6zzPFRjuP zY5gy@UcX&bjx9gX&XM>lMA; z9~&k^2av`|2BU_7VjR^@Go~BTVeIEnra@c7XeHnHm|pLK_LHghK4=%DFq#c%OfzId z-42Cw#tPEo%i(rPJXqF&ZiZYXSmT<7N z6V^8#9PvnFvdvuhHu%>fx!sjsx7!?z$)XfO21BBKL#wO&d}VISit0CBpOLY1n^QQt zyy@9vFP|`#9nE>ZW#!Y$p8HpZFMn^|%%$f}^!8p2TszlYw<=>*Y0kICwN23~wRPIS zPfS?g^k8C6UyqU)ShTo)Uz^z2ZScK&;FxFi6=7BP*#+x=_{C${oprmGCPfnTAd$fbyl1%eX8fJ{Pz3X-ES4Vd7>|FUy$930(%q`3Y)YgA| zN$Xk5esk$doAWCQezjxrUA8cj5d7L#=O4_wy+-M~&R)EezUOe=kK|2T-2T&xZ}iU|`07sk z%`Vs54;~uQI%B`4Ll=QN*0-l6D$yfk;<79;ZQ_j6E2I+ z%R*Zl#w}(YqBgiJwGc>dIfl%%m9`RCSwd=}EQ?I$;+P<^Rh}g&3h22k^{N_WaXcQ6 zTjMsX91G$k!!S5O;S_}d0#lkJDwn__$~=uC$>Bi?ACsc0BuC5|Cl`<#RhPvA^X4J{ z!cm`Zm_DMUQ~*8j1Q*3gD}jf@_-G47Eo%ajltbTXq0}@-5nhE9xiQA0vL+N!=Z&Ti z_+k5KV=Sa^N8oW3LScX^uqrubN$tuFTWAslrEpZY08d)lfY;KIWdm35tv9jXglR_a!$K#6vc{| z1X0O_Mth}E2|xwT2t@=bVgk=F7+pjO7$*=#7)2mHfJ8ej6j3^rz_Ux_SeS$3l)_vP z;n7G?pU?znODnxDi_J=mj8uj=RRjZ!-TTpFJ7!A%l4mGf{a z0>0rKTr-q|7eGoTlAdc!K3R~&=KqD(?v1$^@NnAYk^)ON>qE)QRE^dqd&zD{(r=O3 ztltNgKY=Sb#n*F@AcDk^iqxTT={uspCKmCOjiE6I66_EKB#kjBKw?fY zKp-+uBr+m1mR*rWHO|FQX%Hk#$~5%tWG>K;sc@`8ydG(10GeS0iBZ&$W=u*mJhf+B z%NRqOF2?^$mSP<+D#d_Zatu-zWI}v66{cjMm3N)G z_C@EG4;P*~>FwYD{3~fyOA1b0q&quG+T>}c3ZGtcEWP5c@%Gn8%4f|*hr;{*@W=D7 z{{7E+Cs!Z%Yqag?yV*H`i~i%=`mVij$g@cj@z1he4jX$j2Oe%(PBvCjIOY zd+@7Ic3u1Ydyt*{2z4Z@HYSe delta 247 zcmVq4f74K$*GQj|=3!Lrb7%YsX7>sqr!E6}D22c!u z+5YR-KZf7G{({A(&AZ6(_3Ixn#s)B40J7=Z*WU~Rg6v>^RGmI@^e-TJdPeR-a%sj!_n}P_ zusqavqsAb4D(d&3CO?;6>nM`-C&&1lpMYV7Xf)U_@CRye#>{bM+JXEjhUF=mXBeEe z@ifb`99rM>>TpCl(jOlE*=7{q8rkcu@q4{^JfTQ(1Y%gKyS>w0b)shKn#FamZ+{?r z{qs(7*P_-XyMOggZpE(rC)X_f@xmv*%nlT9D*EAqo_DTZz0mYw&#A^`*~>inUz=96 z#%s0Cg8oNy$)>}1QnPOKs;U0D^P9W2NG+$Z!0%q#?OT3MTz2aC!%s~spC#r0dJ8<~ zuPxa6Ma$ye`sDpvKj|F^eenjj-ZZz<`Tpbs)rUPZdfzPW9$4#rv-FLVH%=Bl`1r#h&Wy1KW4szqs(Zp9FS3RdRj*nYQ%@mhRnm$$fXy zGh92|()aty&f~;p+|%)Nadqiy>vC@MWkt2x%z--_oU7I@&waN#_}7N{_Y{k#@B4T5 zu~7Jvoe%c@HaO$vs(rUN(D>Vv*uI0`v_~#~P~G^e6*{lqZWyi^RB0yj*wu$yQ=iR4uh5NFM-nIbDvaw|j3&Ba{_QQ~WTl^F;$audy( z7UwONWHM<^TFpu#WT82ZvrvqMVMt^_s%r5376OG1DZ ztuUs|9tj}|L;mrWM8w#RC|F$ z(6rq-0%CDOMp+3WBcsxxLtMVH9S!-M`4`?bT(-RW#g=j zlcTJ(6}4fbr7)qQOmq{O;%Ut2$HJq{AYy@@rwG8%qrLFn1O%Frs8^JTo6tiVnhBtr zBmxcifCdrXPz|mhticbXl1!x|*O3B>C`)bs%UZuTxC_~%)2@%wfl9mJs=m{YT(=-kKI^m_pF_n#WNH#p<}$SAmdlq)l^tv>Iy`_yE>|v@`oi^8S=*A}TNODyNBglCuN=%T5flU%h5sgv*6{@7^WE%JZDQ z!DEXb<97l{l01)VJJw(n03i%R%Cd|QvF=1P0TiZbNU!yFySOH48yh~o*j1pR8_@MTpY0r6h&b*O|uun0i1|^0OYo9sjh2_4_?szg3O0m u0gxb2mL=y$GI0BuuFrKP3jX~YiB?Uda%{YdWc2_5002ovPDHLk0$_qq%6>Qi diff --git a/src/main/resources/assets/dishes/textures/item/labels/vegan.png b/src/main/resources/assets/dishes/textures/item/labels/vegan.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ece0e919f62ed7f0e4e8ee06d8502f63d88ca5 GIT binary patch literal 5305 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 X-`C7C9&Ydi*BcTBhX+*#B(DB9VE(Lv literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/item/labels/veggie.png b/src/main/resources/assets/dishes/textures/item/labels/veggie.png new file mode 100644 index 0000000000000000000000000000000000000000..2af1deb20c1c1cb223a78e6cc06d784effb9468b GIT binary patch literal 5683 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 Ang9R* literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/item/lettuce.png b/src/main/resources/assets/dishes/textures/item/lettuce.png index 4fe0f29914843c980bb6a34ec818175d7e4d0466..59eb0ec6a57e62f9e74351fa97ca7cc10f26980d 100644 GIT binary patch literal 4485 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 diff --git a/src/main/resources/assets/dishes/textures/item/raw_spaghetti.png b/src/main/resources/assets/dishes/textures/item/raw_spaghetti.png index cc30b1bb85fbbd17a92f6e3004f7fda0f14cc290..96a6bfe004102cc4dd08bc290233664f4571189e 100644 GIT binary patch literal 4260 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 delta 418 zcmV;T0bTx%BhLenBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPlMoOWe*t7kL_t(I zPsLL`O9Md=olT4>&Q`Fq3kLzK*rYI(;196UJ0gLQS`Y*+f{j@C57H!Dv=IM9npCN5 z4C(BIv>pq4OifRz{Nv0j(zfDwd80qnuFkMkTZiZQf#*6q><|7(ySf*gVXMzqPm z(nWgX+lEuORFZtFP>@kx#$(BMEi&-yV|r&HR0Poa&H~Zkzh5KKH~#C1yeO7e-2eap M07*qoM6N<$f@Z+NcmMzZ diff --git a/src/main/resources/assets/dishes/textures/item/salt.png b/src/main/resources/assets/dishes/textures/item/salt.png index bdf6080a07ce7b2e76a5c8c10b4d87860a866de6..8fc9085b761a413d91aedfb44900b31b6317b804 100644 GIT binary patch literal 4411 zcmeHKe{2)i9X}IjzyX>PmO;qidX$Qkp6`dxiSKGBq;??Aa1xS05|y%?@1C7&>^tMT z#11R4{-6x#3PD*bP}(9oD72JcSy5@DhO~r8kd96h=~$Nzw4sDWG?6IEsMfM~XXlqz zX^OP|m$RPVd*Ao{e!k!LdEfW7Z)a)o>N(~NGlC#^=uo z9>2%)7%~%1pr&a$V$yYBGmRThGbJHOQ1%jR^Wa$5(OZUThS9$a$BPo|0=?;dnmm-+@iq5%={m9P7_a7~giuCTHQNrSrF!lpj9y zljPmMwu?uL8`d6s<$ZI((bQ+Qum9Pajo&7FGxnwbbalu3*RNmkUG3s4cexhrd%_xtNR5%0+Z$J`sb#mdg}E1q5OcN8VJ9y<0=N!pHe-nXB9`0r;fHSTU*f8unH^Ipme z>=v+p;P{*NEKCDm3Iv%C?N|kDn4L|g~IxYA&$IQm>24R zhWbE2lAYM#N9`CYiB7E2<|Vyh7pRpAH%CDE=Hd!rbDhA7SYEE#5#u002xvSS3k7AB zi#ag^mxE(nOkk*?qSZOEDws$vB?3^!!dOVWASN}?Sgsj$L_|MV=3bS6fHNmnt7&15 zAfnNzC2F-OkpMxlEK86yLDM+Yz|}@s<72q2F4ZC87;c~n5h<)mij3-*yicjuoEQez z(UJHkZ`{zVOkVMWH(pHAFQrRr-V?;a7*cb-qDH`Cs zU9|e`JWcUJ_BbeytZKY0038Z~TO^2Mr$vSmeAzg#T5UMPkN{^HyA@|?lIPhRAIVVu zaS$aD31%f993PbqB|<2Yx7leD<^)5N6wYKrD4!JwxQ))C$ZWqL`h4+dM1fnSL_$0~ zPAS9(01=i0h7X-^F2B^{#H#_McSIi!uXQg$ZW z#4-c;QVF zd5w4T8i07CHMnA=2Csl6nT$uSBY723@;Cl3ZT;S$4yX@LyHHZ0>qbKqzf9#|Q+yVm z1|{Pbp{Q{mI9`ZHuksB*G~$F<@g<>_mjeJ6jzp%8$fY010s$~NR+?gQh818I0Md%v zNk5AVKmdM9u;tjT>_l``@oP~&0`dcp!Z=MMzfS0Keg=>;9A*bik8qZq z;EYJ@nb0f7$fg~{f6?MF6vmYpXcw2k(giCaFX3Yv0R;vgy_fx%@ zx|E|L6eepPZ$WauDSZx`v3>9^0Yw8IcYcNa^6jSf&?hSwbZ)ySWzK4TB5R&`StMy` z3`sxLJfn=B-hE>hCYv6pnf}@@B<RUYu4Ny{33E9GU%9$gsf`F3HG z`S5%MTetU%@NWw*C=-)VbLMxHykvwvgz g7kuwKLrVXm*T1iodrLNb1-FfO3X0t)o~(KPKNlYP9smFU delta 315 zcmV-B0mS~hBIyEO2RU)jh>6DFk#NBhEWidxY`~*MXdPByqyY+`1dbdfoEA?WAV&R@oecs7 z7+*q|U3jy9hyI-N`TD}6mxGM-y9dND^k}nLbFH^~3^srO(RE#3FPBr=Zg+!CZ2dNf zEL2rRp0}VN2uP{=nCIC^e}7`W5_DyN6nTE5vb@vbucphy`gE)>kstgW@j79)5uF}R_0g*5y z3=6SEhR`$(|AQI_CCSC&jSr>}WJpmInYbc?whVd=gzmJv;;%sT6$UIueLUKoJc|GT N002ovPDHLkV1k_uhP(g( diff --git a/src/main/resources/assets/dishes/textures/item/spaghetti.png b/src/main/resources/assets/dishes/textures/item/spaghetti.png index 1248610899c17f5895dc77be05acc7f4ccec61cf..6debb4ec4f09f095aca8ae70968160361022b298 100644 GIT binary patch literal 4385 zcmeHLeQ*_^gktVv5uS{fv6Z7XfZqS@@eo32f=F}rC~ z1Ux{je5jN`9JB*|QV{&W>Rs_TDRUrqfP;>6br|f3a#A>kD;{z!XK8(RlYY%P<8(&< z>t^1(&-=X3^LwB7_df5_Zq}6)EzHno>JbFV@D#dBVLwG}lTzV#)|CMkcAtStkKpm# zgG_=0XsP=hqEl^P(~XcP=u(grsCyc=X;4;e)Rw86sP!A6d|Oi90_E(ajp{?`CLkHG zZ-$MA^3AY+3pTMavDU{>R-Z}Qrz0IfD&T0aU+D3cptQkeGf)=jPtqoaq!^k;DHD@p zV`vhtuX|-UA{8n8)PEc>zO|yuRpN2E&`4Ag#2`SBc=L)TN8w*fZeCkl_U3E1q-}V{ z%I_+wdvN!2AL{dWO?hnXlG_(Q^1n21=H?kQ7ascX%$bw^e;hheRgqTVoYJRzye?9z zG)?P%K#%(mT#jdTb;|MX+yymTwh6H#i1*!>cDt)j@D)ee?_ECY{w!h23){d6PwBMn zS7XJU<@Hmyf7jU)xVp!-L6_TP{Up70(E;b|&b^tarXUV4I5gQytA*vac%M%+X}Gl z;s*sy?bue-`PAynMcJ>fpLB_tKciHc({uTG>&kW2`u&T1|EydvF_S-fQ-9jQK<#%e zcXhtun|*%ezDv(j=zEh*7yo#DMey{e)7uBqt1pC}d{cK~<>p7E+HdCie7Ci=g=>$^ ziR@2F&%5>g`S)$!v31kQlAs5tge33hD;| zG3>y)|9lWbMc#o`&cz#^0qp@5)YLD^)Q|c~ALcoy&t5K8)LlE`# z^@e(*L5cBu&sX4lQuGA*`@*JS@*uArcsFAahYMqKHx$RWVt=6jK}+2ItYi z_(Bn{cL+W#Cs}}e5OFp_PzI6+g@}2UdT{TWF|_h}8Mnm6)bKoR2d1vi@DeBTj3yfWMk{aQZ8&8ya=1wlDBRBiKhDF4 z$}y9iiMEb_@`PoD4Rb(+g5U-b;&4Vlnkd?j1Azy)i4;t@)n*}a!D3-~YYxp?1bPHS zaa4p^$p%M8r9$x#$|#um9FDT$l-Wq*CeB3RR)IC+M%u_(jDp`n0iZ$g98(}gLo7T_ zF~kM{5eWyh36*fhS>kbEMguvlDG9QQ0396IVlf|zEfOtbSxO}h%-wR7JnTT9P@=ClYH2jjadT&rWw1=l%D9Ui@22GW?Ol9El#3(Tg zirOtgQSCl3ESHF0X6pd2#R;(zQ(O%j4ggpf(lEP_vkTWXD z8IjyGp;nB+P1}k8qs6Wnj3_bCFQJ2_3syp6s1zn?Q;W`T_#}_xH(UWik1sMNe#hw= zr)x|MjLCRByT<7n69Z#19?z~{jV}H0%M=L1e}wAcs}lORjz{5Z)(w%uDj7j;Jft>V zTT|^Ns7zBl-u$%lx)~Yw-Ez0E-VRltd)&@)>v7IEYvRVm{!hPn zXyBwo6f^~#=f1Kpy_$9I#LF#v`dj;WUt6qaYIXmYN54*gdi!5CS~GgDes9q~eEZ+` zcl~MRK;UfPNQ7FiE8d>l*m|nB>Q+Pd{OdPOf8zUp&0EvbHLb7z>yOEEdCO*Pn*HqQ znVwBEbTXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPlMoOXf7VGvK~y+T zWBmXBKLaIz2}+X<2HpU?VQ}YU4OsHWmtPEQ{HzRWCasKM2_%4Fz?Hpa|Ns2{$H2$S z&Y)zC&~RZ#$$u7BCI%hnE>uH61|Z|hdrE;6cK*%NRsYX#FNX6$7$ppDovHp0vjN1u zceEPp8W{NX@i&8kM-Pe%Y)}jUDS!bG8{`F;29Os(;eZZM3_!LGq!<()AXk8BkpBq= zB1j>K#t0}p03#Maeg`=p