From 5417b8976ccd494404bf17552cee9d05f3ae8aeb Mon Sep 17 00:00:00 2001 From: Motschen Date: Fri, 7 Oct 2022 14:07:39 +0200 Subject: [PATCH] Delicious Dishes 2.1.0 - Modernization, New Food Today marks my 17th Birthday, and I've got something cooking up for ya'! After a 2-year hiatus, my first big feature mod Delicious Dishes makes a return! - Update from 1.16 to 1.19 - Code modernization - Switch from Cloth Config to MidnightLib - New Food: Ukrainian Borscht and Pizza Margherita - Added Glow Berry Ice Cream (applies Glowing Effect for 5 seconds) - Added Spaceburger (Can be found in chests on planets from Ad Astra!) - Added Patchouli entries for all the new features - Fixed multiple long-standing bugs - Added Bowl (right now only for Borscht, though I might add some more soups, stews and desserts in the future) --- .gitignore | 8 +- build.gradle | 50 +- build/loom-cache/maybe-data-1.0.0-1.16.2.jar | Bin 9939 -> 0 bytes build/loom-cache/midnight-hats-1.0.2.jar | Bin 40008 -> 0 bytes gradle.properties | 23 +- gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 60756 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 268 ++++++---- gradlew.bat | 191 ++++--- .../maybe-data-1.3.2-fixed-1.19-sources.jar | Bin 0 -> 8259 bytes localMaven/maybe-data-1.3.2-fixed-1.19.jar | Bin 0 -> 12552 bytes settings.gradle | 1 - .../motschen/dishes/DishesClient.java | 13 +- .../motschen/dishes/DishesMain.java | 99 ++-- .../motschen/dishes/block/Bowl.java | 21 + .../motschen/dishes/block/Cake.java | 62 --- .../motschen/dishes/block/Dish.java | 44 +- .../motschen/dishes/block/Lettuce.java | 4 +- .../motschen/dishes/block/Pizza.java | 48 +- .../motschen/dishes/block/Plate.java | 36 +- .../motschen/dishes/block/Soup.java | 70 +++ .../motschen/dishes/block/Tomato.java | 4 +- .../blockentity/BirthdayCakeBlockEntity.java | 52 -- .../motschen/dishes/blockstates/SoupSips.java | 10 + .../dishes/compat/CookingGuideItem.java | 2 +- .../motschen/dishes/compat/Flags.java | 8 +- .../motschen/dishes/config/DishesConfig.java | 26 +- .../dishes/config/IceCreamTraderConfig.java | 14 - .../motschen/dishes/config/MainConfig.java | 13 - .../dishes/config/ModMenuIntegration.java | 16 - .../dishes/config/WorldGenConfig.java | 14 - .../dishes/entities/IceCreamTraderEntity.java | 17 +- .../dishes/entities/IceCreamTraderSpawn.java | 23 +- .../entities/IceCreamTraderTradeOffers.java | 12 +- .../client/IceCreamTraderRenderer.java | 7 +- .../motschen/dishes/init/BlockEntityInit.java | 16 - .../motschen/dishes/init/CropInit.java | 29 +- .../dishes/init/IceCreamTraderInit.java | 2 +- .../motschen/dishes/init/LettuceInit.java | 20 + .../motschen/dishes/init/TomatoInit.java | 20 + .../motschen/dishes/init/WorldGenInit.java | 15 +- .../motschen/dishes/item/DishItem.java | 27 + .../motschen/dishes/item/IceCreamItem.java | 22 + .../GenerationSettingsAccessorMixin.java | 19 - .../motschen/dishes/world/LootModifier.java | 56 +- .../dishes/world/OreFeatureInjector.java | 44 -- .../motschen/dishes/world/OreFeatures.java | 29 +- .../dishes/blockstates/birthday_cake.json | 11 - .../assets/dishes/blockstates/borscht.json | 20 + .../assets/dishes/blockstates/bowl.json | 5 + .../dishes/blockstates/pizzamargherita.json | 24 + .../resources/assets/dishes/lang/de_de.json | 17 +- .../resources/assets/dishes/lang/en_us.json | 23 +- .../resources/assets/dishes/lang/zh_cn.json | 4 +- .../dishes/models/block/birthday_cake.json | 339 ------------ .../models/block/birthday_cake_slice1.json | 301 ----------- .../models/block/birthday_cake_slice2.json | 225 -------- .../models/block/birthday_cake_slice3.json | 225 -------- .../models/block/birthday_cake_slice4.json | 149 ------ .../models/block/birthday_cake_slice5.json | 149 ------ .../models/block/birthday_cake_slice6.json | 73 --- .../assets/dishes/models/block/borscht.json | 503 ++++++++++++++++++ .../assets/dishes/models/block/borscht1.json | 458 ++++++++++++++++ .../assets/dishes/models/block/borscht2.json | 384 +++++++++++++ .../assets/dishes/models/block/borscht3.json | 363 +++++++++++++ .../assets/dishes/models/block/bowl.json | 334 ++++++++++++ .../dishes/models/block/lettuce_stage2.json | 13 +- .../dishes/models/block/lettuce_stage3.json | 13 +- .../dishes/models/block/pizzamargherita.json | 6 + .../dishes/models/block/pizzamargherita1.json | 6 + .../dishes/models/block/pizzamargherita2.json | 6 + .../dishes/models/block/pizzamargherita3.json | 6 + .../dishes/models/block/pizzamargherita4.json | 6 + .../dishes/models/item/birthday_cake.json | 3 - .../assets/dishes/models/item/borscht.json | 3 + .../assets/dishes/models/item/bowl.json | 3 + .../item/{flag_america.json => flag_uk.json} | 2 +- .../{flag_britain.json => flag_ukraine.json} | 2 +- .../assets/dishes/models/item/flag_usa.json | 6 + .../models/item/ice_cream_glowberry.json | 7 + .../dishes/models/item/ice_cream_vanilla.json | 45 +- .../dishes/models/item/pizzamargherita.json | 3 + .../assets/dishes/textures/block/flame.png | Bin 207 -> 0 bytes .../dishes/textures/block/pizza_cheese.png | Bin 0 -> 5616 bytes .../textures/block/pizza_margherita.png | Bin 0 -> 6297 bytes .../dishes/textures/block/pizza_top.png | Bin 286 -> 6036 bytes .../dishes/textures/block/tomato_stage1.png | Bin 244 -> 5103 bytes .../dishes/textures/block/tomato_stage2.png | Bin 340 -> 5466 bytes .../dishes/textures/block/tomato_stage3.png | Bin 437 -> 5792 bytes .../textures/entity/ice_cream_seller.pdn | Bin 7398 -> 0 bytes .../dishes/textures/item/flags/america.png | Bin 1496 -> 0 bytes .../dishes/textures/item/flags/britain.png | Bin 440 -> 0 bytes .../dishes/textures/item/flags/germany.png | Bin 152 -> 188 bytes .../dishes/textures/item/flags/italy.png | Bin 162 -> 191 bytes .../assets/dishes/textures/item/flags/uk.png | Bin 0 -> 316 bytes .../dishes/textures/item/flags/ukraine.png | Bin 0 -> 570 bytes .../assets/dishes/textures/item/flags/usa.png | Bin 0 -> 963 bytes .../textures/item/ice_cream_glowberry.png | Bin 0 -> 743 bytes .../textures/item/ice_cream_glowberry_e.png | Bin 0 -> 743 bytes .../de_de/categories/american.json | 4 +- .../de_de/categories/british.json | 4 +- .../de_de/categories/ukrainian.json | 5 + .../entries/cooking_guide/birthday_cake.json | 18 - .../de_de/entries/cooking_guide/borscht.json | 18 + .../de_de/entries/cooking_guide/bowl.json | 18 + .../cooking_guide/ice_cream_glowberry.json | 14 + .../cooking_guide/ice_cream_sweetberry.json | 10 +- .../cooking_guide/pizzamargherita.json | 18 + .../en_us/categories/american.json | 4 +- .../en_us/categories/british.json | 4 +- .../en_us/categories/ukrainian.json | 5 + .../entries/cooking_guide/birthday_cake.json | 18 - .../en_us/entries/cooking_guide/borscht.json | 18 + .../en_us/entries/cooking_guide/bowl.json | 18 + .../cooking_guide/ice_cream_glowberry.json | 14 + .../cooking_guide/pizzamargherita.json | 18 + .../data/dishes/recipes/birthday_cake.json | 15 - .../data/dishes/recipes/borscht.json | 21 + .../resources/data/dishes/recipes/bowl.json | 19 + .../data/dishes/recipes/pizzamargherita.json | 25 + .../tags/blocks/mineable/pickaxe.json | 6 + src/main/resources/dishes.mixins.json | 11 - src/main/resources/fabric.mod.json | 13 +- 123 files changed, 3104 insertions(+), 2408 deletions(-) mode change 100644 => 100755 .gitignore delete mode 100644 build/loom-cache/maybe-data-1.0.0-1.16.2.jar delete mode 100644 build/loom-cache/midnight-hats-1.0.2.jar mode change 100644 => 100755 gradlew create mode 100644 localMaven/maybe-data-1.3.2-fixed-1.19-sources.jar create mode 100644 localMaven/maybe-data-1.3.2-fixed-1.19.jar create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/block/Bowl.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/block/blockentity/BirthdayCakeBlockEntity.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/blockstates/SoupSips.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/config/ModMenuIntegration.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java create mode 100644 src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java delete mode 100644 src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java delete mode 100644 src/main/resources/assets/dishes/blockstates/birthday_cake.json create mode 100644 src/main/resources/assets/dishes/blockstates/borscht.json create mode 100644 src/main/resources/assets/dishes/blockstates/bowl.json create mode 100644 src/main/resources/assets/dishes/blockstates/pizzamargherita.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice1.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice2.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice3.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice4.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice5.json delete mode 100644 src/main/resources/assets/dishes/models/block/birthday_cake_slice6.json create mode 100644 src/main/resources/assets/dishes/models/block/borscht.json create mode 100644 src/main/resources/assets/dishes/models/block/borscht1.json create mode 100644 src/main/resources/assets/dishes/models/block/borscht2.json create mode 100644 src/main/resources/assets/dishes/models/block/borscht3.json create mode 100644 src/main/resources/assets/dishes/models/block/bowl.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzamargherita.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzamargherita1.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzamargherita2.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzamargherita3.json create mode 100644 src/main/resources/assets/dishes/models/block/pizzamargherita4.json delete mode 100644 src/main/resources/assets/dishes/models/item/birthday_cake.json create mode 100644 src/main/resources/assets/dishes/models/item/borscht.json create mode 100644 src/main/resources/assets/dishes/models/item/bowl.json rename src/main/resources/assets/dishes/models/item/{flag_america.json => flag_uk.json} (56%) rename src/main/resources/assets/dishes/models/item/{flag_britain.json => flag_ukraine.json} (56%) create mode 100644 src/main/resources/assets/dishes/models/item/flag_usa.json create mode 100644 src/main/resources/assets/dishes/models/item/ice_cream_glowberry.json create mode 100644 src/main/resources/assets/dishes/models/item/pizzamargherita.json delete mode 100644 src/main/resources/assets/dishes/textures/block/flame.png create mode 100644 src/main/resources/assets/dishes/textures/block/pizza_cheese.png create mode 100644 src/main/resources/assets/dishes/textures/block/pizza_margherita.png delete mode 100644 src/main/resources/assets/dishes/textures/entity/ice_cream_seller.pdn delete mode 100644 src/main/resources/assets/dishes/textures/item/flags/america.png delete mode 100644 src/main/resources/assets/dishes/textures/item/flags/britain.png create mode 100644 src/main/resources/assets/dishes/textures/item/flags/uk.png create mode 100644 src/main/resources/assets/dishes/textures/item/flags/ukraine.png create mode 100644 src/main/resources/assets/dishes/textures/item/flags/usa.png create mode 100644 src/main/resources/assets/dishes/textures/item/ice_cream_glowberry.png create mode 100644 src/main/resources/assets/dishes/textures/item/ice_cream_glowberry_e.png create 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/birthday_cake.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/borscht.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bowl.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_glowberry.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzamargherita.json create 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/birthday_cake.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/borscht.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bowl.json create mode 100644 src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_glowberry.json create 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/recipes/birthday_cake.json create mode 100644 src/main/resources/data/dishes/recipes/borscht.json create mode 100644 src/main/resources/data/dishes/recipes/bowl.json create mode 100644 src/main/resources/data/dishes/recipes/pizzamargherita.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json delete mode 100644 src/main/resources/dishes.mixins.json diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index e5d8d28..d7ac870 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,9 @@ # gradle .gradle/ -build/classes/ -build/generated/ -build/libs/ -build/resources/ -build/tmp/ out/ classes/ +build/ # idea @@ -26,4 +22,4 @@ bin/ # fabric -run/ \ No newline at end of file +run/ diff --git a/build.gradle b/build.gradle index 00773e8..0bc48b4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,64 +1,56 @@ plugins { - id 'fabric-loom' version '0.2.7-SNAPSHOT' + id 'fabric-loom' version '1.0-SNAPSHOT' id 'maven-publish' } -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_17 +targetCompatibility = JavaVersion.VERSION_17 archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group -minecraft { -} - repositories { maven { url "https://jitpack.io" } - maven { url "http://server.bbkr.space/artifactory/libs-release" } maven { url 'https://maven.blamejared.com' } + maven { url "https://api.modrinth.com/maven" } + flatDir { dirs 'localMaven'} } dependencies { //to change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modCompile "net.fabricmc:fabric-loader:${project.loader_version}" + modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" + modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - modImplementation "vazkii.patchouli:Patchouli:${patchouli_version}" + modImplementation "vazkii.patchouli:Patchouli:${patchouli_version}" modImplementation "com.github.Draylar:maybe-data:${maybedata_version}" include "com.github.Draylar:maybe-data:${maybedata_version}" - modImplementation "eu.midnightdust:midnight-hats:${midnighthats_version}" - include "eu.midnightdust:midnight-hats:${midnighthats_version}" - - modImplementation ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - include ("me.sargunvohra.mcmods:autoconfig1u:${project.auto_config_version}") - modImplementation ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - include ("me.shedaniel.cloth:config-2:${project.cloth_config_version}") - modImplementation ("io.github.prospector:modmenu:${project.mod_menu_version}") + + modImplementation "maven.modrinth:midnightlib:${midnightlib_version}" + include "maven.modrinth:midnightlib:${midnightlib_version}" } processResources { inputs.property "version", project.version - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" + filesMatching("fabric.mod.json") { expand "version": project.version } - - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" - } } -// ensure that the encoding is set to UTF-8, no matter what the system default is -// this fixes some edge cases with special characters not displaying correctly -// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" +tasks.withType(JavaCompile).configureEach { + // ensure that the encoding is set to UTF-8, no matter what the system default is + // this fixes some edge cases with special characters not displaying correctly + // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html + // If Javadoc is generated, this must be specified in that task too. + it.options.encoding = "UTF-8" + + // Minecraft 1.17 (21w19a) upwards uses Java 16. + it.options.release = 17 } // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task diff --git a/build/loom-cache/maybe-data-1.0.0-1.16.2.jar b/build/loom-cache/maybe-data-1.0.0-1.16.2.jar deleted file mode 100644 index bda0f294e3768e6d439879d98b8e5665495cbb28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9939 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%0AwE5Q| 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 eaQa)%UNi=LefodELA8|t diff --git a/gradle.properties b/gradle.properties index 4445aeb..3d7ac95 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,25 +3,18 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.16.2 - yarn_mappings=1.16.2+build.6 - loader_version=0.9.1+build.205 + minecraft_version=1.19.2 + yarn_mappings=1.19.2+build.18 + loader_version=0.14.9 # Mod Properties - mod_version = 2.0.0 + mod_version = 2.1.0 maven_group = eu.midnightdust.motschen archives_base_name = dishes # 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.17.2+build.396-1.16 - patchouli_version=1.16-40-FABRIC - maybedata_version=1.0.0-1.16.2 - - # Config stuff - auto_config_version = 3.2.0-unstable - cloth_config_version = 4.7.0-unstable - mod_menu_version = 1.14.6+build.31 - - # MidnightHats - midnighthats_version=1.0.2 \ No newline at end of file + 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 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch delta 27732 zcmaI7Q*hv2@GY8&Ik9cqoJ?%nw(VbR+qO0F#I|kQp5T1vp7Zj*b?d(Es=fQEYpw3J zx_56Q*y1`^J?#$|1*eXTDi{zD`lM)50ie*SFoGmclsAGzhFPN@i5P~=he!}bWEUi= zIq~PU-Ox4xx!k@>S)y1ZeiIomQ7z)w{GbZu?cB&hD4imT;|v zXIFMR?!`sc>i-gI`T28nJ0U>#4&JH%GFOg-;dI*4q7YhPq_0^GqqY#Vz5o|<#l%Q- ztJ}-l3-j1^_7kHOa!r?4S2j0e3YfjM8|y6**neui3ocsl*`AS-hAy=YWDq!*cRosF z%e@(Wpr@nqsGK$y>9&Sa)dB0qnu4;@+ZEcNM-1YFHk$+yI6Cx%4KfVt$fU&7ppmAT zZrZ_J&a(ff zfKSU$r)oacl(q^Uz5cC8M&8ndf_*=9Yqhg3$vTjVew^4XFJ|LCBii^7#>{lnu8F;p z62*3S*NqjM(4v(N3JA~GYS{*i(ggO&dIIax$G-s3@C@K@q)+27=pJx zHP%Qe?N%Bd*N58gZNPRH?RCBqc*?<|<;jS_Ya48RJASeG0EEA0Z-qZ3`r_C>z~h*s zD3Y3l<>6Vwar`3ls9)Pd^>@>7NIWt_k+T;a@Z{BRX%Tvc?ZJ<|+m@&=oY=;duNksS z$E?Znd!|Gk0)aR?#8xsCv1m zC+A}wltW*VKwlpF2L!Nm%Za_&b5I!y?9yBeUQNPTM+j<8rvm%>PCGs5e6@SOJcRlH zb{;Y`W?@v({<3f**<^=Eh!yVNB33Mv&*TSgWM(E9)cUXNiZnI12=gAY<%Kc^(p3a; zS#A!!`AN*7OskADThMo~KQq;sVkF}sesNi3G#LB>ycd}H4Z+hGW$E;DlEQRHVsSrP zDA<^lD{0k5LMUiNQ%FEF%ORC3p5LK#P@5c7k(=0=#V1Y0B0VF^=LUTwb%-81ta!M}q@EBVAqj@cEBD)ay~fa@?tB$s9r z_PYI8)gPZfieGmMs<=a{0(tu_-#CoWUMZE$|~tXd&`X+T_u~hLj2oMTOjvt8Uo>M-)euc-EN!{5b^> zEzeY}HYl)>KC{55I9fNh*H4lfjzyWw`oH{M_BNy6PfA$Mx< z>9+~}mPhH2$PR6c3GU|10cM)*ZaT$2{bDjj%e9lmUKgCV)79#HNnDc96W9X`Arz(G z`47xbGz=0$Hslo@v+RQ8PVOi@?h&=OX=axxnili3gcjaLGQYYxQf>3cCUz@Q$#&!D z!+wFWckfG6UD3iOyS}`EYPrL*DpTc=sY^JOkP%{uqq{?9Mp{Q6ZJ*=l3&S>LN)0o0 zN>(UJ&|{C_HBQPJ>cO(J>tp~shbNK15*EhjS%2w#im}FG@p3uBLHSh`HGbGGRvR%A z-cZaz`330%6-J!V7+0#&awA%*yjM5skJt$qm+m}?!STqtoG-9vUg^|#W*KBgLq`-HfQJoh4QKt_pt%^Bkpwii0ocG(BsCLciasj$mP-or75BvHYMlUaj=m}Uq14MxNEaQPxv6GG&`&Co1mwBI<1E^%;&jyyZF~#( zYRSD)#p)@{R!Zs3&1fzGrG&422iq4zGY`D1ceUvKR9cle zGz&Sy2mW-*hyZQhwEB{|@&a#oZSlKe+Th9~k`@>p=&~s*Tv6a3gt!xgvIVK#kQ>R0 zRCBTI1Qy9`BP>B4NSqQoss%BkQh0DYP6EKAhBr0jce_QEC8g!JrN~iH= zaRti#8p-G`K~@q_%z3|agPWGeMAR*jU#k_5ggI->l(l5vxZISyAXH=aTRu)jng&zK zhG6&x_BtK_1!*vFSP&3sXb=#P-yj>q433Qdomi7D%=vK_16U@aP~c#dqFka_QKFQT z+ajeNq*$DlZQGNGM{t|uEM|~l$32;_Qyp_C{z*x!=3J1x2wLTlt3qCOCL{p!6UK~hE^Wp^3Tj?;DlM%pb{DBsx= zliBv&+`O#beqUer=)FX0WNf7K62dA%a3m;3SdT`~FI=JA*Kkwi;IYiHPAVGx<|=wtfSdHrYyO0T<9SI1 z7Hg#!uBlqQdgu;JsHX@_y;8?k<3>o|iIc43^APjGW?t}9x@g!c`m#e%&ly5_&qwJ2-QJYA(bU&HINA;2fQAi`fe zK&b^;js)I+j$zd%apFGV|0UXFlL!CR`vh}+Yrfcdi;!FLbz{K`qK}wRN<8{J*X9ml z`3bW9q>$dy{Ut2AkSnS-Yk_KDgIr?+b43>dqTNsqZc8byLg4_nCGxx4Zed*XM;LN1 ze*YPI2WH^z?wE$7D-L-p4#Ijmsgy>5vvS&?P~&UtN^I_GL6L$qZ+Xj<#p>$ zKUS}4X4#l6D}NJ@q*KswmK}^cL~u`l+#nO^U3Vn$&%4z~WY;^ED8u!ue$Xk&)<>xS zjnAabIh>|N-vdyX=qOp#kN?2tn$+tr1~_e~AbrKw9JV#i^OQ>B6752kN%}-MTW76W zN+;??;9_nev|p|@ z{ktmTuljt*)As{o3JYVAGrj{ykY)+3A5BOiHq;cuNE>JitimIVoPr&xROqA-28LZ@ zafvq%+sF?%1QMD3U1PhVsW`Y`@!YZBbL^wNd_oQB?AKCchSXZCyu_+-GT5usl&7w` z4A0$FJ8L(%=k+*b2HN`_oagmFT@lo~whGg-)=lDcVK28oUZu zLUQJG@L;K$E-D+;d~Wa)hp)kgv)bO>r?bS`+DUKX=dD(ym6<6ra}5Yhi5JN-Z^AeA zvRHwYy2y*Jt3~$a?e8Lqt+zidv@JHwyj;8NJ?cX$g%(B>*ACC1`=S4|0M6pRmwr02 zBm>j9W3=B$W?P$Zd^yMi)mX<^`+ql$IJ zl22#NT@AQyt9Fg+& zINW+JhR1QK_-i0K)#XU*NDG|gDm0ZNQcD=P2=S&C{mux^oz!3d4dgXH_xJVQ_Q`ws6^$ZdiGVQ(-{QBO)!HPpONTG#EaFn?D?I+ zP!x7Z(+s4+S)&wF2e7ooB6Y=LbxT?tmO{FB1J=W8jX;yY0nO@C3v|JBKP8yr(POGw z;uuRSDOS7qfS!bdcrKwbQX)|EtO5)P^}>wK%?7aR_Ygyl6CODant!p}e|pVzM(`dO zyp8_&!(FempRTtBzgX&thIbpJ_QMg$J+zU%AJQc*{+xkUPCydL>w=tvFn5G1%$wdf zruJvF_)<#z{sGYh9?}Df;B%=oJqrl}LV*kd!k;wfOP2H)h6hY(oVlZ_qJ976m?~cQ zA)P=Y>L_xW=n@dft7a`)-7H#zLCXL?7XP!D)zxf15cj$>JW@i@LD&(KPpNv>YZLK1 z^yHP(gX{b+Yf`Z-sO8&X+ROH)`^ytK@bU1}3Ziuv6797~Ui8CVx=mb+nj;xiomGUQV3uP`~edhExJlq1gia-9BEJwN8iY(~Z%f-h*nPukzhIYU(ZXMHgpzEv&EqVbgsw6!JgY#X~bAXrXN@J^~v zI14z;zBLq{-}n2lXcXi#W2tL)lnX%}XRtcjc{kgk8KE47rf;f8O{nRj;dk^~>k0;2 zHnAaQo&4`=X)4GXTEC1lnvy!agN_gBsB7%o23UbusxT!U?}|xj?s1(7{MoBNzbmMO z^|)B`JkOFauZU>Lx`+(Jf-xcd{(Yb5I9{6S>80A}j!&@YX?bc+Pr%j=SUM1ey=YnT z*6Q0k7*sttWOC!9=|rS-U81FDRb9JnEVnpDJS<7WG7Oo*7Fwvy2A0647O3_)=@jmY zRU-r8Ia)a~DAnsYD?#N9h_zWtE_Ls^N;TU1ixn`^?kWpTs_GksRhboLiLDu0$_$<> zcAM2Bl1*uMuvM+neO0UU^^IF9PkqGh+Nm=5b9kM^a+x?ldX3wP_N|UOfCjJ zs)Tr*ekMbGI#wZeWD3pSGHRK@*WL;EA4JVmb{YCsCP*S;kF>>^Dp9=$zUZs^3V*@X zQ{Yy~IAwn+9*9_z^z13{|sdQ$o+JyUOx)9wgPng>yP0gI(z{I9Cx_mfgCL|KJ8>x^Bxk zBdN%{F!Z5AFGw9E5ve1aP=3Br7yad+i7h1af-m_LN9GA^w77)spBpBPFO(HWikPM} zcr%O>$E|@Q{$a#8K1iSvxxy^p6@b%#h#CH=L9#u#6x`H*5^e23zni0>yqBY~f^svs zp6W%p%qjAM-^MU|O`q7W!9NEuk9s%kV$r-;CC_rEFX`iaqU>$gG5w>OerMna9iM#4 z{;=jr8yZ$r4Rjr}xF+7$IM-AZ-uCyvOym;G?1|HIM6%r%c8QGRgRAsC(}eS?hh0gs zt2)CI8iRm4^8w=lv*q+y2a}e_WeaT*XU-#!OLAt4)ErURn$Z(DnKc2(&6?i!omHZQ z6^1Z#4Tj9op!KfyU{m}bU0{m;%uh=s2(DAEtp;Pu1v*8O{2=W^gvisgINU($ldHEE zSLFPyx|48%;X)P#2OMdNDOq>;G(tS);tY6h8w#Ha4nv%n2R7C_C=8EXoZ8`0c1m9I z@#s+9@?$&=W)3^d^#Q>5{TdxXS@!r|PF7#lm0<|N4$rHX{)kq*gZrE4H{f{3>xTmDsyp^Ss3-e0M%}k$?dwDy9JUjTt4zew=k)OixeBa(wn=jAasw9MyY;z-HxD`K`nvV2Ky=)e+LBtp@jIa*8cwmYFRoc+gLg<7~2>+JBO%fD=!G5eWhZc zNVP$zpbeH2A^o|7r75S{{{sZFKC$F8N^6cAWiFb~?q~f1`|@WLC`TMUEx-Aq8fhvJ zTAEG|ck16i0X_i$>h z+o<6C<_&FD7=>AiFtnewm1u*_Wrz*^}ye*--Mofy}|=6eEWqh0Tv zVkbb+d(f;~k%e?>fB7K#zz~nEPv*bQz<1?pUeI-J;o*gnMy;adkx21K$ih_YNg*sM z1~8H>ZCvg@lSN$~ipalzlaW>*bz;ye8d*@oJ`urAkjz`Q;wM@q(U-P!@QvSGD#rw9 zw3IVp)<#-HjsWbmS{KS?TzIAWnxv0ukPFsA=7@j!5~EFu{=r;=>EhJqO_z$S1%bI} zZTvhHB^)!u69L#geu^1gxVO&M$L2ChOs$ixB>ssZvmk_r zSE?<@y!_+>4?El&OnX9xw{=86Mo5^KGrp#nM96lzItFA-IGA?V>BmY|{?y1e+x5C# zadcD{xx!stFwNU1$o<{u`z7f5V$I^GMh&bX^Es#FL1TWtK>vSYD205XwEYJN2=;#>mJuW=ffPMS z?gtt`#{7T45~DO>_a9jJ7usBzOM@RpJ(C6XB`vM{IKm-R69gIPlw1Q=WiE*`#<9f@ zU_Q`rIfxo|!Ct8b8&F}ObzPX937w~x+Fzz;^mhOdkI26u4{c51ojYCgoj#wAYX zq;o2!$;OM%#C6U8oVl;xP_Ztl8Jy`;rC@Pat9*&0KzF>YQdEk-+UQUmmYXyH7pO@l zp1+qXoPzkC?wAHiZ9;AvsOkkQ&zO>oli-v2`PKpX(x(P|BdAW$D_Twlh3}$A+Z!SB z?B4Yq*%X916#9Dip$?n9AP!4D^j9sGCT`Z{=gZUcCQ{Vfu=xfM_xAM;8w88~17QFD zwf)$Gi%@LkRJ1wJ&F>p`FzsBQd-tybIif?3JJ*j{hB+nHbLD%Oxj&7Yzm2bHt@6xI z6-Djkh?Kp~wuFkjUK*lPDhI8GbOv~8!ZucW5xjmV>J9bT|Ib8Q{-CQO{EsNf{xcWp zlj2D+{>w8Su%V2qj`fZ2yjD*a&P)>#*dQbcg39{Tp*F-p zw;u{ciG`$%*cgwK+-EgH&xhJ>fZemsmX^l;t4Hn$r}3YECoMWMT-i4Ep1Fkc>1yG@A}-G9uVPa<*qYL(d0Ol+ zM))J`N*GTe3El53+!FXMZAd4HycsBKPz=xP)XYwA+ZHlqPajgxZdFGRwEr}NQW`BT zFtsP?r7PoV2(^op>!J+ALhdj~wqbl=U(;zr0HGQ|{!?l2x$g4>ab)hCly0W`nJ2Wdb{VEHt>rw@9hwS%A~W=lTX6M(LUPxdF@Da4^jhr|&|GR%aX~pO+JLVV0vaJ66`MfsC;)9CTEGCOngxBpuZX zT@$5 z{GwC^-+CO38l`ZT)km&|Mk`QhLrE0^(BGAY(BHE@FZP;e4OKlZ?1t^`Gr-rW!C{M1 zf&X!+4Y9Kq5O{OvUwVliX0sa}NO(&+FiT6r^e9jVSl+j2ARJv<=7?#LNvG=0TQtg3 zv+LSKV{PE+aQ^yoTS=IK99c3pL5nMR;96dJ9F({iUb*udfpZxQO%SEua zrq?FxbPXE&5Z65L9V;!X2Azv7Yc?d!UUxHH#mTvH_o5e!w;HakD~uc~y)2(M%pbD>E670f&NVD5fsaC~sMh?`t{ zI`(#Hp2*`>#nQfc;oGUF4{F1vgU1cza|NmDV~w#t!RN&(?%LqjCgi> zXOAGx6Ta^#K}QL?WjHdH0#}Yo1=W&OykHs3GczcSP;AmBQHLWXq&YR8(+MPOB4H^A zA}ZDoKJaJo5ooS4lg(}}`79YDlM#~wKfqBjubhXNYylX zJHiG-XWN?Kcc{SYVp{iU(gLPF52=uAsqaF@7wMPR9Cpr}qZt1Sik}NC7k<)MJLk)$ zbN5Z>$>kO$0DMCC(!P$0fZDSaq7TeROC+(6W!v_0qn-eFW~hm6MCuHgZNYOC(T1CX z)4kdhg&w?4h6LxvBylj747llR4nw_Y!h?4-=zFX#7<@g66|Y^F;ggj!X=x#O)KuoF z1qF0?ihBVDTz^)EneCTc`SiNaz0vhmsvtUXpw&YN^qz+zua+t|yo2>o?0S3egMnqY zt6jc=?9?ZO}6bueM#{xVX1eneXomb;t8XxOQrhc+^pcb(^n-uX|`GnvAWb9FpY|Vy=U1 zQY(AXgo>(^)Hh+8;ZOYBoJFj4uOo$n7OV|}aR!)BVolZ@vKS{LNwreEIq5noIk~n< z_0bld9&y1eDraffmSo-}ovdY!?aF#=OdOUC+ougW8F(`^Sd=BvFX5dhn)j>d(YPz` zLTs)TV(%2R{V~D#i!*d+Gse=9Vy*zHb=t2AXUk<%fRB$6o4?Rc4Ubaw8|+3SU2Lu& zCL3rzZTDR2jSjI+XJ?}1znO2i{++cKuH|}q%DTYLS)Vr8qD(T4>oL>+ugz``Oo#K9 zSoj%G$q~8Pm8IWABj?HaIO)#g<#al`K&7eiOZOlx-tVxY{^s zD|ee19u*L+!+LGeE*RF{larO%${#Pg?*za&ITaL)>P!Zi**h5J{@GcvMs>GV;wfp_ zj4+RxDqBc@v|JYW=sm}`m?*FDAab!j&f2Df+=YZ5zQM z{N5^fffEz)$fMB#AQU|I;xsq6gx-RoFUhtb@T}cXKSQzYix1wS5`W5g+Vbo{I+|przSVs!pRuI^a*talaep3 z;S&XU*@$yU0VXBXY9j{mpCJtY^kFVIm0oy>KLdVzL>PXQtd>Nu7T7l7_DM@nyOExf z+DlBmFLnROyqHC~Q`0Ivsgiq>%mJJj>`FVmSLU!dbB2idD|QAXjWFcS^Y+RQvllrH zP_AAh!Yp778FCiS&~A!6MZO{D-hTSxH;f>ny&@qupR?!*f~^5aq~e%G$EL*a4bY*Q zSem8A+1OI!*d&;w_t+?vq|!Hk7Cbc3DO%|n%S4#jlM30$D}Sudl7p$Co~ak&7S>v4 zs*IhAbX7lXpLHLQ&-z>>A>geGPGD}7#EsfaZk8>YpIg9mmClB@NBZD1R&p}x3Q)xh zJ^a7g^4!3hje`GLa=-t$hVB1y4GEyS<*Y1<_I)LLDr?8dHYio0QGvqz-zt^pN4{u& zalXO3VNZTD=tfq~2OM%Rab}#7z2*RcuBt^=#jdcIl*fPoM91Y`tYN@4n-xjb zpGqKdw=0v;<$#33MJF;JsjoP80@BN2ND!2e);{mFt?~dzIIYJ{HOVtHpztEa*;GE+ zCS&7Pq=e+}W^w1TULs#+PSkpNhDNR|K(+gLGm+nFY5~$MaFvxfnHhb8333;v_>K%&kd%1RZ5V(0AiP!9^t9ngGl zGU?v)Dk_&f6dqAuvKeayQo|M_yg+r#?CMopBlmk3<@Emt8Rn zhkPBXEPge9=w|9kM@b=4$IoNYIi1uWffon!`s3}%9?g=?1u|tY*$J@EB&*X6x!9P~ zROE&hn;&&5N7wX2fb+_rssb4v!7%`p` zYvQ{1~k zyZHDoxJgNZ(J+2{Pr$26ldskeS(4b|TuG6#M{XT^o-H$Gau#uxMH|{zIy3YKPA4=N z-!LxQyJsQnzCTF%z(Eu*Djrga8S|IXelXT8LEr7)veci1yXLRdJ1eIHh35pSPm zIq5U$PwQ6*en5Gk$H<0IqYIsb{~oskMZA=dq=Ao5X@pk$^sjthx7RNT2?+1VZmQlJ zw0+cff4&m?S=Q_!LXDxkwxAw^eS4K#`FNR7P(4w`ZHg+S0{cDuM69)FQqe?`;$;bT z*>CZD{;-N7^M5ad9(aR$3PAyqEYQ^5EW+9b{~kEoVuUQXROgvggCORi8-Jra1(*`p z3wa_c9u1Gm6*-(S5)|CNGx;`rL;O$S73Uy7NsR&mQvRPsMf`uE3=RArc|D{FgLX5;dF)|^AlI@#@Jaq;!iO{v)!B6*T^ljU>g`;zN@-F}k$ zkmr2;NB?`unGpq;qxn*#UYY|uPJf;C@ST3PTKHAWetV3H5_+6EzNe)5$@bjM8?yz3 zN*X>Vrb+Xe)C)gm>+y^;z@LGQ8ns%W&6UHZd0G7Q9_)qdtFF+YXfv2Zo6Aiwu8 z^a46ZhdiY;NB1zB)wMaW)Fs5m4!csRb5gLRb3<}h7nuKFdGk7T?N&HSAR0EMcYg%2IH4RA`AjgFA zdk=|dyJrRz{8OcI_n_+kox)k!C3z(G`wGSE>Uq|6v*_Lo@iV!#e6z|yBK}?FTHUis zh!TDKc(2M+@aRft_-9C+qDR^IN@bVy(S^#g>NdR#9$IIZDu)VzlBdQIatbNUjiP6r z29~Oa${tn{M)Xj$iMEP-Ni^C*`$Y^fKR)})$jb;&=*Zv2jZG+rQ=wu`W{P8Aav$Kb zyW7#sZ8SJJnr}D!o9^ajdvU9&#(QP?d0U~r4A&;d`_b3SSS1dDGj!5~jAL_BWf>!` zM26qYZmG!90>k{i<=K99cDs`nZF75i@HdnqJM+}~=7zJXy*E{JRSj4pe!uZ-ZB1Ec z=ieFtk@xZ(&h5|3w5o8k7-x@I%^oRj1^a#u6az=`ifk~(_^opR&H_&(zUXiSe*X3yWjjBs`6rks}wv_3D7^?re#_JA|D_R8hq=8 zEHWii)lYJ~oC-aM*p%Br1`dDwY}DLr3dNEq!VAcg$or@|o-yHcLA=7n1{&kbn8Ymu zIx>FU%3f|a%#c&ZXJ~uLjqw$T*F!wivU|b(E41)ft~px)Gwc62XHFk?AR5h^4$$hL zd-?9a%X>AoB+J{Ok?<0Ck1^O3PfARt@>e;~6RrCJ2D1|3l61AB*Vxe+Vl1WN4MaICi5H;=yZ~rT z=Yp^>2~5hR#n5oWqeUHY@?)l>a-17ZgP}8-d?NC6q6euEch08Sxj98aYh{g8Oj6% zjag8`ha`CkBKGIlDcV2R!rf9d4s1_Q??U0ew)Tl9D3 zfG=X<6?SmU!5~vvS0zwLpR+ zeI}``D6JHhixa@ceAhh8c{c^SQ+P+*t$GmmV2c9;BL3%mE9J3$kr6JxDnI59=VAPv zxix2h$Me-IB6X1{+BgG{Xg1)XwC<5#gvtl=7EXV5C>NETS{j%RvY{ftB>bm$*uMA( ze@`PXE|OupWm_(ssmnIZT*2-X+~xSB4eRfAvUfv?m%-yNoQ6Hd4!_)ECM-9#m#CUa zkY?uv#P8p;+J7a-f0NH`mfd}R_>1+(1Nn1|r~I#SR62}zrFTHkhp7&+`K<0i*efm0 zFS^XS`xUk?9zgg&{51>qSLL0epUlC?TT6AT2+HMH2##I7CUd~27Y!2f8Fz+Ux>(!q z)92uRd8-e4KdFPVw+$JOO#FpcY(Jrc8|aO^f5b3hYnAvd+$XZC4K)UhX<#vP~)r!b3{ zTh?M7<`9hck?iy~kt=liouH6>X|(@plAqYG5pson=>yC+w1qv}3$M=@<$Wf6 zU*9Y+mOoIi&fY|^ycU9Sebdy&NSpz^Chr(oCKKi$QJ{djq&rl9uP;j@FTDp2XjTy< zN~cC@WN&1Ei`{?%*uIVpro5P4J#EB>l2DQR*$7V0AfxpM|Cc~C?awVD(AEOgWtbSC zw+_T3X^jw>jeO3^Cv#@ie_Fqjtkozr<@4WuYT1?Vy|sUToz(|U&(D8PFSg}9A_ttW zQ=r|K^J{=8ESR#O0wNn8Rt(2w>|j5_g{v~Bqp@9+-3y8u3^Wt{l9nSF3g=VKn*y!T zii!a+h?mi4pP)j7!3kF3LV`TPu?J!Sm0$pd+v?VLEkMhLdpX;DFRM!I*rcll-n}#b zYKwf@D93i$R26C#cWI?yhagT#EycHFfKH9*1p%1oF2{sOE5}GH2mH4~Y4!$)>Zu

M_+HO@PRmF-k=L41(VIe85|-uRLG6KFZi}j^yT{^1$UUa3)6IwCX84M{VQ6Hc%3VaS`7TtVy@|H$qL+P%cuO^EU2CEG!J?qx50QP)6du>c>W%+< z;MgEq!babR@x$E`+4wRYo3|aD4u08dHo0e%&Q0iUB42dLmUT}q-{_wGngEET6nAxw zR1^LAT@Y?p`cNJVZ`2XMcUY!kfaG&c7t$pso;#{uHo&boEg^&$pL& z;3FYVUe(zFPh)pSJSG^@!Q}>I1wvwJ9#_F@h{}ZGv`Is{R7g4#VCZPF9W+p1zojQN z1w4ejb|oj6xMJW0h$^eFiy|}E4^%XjfovakzZ1ty-2-=g%3AC)Zm>VD#%wQKssXmS z4spT+?>-XbRsk@z`G8Ufik+6Yb2&PdWzkV{u2qFDPX5q3=}AjR_QpAxoRrB;xJ%Y4 z3>1&4eEtaeRMFapdmk0UKf0a%8Rf_37z!|J@R`U=^9bJu`NSUZ+N$It2q%}!@e#{C zL4@4CD7jhgB&ZB>&g*>9=7h=$Wg1)CwtlsD#j~?SQ9XqoSzyHG;VDVDmacAMb{{^c zvqlVyh6%<%+5z#h8T*r-n+q-Q75hCFVgF{nNyAgeZnzohQ^t*Tgg`^_qrn#4-8rf1 z89XPg;2~@Cz@@L3iypgoSbD@lvvnt@;J-?dsnz2gUAb3}E*rT6lSYFLTI1v?8hUSJyqMrHt8Ys;=Q_@oIU^2p1cUJHO^aSp*bgTTko;S8B~xc2S-waXzc# zJ4>@Jy14BBmQj7rWOd2dam`fep%qSB$t%r$hyR0D0>n~?+HlFKlh~}hX|XO+Ot)^Y z#Oj4|yrwXBoU15%Iub`B?KA#*f~OOR+Ae(wQ1)p@dG^gSpQwZIheGn`&mnI{IPJjE z*|2235)r%xJ+3WMEhbHO2U`h(zG8X;wFP5~&OlZmVFTCCXil>$q-r$7E0^mvmmJiD z6<|N}2AT=~?MU1N9?YDYy~7}VIh)MAoDqGJZh^?!9g4c3=81DYu<#7ByU=pZ+IFF= zsTmv#7#O3YtYa-xuX4*$LchUv>PXK7l%Zt~THx^`KCVg6EWm|-6I;BHc$spIVDp3= z9uL}K&Q8pVBTI}MA@Sn|ooZsy?ZKV>djxY51fW`0I@)seextR=L#GMuR|ytFN4t;m z2272kRVtSY7p$Op=@xLJc_|mPnt;Nh@*>Znf_%&9(6uv^XZqhuDGDSf!(=xYBwkXh zokrFR*~=5bsG=Fye+NKJf&Y9n^ga~Lr}1;QG*8bmFi)sDAE__~AtxKP;Mg}u^%Idj z1N!A(u%7TP@XF}Hy0_PvVRI4-@CC8Ab>eO9ppJeP&+?W8i9Y`#Ec46oBYV3zd)Y;z zy=jYZg{YDqyy3f=d_c=4QZkW7cs{+T{T0-Bc2O51hrRv|V#z|(LQHh-qi$Yg4#KRg z{7Y=3X7x8u`lNpp1d#&PCe<{-CMgTRBMM}1kOb_^zoW! z$Bvo6#fWeBHbj_+gZl#eK`b;hQ^&7tCq&Y?SMdUOdKMZhRIhN9xq6dUO$<)`9mvs% z?i{1uVy9uD_)sNTc*5Z7!7T8C>rRcaGQbv+sH*?+NzQ>(36xIAZSDQ}7di_We43u? zyhdWZUvH%s^r7!=&t`3($oTU;KRJQ(A)SU5JvX zDD#g_d#GPX<(1DGgknY7eC$S z2ci--zxA|=3AmqpEfXdz)oDM2y3kzbAd7E>nfm3lgujDxJB3PsQlJ5UBfKtL!n05^ zWHYgi?Z)V!5J7=8$-x7m!A5K_Y(IpAq%$smW=WcvFRy8WKIN}##d)pJJ_$5LN;Rwn7sk8SeHs2zUEHxZb8qU@R5B9C>*BomyYu<)%kSoD?VInB$=~&LgrvEDpSW)T&ZFK_ z;(m7&un?B&H^lxOEzLzDEEb6={&w+9q&NBy<#95^*A*OQ%(qEQ8k;tLIxykU=8SyZ zKk;^9hh5i8n{lYhq8H;G=z);b%@MxRP`xtY0k%ELYhT&>*Mk+cJ0#7%MiAV-N)XNd z#E>NXpT|FZmhA}lF)TCMeGg8=n}pkKqHWAU;9t$$RJ`eL#) z?=PA{hfLBSt`$qg+-izs{7qM3=XfFv222CibY!D$cS+T+h-85NmnTMz0X)HzKUKMrWmJU{I&7k($O?g5CK)}A& zDDhexoPF%}qH-Zr|pOKD@=4yu( z=jE1*YW&&7b6#nXC8gNgmf-%#qikr$xf%JXH5PAel-SS)w0sMg^x!hnkqiEiuotVN zhMfE1jFKMTZdeJ0*E}Y;T1W_ykJ);d7oO~;CK(o(oLVd2i|2t1s$vX3XijmE;?eKr zR%Y=+vSO^AT=*+k<90_=Fv85K6%011N;Zv_zeYJ7O6bgy%diA|IU7<4E_U+o8QAQ++khPoPwwOSx29E;nvRQx39-cn>aI4<5h0K5!~aZMDyaWM5r>WOV(b_adj`p+VXn+mr=) z!(#$HSzL`vuI1`I;Q;%^1l2P)Pma~KdzJTiFb|=G84#H)vBc z#`H@0vfR#E+OEo*C4se}&taIM?b|JC3)RQDoO#8rps)6WX6!nsJ=tw0d$67d!F`Ol z;rN+6_QILX-diQ^7O)M60DlKwlV0l|mtzHy_<#s7R?$kS&xSp8yrGQslB#_xeUjZQ z=g|x4sBNgFgZEiz6)Q@bSPk5{f_-EkFq_?g@U;hln{6O4f9B+ihUe9T+%I3oQ#n3D zBa-DbP$oxTn%{u2;`lhTwFP|UuT!fgmT1x=DqWjclq$1kIX3QSKN&A=Dr^qq=#lb1q5pJM!uFY4>$)Zf z)U(t=7Kc*;8pufj=e#1c>+ceuxpQ_UM^5Fw_)yxOb1yWt zl}-~_vtXv?4)FkRm->tsQGARLRsrwjZRF$_#TDsDEE{)=ny3CS)6tuniSM zHr@Z4Qsq`%e7ZZ^nsZSf&|{b-6oMY|5>O`b6phA!an;paI_R zgsaY#{DC3V7;)U?eM5Dv6xhxLYUfD8<z%58}B@#G7H{M0+=M>y0lG5D(R`E#yULX@u)s%8)j1ROLD4ObXqoDJ8dX{N?2=c*$7^PC@u83`B4QZ>AF{$9LJ0lB zG3uc{2bCE&dRsrQp$?+oo?rc$0)y_V9r?Z#YQIMKr}hxUjs%i(aCI}avy-&8Ft`18 zIxIECPz6^UFMI>oV%Tnny5RT(Q!LL^tdEj`HAs|+r6k5-ld-v0hh||49CfJtMdR2C zkt%==C~!Qf4RJNDs@Pc1UQJ}JdFNi{WH0}`ydCC%p%dc8l2HyXh70RJ8-L4oz&Pgo zlBlL5t3(4yPwx2EcrEi2pp{ok{>sr;?q6{;I1gq2?mBGmZKi)GQVWfCtLxjn&d>z< zD0fO%UOC~1+*kbIYdcQE4D~OXX+IldzxChZvimq)N!UVcG>M|9Lm?F4LM_Bn^w9^X zA;ZFVQ#LY}rcPL^Km4W7cihu(x5Cu5WlUIRZ|gniXRE#5t$wo-a=%Y=cfWJRaIS!R z>3yte0La^`eMA$gj&p<9Z%0Q>rkFUoV5}^ujJG zhRrB0CL_j80SiKqi|x>fCt-FNwgp*l(I2de+Z8$4PwUWXAYak6wkphs8b(b+Nl7F| zZmeg$7)G>wn8(opPJpRtpJ`Toe(H$(aeWPFPGOuN}qm`}B)biaxjT5P9Ome4tfW z2hnnT_RFQfYJb#L&bP!nk-h1t(TPo1685RhUMy!f?(_bsc+bHN>^9jfjqR{0%iHK> zw)fj6xsA;1W_l+g{tZYHB-faK9<}Xjf!qstFfbrC7#PaG&z=$gPTW@OA^RC<&Wkc| zrSo}vug#PkLc(5U@Y>FHx_yWSX3V5;vndhIj$I^o(84wjr1RMWm{pSu)v%NNv8$<> z;WL`x7$X~ADkT{=gGm6};dz68&#oI2ACo&~7B&`*eNKHn-`%o4H+EzSU2Y&!P!)td z)hH95;Q^yT#p%pSQQWgA5V)du%0{Kf8dF@{Ifqog&I<(&g%tMUKhc+6BKs9^GaL$K zD!8{N?aOj$@4U?}acZlog|yC0YYMDQ&l6A29`e^f4`1bQ(4c+;<_odSc-1S5=j31F z7*(hXbAT7Y#k%ZDWr-Lr)w$Z%e$k4xbB8p36=(sVo@w`)+L^W-?Z-B8%LSy{($T)p z0;x`gxr=h3_8}z!ww-HYzT+m+VN<6NZj$16k_UFl)ocOltTg)E>lNp`q9Dk0_1ikb zQq2y@49vqToZRwrUE*A}g#80IflPtw9p1QA_Z7;yMdyfIHt)j}`Xc8~%KEMPJ9Sh0 z7v3`ZKk5n;bFyV2rGZg}$J0dwG-9yQ=7&Sq{$ z)nwF!E@Ri*c+gGckh7@G7SY$wZeVZV#|%tjl;}F3l4zIi@1~H?{-}YCfi_2~ia_l_ z{X<`QmfW)DSIOn*`UR_bwjwnb*B$7<$CH1RdsR9YLY$V+DfjiU>jSa%j4*9`UBe*QjBxAY z+xOPq)}0^7#pao6k~!O-m%UY^(bv=uI@hspGrw}`kanXkv7XMhVivXekXQyg%+P1g zrSE7O$W%#1y|K|>QAzC{KeHdK3G(dJ1GjW3SeQqNC{ZJN9h zmBH5K;>d}5e6DUHT)@w_Rc1Y3VRPUp$zCo_6u!}i zqorTbsBV(pVvY|kT|FA~B5FR-K-_!3MaxA7kgF6+2hxljiw+%O`9^Fc!~2e5nBxbP3OD$* z2}fdi`p9@cb~f|cf<705IKydh%gGsqJxBQwWv|bz=VE)G(O9DyW{gVDKdS=y+t^4Y zi9@P#8ZJ(-SaR%m;l1F=v<8x$GM%891U927@*JBuj=ydkBEfYq-$w<%ZigZ|Egsyy zac1@iAi|+IJ+f*e7-=!{DB!S#D>kvK7RR$qe4QGE{VprfvWI9Hq<7@T?t@Jr_OJU(f#I{#{%x?A+>(u>ZTH zc;I@Sr3+2o7cmTte2)Y`Apc~YYHNE5E`Ste;pM8Z!v5c^O16Bg| zuecuJsEg_i?pomx5Drz-_7d{$g6V5Lg#^XpNGP+UZ91evgg|dKf-jdfbDBSTa+tXM z(uWW|x4}TUT-cKKTf4bw#$53IFe|&qF&ndFkv~tTLk=s~!8@PzJW;4Eg0OtT>nq!b zIB^vS7{Nc7o#$Z3ElM1=X(O-l?vnrRuL`4Ow@z_wNGgIMNcxlQ6MTr{CJB01l;gr3 zfp^>d=IWhC$m!;)T1Xe>3L#RxAo?%r4R~x9I;li!U48AizR^vN^H11JE>^BtM0k`e zr(3l|Pnun;o3-cr=v@)r@qxQWL)K5|A>E_5#2uebx$Xi2#4`L5ZZ9VhFd;08`&lJ- z=zD3zy=}##ptj!l)>O2iZ4WH`TKjNwaju033*@5x)`1@H-f*`XjFoc}hPUF7qxX6V zSMY=%7q2HJQ{PT}4R3bkv^xtBF*yqnvObgaqnJ&Pu%Pz$z>ygUfj-BD1`9pnmfA1g&xhn`sP;PHm@!ECzVVK*L(V|1ON$Q?`y{~L zDZG>(36jaD5KNMfrpq#O$U!2QU`q@sJC*32`3PjiRSo%&J(j|i_1VI=eF}}KGElKj z89&CH9xWi*QQDt7wpOY9FS2;OWdZ4|A50qf{m>Tnq&F{T;v`Spon~iTPgT7esipfS zVm`Wl5{{_DGXbn{IWqXpttfVI?OewA_a|#mevmxXmwccN5Px2IW%pT{_=Q8=oOdlx6+_)zcehW7A$jyHWO*yrQi<|kvG;!hqU+nbBA|WNfO!xlaI2Bk(uxp^B z$mH5tfJ82Ls%S+q?mqME#;495ZGUZ;itl(=AU)jvooABn*|nGVgRKl(mM`5Q*DT1` z$Gv954ux=}0ft5d<|M=C4Z|j}v+1`KbgVio05h`LNupEGIFHmlc1=`=m~OEmM4j)*@);%mvel$hCV-3AjeH#7}B zTKbx^nA*WAM~4>I=8IMwc@-EO*{dLzZnEjK{4g*&l$^x4yGuFs^&H_Gk(uC-%~I-5 zyOS<4n_G2*Wr2rNA;-6VB2C9Zbi>xHwpM&C#`p=VPOloRgi#s@Ruz}bf{;Jl@T8X$ zMTZOs;Lm5AT!a@{>n%<4%$>1;o5#^s%S02=QXKcBE|RlgcrJK7G9Kx|viQ8cnEmzX3j@wq z=-ug>xBp5M+A~v<`1UZt_E8yh5?)mT=x=qS9P3C>M4hs({_1amLVwNUs}Y~k)__WS z(=JhCvTaCXJ0_wruf}j;uSj^I=o)`CvVum(AgN%MBsj>%wrp&vtv40?;J^h1VAf+*rSf^vRLC+;1$)zGi|N)trHw!pN(a2);~nHm zDzo>dWTcuzjXoz=$JSgHJCO+0@A#72ybYk*2rtPuCUkvj7Yja4pod<%1ax^fCTIU^ z6JogOyFG+zdTlit_9Kjl=O@DvC4y`*Le+QJyXt}LMKO_wW*xgw2j=7$R3XAqw(uj4 z!f{OyykS(p+XbWd+J&H>wCn5uc#el8ZeWn4NNfV?9Rg6^_I(fG zNNq(GdERzF#sg#OSHb9MFx8HWY7KlXi?u+u1j9^u^z`Q`pstAa%>IFZ6Ya66%3??~ zMtK(un|EDHutQ!Z)w0`&H|konCc_L`JGzQUJK2}cC2z!=&CK(RgXzd7o(Cro^=(u@tEF-OiKb{451go3jTv#fwxJ5z+be)C|)uCF(S>m%4on>)w#+S z>&jt4Pf?eTz?){VF0@pKF9XBA;W?jn_P(OhGl;z_4ekZ0mn&bB7dKaH#PY(|dziiF z$eTsP%~ctOb#pzW(RfcW*cFpMv9{#S$&+V{3d`5ux@xk{`&TpK&|mh&Zgo>HbZX%YCF1RgE8UQ$-uTnj5+SLYPW*ZHWy+F{Jr0$=CN zW*u}AKuMBH&k^*vWRLX_53jVm9f|XTv$Qne|9w6`~ zcWN0G7>!-SUdmR{O_1LowB?ZzeIsZ6$aHY}`rEiw{q{StGj9~=Z65U0`~-88RkYyp zV0ffUbnw?Fu|xQ8i@E*G96>8FNIKntzQ1rH-!1 z#w>Km*s^zBEZ`Yy>e|XKHrFRk3wV_*easz-Eg;qShFk1HS!$bLHjvd0ne6n`$5dNv!d3w`7#%WjeP#p);S zEg7mxxP}$^T{%>!dv&c(@R%@*l@`@vwrakUHjgV+AfK4gXeQr>uKgSZp|d9KI=^$_ z!h*3}Cx|Wok7@2Cqlm`NpzT8?qAdy2mf%uPC0xBOO z=~S@8m(-AB>8dri@#=r#MR-x=c3e^BM5_1^9e^woah$S0+V=2?-M|z}=!I2Kcpx;r zTA}NLeu)?gdpcs;6m11r9r$D|F<3|i3BjRYxpnq%o`_fo% zgKLHX?dJ4Fsz2&R8j;k9j;xQpJkYpNh4lrpxg2@0=P9#?N+AqFN+Guw{Oy4ZkT9Vn zkHT)!pPE8)2KAhm+yH!qJc-Uz6ta_-P{k0zHSZDYMaCou}<*mZkF6W5tJ&= zf*NOzW9siEc;DOgI-g3sR*r6kHwVnl$Qh-$Or}CkVi$_nGp+qJKQnJmZE#&7^zfqw zm3s0|mS?1tCMJLstZ`HdUke%jS^-;LPGr#ezsZruH-|#s;B|;;~X}AbXZ;^94rPZG1?DC z!;ob)8O5u{h)!TK&w&NIF`!0JykB<{Yhcgsrp@k#Y|RoB_w#Tv-wp1fJY&MY1=q<> zSJy9|HBY^#orLUEcv!X+OVtyr9vg+Q^&#KDFW&2>{ez20{FAPHfU3(8o@mqY98*AR zeCUr@?9-liJ6jUo?9vmiqI*B%7>B=6hBEYV7^d|8Xu>Q+8{47QodzG8qa2d^u^I#> zz#G2DzW1a-n3mRJy%TLTkZ%W|9O9V#75@T{I0b+yl|(^mtMdI~Si+e_an;ZTuWpt* z)k-3)4Lor?aYkmw;4b^s;x%G$yVCsh2UR$VCm2!rtTlpq=12}MSIfPLtYv>+kT-l? z{5|UjqUoOAP+l;5iQ&YXR?TI3_K#rGy17k0p+x684$1muwiCI*#P#GP#pc(0sGUlk z*7vc!%WKwt%?w7C7*FJoZtjiJsXoFb23Yi&j%N}NNV69e91F* z-l_%a6sager}fT0BSibLMRuS|KQw%NM9x-^P!iGhLtv>9>SeAG=?!?JF%2PYaBoPq zMn~JmflbjpfFNPMqMzAGkGhhGF{9{T<9X$6sDMvlx(32f$^7>D^?^HaJM3%e0J_zU zQO|CcM7CIB!EhmO|B4W%nbiCLMa#+CY8Hfhd7O|1kvdTk1uS_ zMl-$xKPXpMk2{E5&pJvVhn&J+B-I>+&nkE=oeeW3OFRyi{#SlyYQD4H+Jv_P5H!)Gm zV+Lv?lr0NhW8|%QEF;t{_ZyJpKqkN;bLP?oXu!iJIk}uxVG9Bj#g;G)>B#Xa4dT^3 zfB&9-ULLg@))uwAJDUD|;Nt6(o#jJS;K-cCeMJ`Ys2(Se%&VsDvcMZoLoPPmMuOes zYNP{xQ9)M+GrO*?%0laru;d04=Aj}ZOH97lic)e71(dLZ3Ze%KI>)$5gt&HRL$R}z zit+{ED@60v&KA&gI05|K@DZV|7K!x1JOS zJazWQIUdOx4Lllmqh_t?L?nv~?nrGbwfbg-&!o1^r>3`Z5>;jIR}+^#-40x_^|TX z*r(82xTdnsKt9LwiUZr*I;;LFG0+&AFEG;sJQy;lkFJK>7^+ybbkRSH{b(NyTXo@N z6U!sLb%+wEPt#`35fPsaq6~efFl9VChF{AlfL>f>tVzGX`ksqy`DaF9n%EK2>lsKT zoOb^!4qPQr{Rh;>bVFJbZ^GCQo$Gv^OkQDQVgvesK0H39h&|Ggo*w|7E_~5kPW!A` zdz#uaYW#=h2I4I;9O?7s(AsSgWCrKl$Xt2Z9WrFX^T^N$PBv22bSGMs2&joAfdtC1v{#s4j>)5^- zY-Pa+=so=;F%a%SaF9b5$8j=e;8_LCKXuznVZscbK>>t!L#$3U3Hdk`HYUC~&8~N| zK?)wx)ks|5`QU!)CsX1kVtA*}t~em2Zlp#4LeuOC+S_oI!~`B^ZU4#*_;wQ=d#Nyi zn{WQ5wA)q^)mhugH$#+nz>v*a8>Qj>7N9-`s4Sp!1_`c@{nEgf2J{g+x18*(f7@+y zu-J+!pw|qg3mhR#`J9fAu^cM6yJ54^HmTLlkp_$(kK15@-*wh!PZ!*7!xs{8GbPLd zy(ca3g>tsX-9tmZI0FDb@^w*hxVt^a{fMv~+&;>*E<)9dJm*xbJ8~@*zU>rRS#=;# z<+Mhnd0o)^oeE~E2(CVHljogN>S4b}6bHp=75v~83gikj=ZxLdL7S8CAT}qTC`H10 z<3y8F)@Lk9NusiVl@*W4V1uRdz=x#=+Sab-3FU({YlKKO-Y^SLXLDcO0m}+1!&j9N zc>QTs{ci0p-K##Dt2@E2DF_GUn4tSE9=Ban%kEI_;?pchE~ym6CxzO|3cOQp&pLj$ z-osDNSg6&WBO*)P0%0ey8ohw7zrD|;%pMvMlth7Jj1P7F2tNw`#h61tKdCbd>gC72 z+UV-*o_<(4`zvNyNecle?iMevvJfQsw^A>q!l+#zPREKv|#`VfgG>Bml{PULrNE3|*a;r9! zM+%#gEA`q#O&NPE-&wEI9ih_;F9BN`#<%`E9$1Qk(DnSCfgaTpAvX4>zc361g#@P6 zi3omZP)md+J5u32!>}DkjX3%5>F=vwjxoKJu=qBoVRPx)dJHBD<-l2@f&0Zs1~qpx z`9#|HXpkkar9QHV8OiU~gfsgXte%C^wVlH76M<=R$NDElql1<;Hn?$$xG`k-^(*xM z{GAQ~3=A{4e1sNULPH2P7{?<051ai3JxBBM{%0u)!a@a~SP{GdAhJX-^m(^>qoh>aG9l{LY#sxzoNWqj&gkZZDa}4jd`P~}x zr56i43n2zD6a03eLU{pBq%TbxuqBj`^uNS+7#P8Sw&G=76r@k~Tcqqm4Bj8X0`EbI z0ne1bU34?lr2m0eqr$)l{SkLT^ILQfNb)_$&}W z`}VhXdiFhlh6gO3!2}ka69X{vgM;SG0sMl$J(%-?03P9&CeQCFlIDp4oMJB~2l(r} z0Dw~R_XsL^*x`>F~IHpZ&&65JL$hTg9I-%t#(ZR2LJuD4MjmUvM(ZPFyi7H z0FpkKs)rh^|I)-ae`&J6>{Kl9_#!djoh5jG(Gq}e4OUrF0G|z`QT+=@`0oV^=0toG z_&WT>578n{(r;#0WSR4ej@#o z*Y?ja|N5*W?Ej&+f!~Z0k^aH^`mgRq80Yx6kQf}jga!6Sz(V_{zbNR|?RV!3*#^ux zN=W(#^X4Db%ep9N#r+@Q|3u(`%g3-t|A1Hg5oGW4cMuggV-$<@k4NMG5Sj%1EkpvB zj1z$GM~ML=iT`n35)u4sBCyUFF`zZ+w|n(9<%^3M(EZnoNdi6_qXpZI69YmrfA?mO zQ;_~q4E@Js_F4ZPnH>}S^zyy_qgv??A#CyALL{{RS-b?^8X+M4qgv#TsL|5DqY%MT z6K?=(9ly;ud9>d<>%Z4fFfjao#6@-g7K%)wgQb;-z&|IjNdGv8|3hrw`?pva@Ok8S zGgpfYTsz4O7@YiVo=r*tdLVx{5ozChS(v-KIlBD2@Jdwy{-rbv28QqDMS}|iL$dNO G>;C}_dM#G~ delta 22714 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +APP_BASE_NAME=${0##*/} # 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"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + 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. Please set the JAVA_HOME variable in your environment to match the @@ -105,84 +140,101 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=$(save "$@") +# 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. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 9618d8d..53a6b23 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,100 +1,91 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/localMaven/maybe-data-1.3.2-fixed-1.19-sources.jar b/localMaven/maybe-data-1.3.2-fixed-1.19-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..442ccabd530a131d4cf1b3d20ae0d54c0251914f GIT binary patch literal 8259 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 literal 0 HcmV?d00001 diff --git a/localMaven/maybe-data-1.3.2-fixed-1.19.jar b/localMaven/maybe-data-1.3.2-fixed-1.19.jar new file mode 100644 index 0000000000000000000000000000000000000000..84620aeb1e9b5e3c887f087db1d4c2fdc8ff5fb9 GIT binary patch literal 12552 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 literal 0 HcmV?d00001 diff --git a/settings.gradle b/settings.gradle index 5b60df3..f91a4fe 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,5 @@ pluginManagement { repositories { - jcenter() maven { name = 'Fabric' url = 'https://maven.fabricmc.net/' diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java index 9a79018..3557345 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java @@ -1,20 +1,21 @@ package eu.midnightdust.motschen.dishes; +import eu.midnightdust.motschen.dishes.config.DishesConfig; import eu.midnightdust.motschen.dishes.entities.client.IceCreamTraderRenderer; -import eu.midnightdust.motschen.dishes.init.CropInit; import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; +import eu.midnightdust.motschen.dishes.init.LettuceInit; +import eu.midnightdust.motschen.dishes.init.TomatoInit; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; -import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; +import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry; import net.minecraft.client.render.RenderLayer; public class DishesClient implements ClientModInitializer { @Override public void onInitializeClient() { - EntityRendererRegistry.INSTANCE.register(IceCreamTraderInit.ICE_CREAM_TRADER, (dispatcher, context) -> new IceCreamTraderRenderer(dispatcher)); - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),CropInit.TomatoBush); - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),CropInit.LettuceBush); - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),DishesMain.BirthdayCake); + EntityRendererRegistry.register(IceCreamTraderInit.ICE_CREAM_TRADER, IceCreamTraderRenderer::new); + if (DishesConfig.tomatoes) BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), TomatoInit.TomatoBush); + if (DishesConfig.lettuce) BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), LettuceInit.LettuceBush); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java index 31d7293..eefa439 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java @@ -5,11 +5,11 @@ 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.BlockEntityInit; import eu.midnightdust.motschen.dishes.init.CropInit; +import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; import eu.midnightdust.motschen.dishes.init.WorldGenInit; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer; +import eu.midnightdust.motschen.dishes.item.DishItem; +import eu.midnightdust.motschen.dishes.item.IceCreamItem; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -22,8 +22,6 @@ public class DishesMain implements ModInitializer { public static final String MOD_ID = "dishes"; - public static DishesConfig DD_CONFIG; - 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)); @@ -31,10 +29,12 @@ public class DishesMain implements ModInitializer { 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 Block Plate = new Plate(); + public static final Block Bowl = new Bowl(); public static final Block PizzaBox = new Plate(); public static final Block PotatoesWithCurdCheese = new Dish(); 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 PizzaSalami = new Pizza(); public static final Block PizzaHam = new Pizza(); public static final Block PizzaTuna = new Pizza(); @@ -46,6 +46,7 @@ public class DishesMain implements ModInitializer { public static final Block Cheeseburger = new Dish(); public static final Block Spaceburger = 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())); @@ -61,24 +62,22 @@ public class DishesMain implements ModInitializer { 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 IceCreamVanilla = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamChocolate = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamWhiteChocolate = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamStrawberry = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBanana = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamPear = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamSweetberry = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBlueberry = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Item IceCreamBubblegum = new Item(new Item.Settings().group(DishesMain.SweetsGroup).food(new FoodComponent.Builder().hunger(6).saturationModifier(1f).build())); - public static final Block BirthdayCake = new Cake(); + 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())); @Override public void onInitialize() { - AutoConfig.register(DishesConfig.class, JanksonConfigSerializer::new); - DD_CONFIG = AutoConfig.getConfigHolder(DishesConfig.class).getConfig(); + DishesConfig.init("dishes", DishesConfig.class); new DishBites(); - BlockEntityInit.init(); // General // Registry.register(Registry.ITEM, new Identifier("dishes","salt_ore"), new BlockItem(SaltOre, new Item.Settings().group(DishesMain.MainGroup))); @@ -99,47 +98,57 @@ public void onInitialize() { CropInit.init(); // Dishes // - Registry.register(Registry.ITEM, new Identifier("dishes","plate"), new BlockItem(Plate, new Item.Settings().group(DishesMain.DishesGroup))); + 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","potatoeswithcurdcheese"), new BlockItem(PotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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); - if (FabricLoader.getInstance().isModLoaded("lil_tater") | FabricLoader.getInstance().isModLoaded("liltater") | FabricLoader.getInstance().isModLoaded("ltr")) { - Registry.register(Registry.ITEM, new Identifier("dishes","tinypotatoeswithcurdcheese"), new BlockItem(TinyPotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese); - } + 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()))); + else + Registry.register(Registry.ITEM, new Identifier("dishes","tinypotatoeswithcurdcheese"), new DishItem(TinyPotatoesWithCurdCheese, new Item.Settings().food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.ITEM, new Identifier("dishes","schnitzel"), new BlockItem(Schnitzel, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + Registry.register(Registry.BLOCK, new Identifier("dishes","tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese); + + 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 BlockItem(SpaghettiBolognese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(Steak, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(Hamburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(Chickenburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(Cheeseburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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("galacticraft-rewoven") | FabricLoader.getInstance().isModLoaded("astromine")) { - Registry.register(Registry.ITEM, new Identifier("dishes", "spaceburger"), new BlockItem(Spaceburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes", "spaceburger"), Spaceburger); - } + 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.ITEM, new Identifier("dishes","fishandchips"), new BlockItem(FishAndChips, new Item.Settings().group(DishesMain.DishesGroup).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); // Pizza // - Registry.register(Registry.ITEM, new Identifier("dishes","pizzabox"), new BlockItem(PizzaBox, new Item.Settings().group(DishesMain.PizzaGroup))); + 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","pizzasalami"), new BlockItem(PizzaSalami, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(PizzaHam, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(PizzaTuna, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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 BlockItem(PizzaBacon, new Item.Settings().group(DishesMain.PizzaGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(1f).build()))); + 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); // Ice Cream // @@ -152,18 +161,14 @@ public void onInitialize() { 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); - // Cake // - Registry.register(Registry.ITEM, new Identifier("dishes","birthday_cake"), new BlockItem(BirthdayCake, new Item.Settings().group(DishesMain.SweetsGroup))); - Registry.register(Registry.BLOCK, new Identifier("dishes","birthday_cake"), BirthdayCake); - + Registry.register(Registry.ITEM, new Identifier("dishes","cooking_guide"), CookingGuide); // Compat // - if (FabricLoader.getInstance().isModLoaded("patchouli")) { - Registry.register(Registry.ITEM, new Identifier("dishes","cooking_guide"), CookingGuide); - } if (FabricLoader.getInstance().isModLoaded("patchouli")) { Flags.init(); } + IceCreamTraderInit.init(); WorldGenInit.init(); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Bowl.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Bowl.java new file mode 100644 index 0000000..8af62f8 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Bowl.java @@ -0,0 +1,21 @@ +package eu.midnightdust.motschen.dishes.block; + +import net.minecraft.block.*; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; + +public class Bowl extends Plate { + + private static final VoxelShape SHAPE; + public Bowl() { + super(); + } + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { + return SHAPE; + } + static { + SHAPE = createCuboidShape(0, 0, 0, 16, 4, 16); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java deleted file mode 100644 index e9746e5..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java +++ /dev/null @@ -1,62 +0,0 @@ -package eu.midnightdust.motschen.dishes.block; - -import eu.midnightdust.motschen.dishes.block.blockentity.BirthdayCakeBlockEntity; -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.*; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.item.ItemPlacementContext; -import net.minecraft.state.StateManager; -import net.minecraft.state.property.Properties; -import net.minecraft.world.BlockView; - -import java.util.function.ToIntFunction; - -public class Cake extends CakeBlock implements BlockEntityProvider { - - public Cake() { - super(FabricBlockSettings.copy(Blocks.CAKE).lightLevel(createLightLevelFromBlockState(15))); - this.setDefaultState(this.stateManager.getDefaultState().with(BITES, 0)); - } - - @Override - public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { - return super.getPlacementState(itemPlacementContext) - .with(BITES, 0); - } - - @Override - protected void appendProperties(StateManager.Builder builder) { - builder.add(BITES); - } - - @Override - public BlockEntity createBlockEntity(BlockView world) { - return new BirthdayCakeBlockEntity(); - } - - private static ToIntFunction createLightLevelFromBlockState(int litLevel) { - return (blockState) -> { - if (blockState.get(Properties.BITES) == 0) { - return 15; - } - if (blockState.get(Properties.BITES) == 1) { - return 14; - } - else if (blockState.get(Properties.BITES) == 2) { - return 13; - } - else if (blockState.get(Properties.BITES) == 3) { - return 13; - } - else if (blockState.get(Properties.BITES) == 4) { - return 12; - } - else if (blockState.get(Properties.BITES) == 5) { - return 12; - } - else { - return 11; - } - }; - } -} \ No newline at end of file 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 75cfadd..f171200 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java @@ -22,35 +22,22 @@ public class Dish extends HorizontalFacingBlock { public static final IntProperty DISH_BITES = DishBites.DISH_BITES; - private static final VoxelShape NORTH_SHAPE; - private static final VoxelShape EAST_SHAPE; - private static final VoxelShape SOUTH_SHAPE; - private static final VoxelShape WEST_SHAPE; + private static final VoxelShape SHAPE; public Dish() { - super(FabricBlockSettings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { if (player.getHungerManager().isNotFull()) { - switch (state.get(DISH_BITES)) { - case 0: world.setBlockState(pos, state.with(DISH_BITES, 1)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 1: world.setBlockState(pos, state.with(DISH_BITES, 2)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 2: world.setBlockState(pos, state.with(DISH_BITES, 3)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 3: world.setBlockState(pos, state.with(DISH_BITES, 4)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 4: world.setBlockState(pos, DishesMain.Plate.getDefaultState()); - player.getHungerManager().add(2, 1); - return ActionResult.SUCCESS; + if (state.get(DISH_BITES) == 4) { + world.setBlockState(pos, DishesMain.Plate.getDefaultState()); + player.getHungerManager().add(2, 1); + return ActionResult.SUCCESS; } + world.setBlockState(pos, state.with(DISH_BITES, state.get(DISH_BITES) + 1)); + player.getHungerManager().add(2, 4); return ActionResult.SUCCESS; } else { @@ -71,21 +58,10 @@ protected void appendProperties(StateManager.Builder builder) } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { - switch (state.get(FACING)) { - case NORTH: return NORTH_SHAPE; - case EAST: return EAST_SHAPE; - case SOUTH: return SOUTH_SHAPE; - case WEST: return WEST_SHAPE; - default: return super.getOutlineShape(state, view, pos, context); - } + return SHAPE; } static { - VoxelShape shape = createCuboidShape(0, 0, 0, 16, 5, 16); - - EAST_SHAPE = shape; - NORTH_SHAPE = shape; - SOUTH_SHAPE = shape; - WEST_SHAPE = shape; + SHAPE = createCuboidShape(0, 0, 0, 16, 5, 16); } public boolean canPlaceAt(BlockState state, WorldView worldView, BlockPos pos) { return !worldView.isAir(pos.down()); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java index 42ae0bc..f321175 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java @@ -1,6 +1,6 @@ package eu.midnightdust.motschen.dishes.block; -import eu.midnightdust.motschen.dishes.init.CropInit; +import eu.midnightdust.motschen.dishes.init.LettuceInit; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -17,7 +17,7 @@ public Lettuce() { @Override @Environment(EnvType.CLIENT) protected ItemConvertible getSeedsItem() { - return CropInit.LettuceBush; + return LettuceInit.LettuceBush; } } 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 a19ad3e..4d4dd72 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java @@ -22,41 +22,22 @@ public class Pizza extends HorizontalFacingBlock { public static final IntProperty DISH_BITES = DishBites.DISH_BITES; - private static final VoxelShape NORTH_SHAPE; - private static final VoxelShape EAST_SHAPE; - private static final VoxelShape SOUTH_SHAPE; - private static final VoxelShape WEST_SHAPE; + private static final VoxelShape SHAPE; public Pizza() { - super(FabricBlockSettings.copy(Blocks.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(DISH_BITES, 0)); } public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { if (player.getHungerManager().isNotFull()) { - switch (state.get(DISH_BITES)) { - case 0: world.setBlockState(pos, state.with(DISH_BITES, 1)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 1: world.setBlockState(pos, state.with(DISH_BITES, 2)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 2: world.setBlockState(pos, state.with(DISH_BITES, 3)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 3: world.setBlockState(pos, state.with(DISH_BITES, 4)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 4: - switch (state.get(FACING)) { - case NORTH: world.setBlockState(pos, DishesMain.PizzaBox.getDefaultState().with(FACING, Direction.NORTH)); return ActionResult.SUCCESS; - case EAST: world.setBlockState(pos, DishesMain.PizzaBox.getDefaultState().with(FACING, Direction.EAST)); return ActionResult.SUCCESS; - case WEST: world.setBlockState(pos, DishesMain.PizzaBox.getDefaultState().with(FACING, Direction.WEST)); return ActionResult.SUCCESS; - case SOUTH: world.setBlockState(pos, DishesMain.PizzaBox.getDefaultState().with(FACING, Direction.SOUTH)); return ActionResult.SUCCESS; - } - player.getHungerManager().add(2, 1); - return ActionResult.SUCCESS; + if (state.get(DISH_BITES) == 4) { + world.setBlockState(pos, DishesMain.PizzaBox.getDefaultState().with(FACING, state.get(FACING))); + player.getHungerManager().add(2, 1); + return ActionResult.SUCCESS; } + world.setBlockState(pos, state.with(DISH_BITES, state.get(DISH_BITES) + 1)); + player.getHungerManager().add(2, 4); return ActionResult.SUCCESS; } else { @@ -78,21 +59,12 @@ protected void appendProperties(StateManager.Builder builder) } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { - switch (state.get(FACING)) { - case NORTH: return NORTH_SHAPE; - case EAST: return EAST_SHAPE; - case SOUTH: return SOUTH_SHAPE; - case WEST: return WEST_SHAPE; - default: return super.getOutlineShape(state, view, pos, context); - } + return SHAPE; } static { VoxelShape shape = createCuboidShape(0, 0, 0, 16, 5, 16); - EAST_SHAPE = shape; - NORTH_SHAPE = shape; - SOUTH_SHAPE = shape; - WEST_SHAPE = shape; + SHAPE = shape; } public boolean canPlaceAt(BlockState state, WorldView worldView, BlockPos pos) { return !worldView.isAir(pos.down()); 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 f7f9ea5..5b3b63c 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java @@ -8,19 +8,14 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.shape.VoxelShape; -import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.WorldView; public class Plate extends HorizontalFacingBlock { - private static final VoxelShape NORTH_SHAPE; - private static final VoxelShape EAST_SHAPE; - private static final VoxelShape SOUTH_SHAPE; - private static final VoxelShape WEST_SHAPE; - + private static final VoxelShape SHAPE; public Plate() { - super(FabricBlockSettings.copy(Blocks.CAKE).nonOpaque().sounds(BlockSoundGroup.STONE)); + super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH)); } @@ -36,33 +31,10 @@ protected void appendProperties(StateManager.Builder builder) } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { - switch (state.get(FACING)) { - case NORTH: return NORTH_SHAPE; - case EAST: return EAST_SHAPE; - case SOUTH: return SOUTH_SHAPE; - case WEST: return WEST_SHAPE; - default: return super.getOutlineShape(state, view, pos, context); - } + return SHAPE; } static { - VoxelShape shape = createCuboidShape(0, 0, 0, 16, 2, 16); - - EAST_SHAPE = shape; - NORTH_SHAPE = shape; - SOUTH_SHAPE = shape; - WEST_SHAPE = shape; - } - private static VoxelShape rotate(Direction from, Direction to, VoxelShape shape) { - VoxelShape[] buffer = new VoxelShape[]{ shape, VoxelShapes.empty() }; - - int times = (to.getHorizontal() - from.getHorizontal() + 4) % 4; - for (int i = 0; i < times; i++) { - buffer[0].forEachBox((minX, minY, minZ, maxX, maxY, maxZ) -> buffer[1] = VoxelShapes.union(buffer[1], VoxelShapes.cuboid(1-maxZ, minY, minX, 1-minZ, maxY, maxX))); - buffer[0] = buffer[1]; - buffer[1] = VoxelShapes.empty(); - } - - return buffer[0]; + SHAPE = createCuboidShape(0, 0, 0, 16, 2, 16); } public boolean canPlaceAt(BlockState state, WorldView worldView, BlockPos pos) { return !worldView.isAir(pos.down()); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java new file mode 100644 index 0000000..a365056 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Soup.java @@ -0,0 +1,70 @@ +package eu.midnightdust.motschen.dishes.block; + +import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.blockstates.SoupSips; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.*; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import net.minecraft.world.WorldView; + +public class Soup extends HorizontalFacingBlock { + + public static final IntProperty SOUP_SIPS = SoupSips.SOUP_SIPS; + private static final VoxelShape SHAPE; + + public Soup() { + super(FabricBlockSettings.of(Material.STONE).nonOpaque().sounds(BlockSoundGroup.STONE)); + this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(SOUP_SIPS, 0)); + } + + public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { + if (player.getHungerManager().isNotFull()) { + if (state.get(SOUP_SIPS) == 3) { + world.setBlockState(pos, DishesMain.Bowl.getDefaultState()); + player.getHungerManager().add(2, 1); + return ActionResult.SUCCESS; + } + world.setBlockState(pos, state.with(SOUP_SIPS, state.get(SOUP_SIPS) + 1)); + player.getHungerManager().add(2, 4); + return ActionResult.SUCCESS; + } + else { + return ActionResult.FAIL; + } + } + + @Override + public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { + return super.getPlacementState(itemPlacementContext) + .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) + .with(SOUP_SIPS, 0); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(FACING, SOUP_SIPS); + } + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { + return SHAPE; + } + static { + SHAPE = createCuboidShape(0, 0, 0, 16, 5, 16); + } + public boolean canPlaceAt(BlockState state, WorldView worldView, BlockPos pos) { + return !worldView.isAir(pos.down()); + } + +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java index bd2b1d4..d746ef9 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java @@ -1,6 +1,6 @@ package eu.midnightdust.motschen.dishes.block; -import eu.midnightdust.motschen.dishes.init.CropInit; +import eu.midnightdust.motschen.dishes.init.TomatoInit; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -17,7 +17,7 @@ public Tomato() { @Override @Environment(EnvType.CLIENT) protected ItemConvertible getSeedsItem() { - return CropInit.TomatoBush; + return TomatoInit.TomatoBush; } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/blockentity/BirthdayCakeBlockEntity.java b/src/main/java/eu/midnightdust/motschen/dishes/block/blockentity/BirthdayCakeBlockEntity.java deleted file mode 100644 index 9a9b626..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/block/blockentity/BirthdayCakeBlockEntity.java +++ /dev/null @@ -1,52 +0,0 @@ -package eu.midnightdust.motschen.dishes.block.blockentity; - -import eu.midnightdust.motschen.dishes.init.BlockEntityInit; -import net.minecraft.block.BlockState; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.particle.ParticleTypes; -import net.minecraft.state.property.Properties; -import net.minecraft.util.Tickable; -import net.minecraft.util.math.BlockPos; - -public class BirthdayCakeBlockEntity extends BlockEntity implements Tickable { - private float flame; - - public BirthdayCakeBlockEntity() { - super(BlockEntityInit.BirthdayCakeBlockEntity); - } - - @Override - public void tick() { - BlockPos pos = this.pos; - BlockState state = this.world.getBlockState(pos); - flame = flame + 0.5f; - if (flame == 9) { - flame = 1; - } - - if (flame == 5 && state.get(Properties.BITES) < 4) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.5, pos.getY() + 0.8, pos.getZ() + 0.15, 0, 0, 0); - } - if (flame == 1 && state.get(Properties.BITES) < 2) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.25, pos.getY() + 0.8, pos.getZ() + 0.25, 0, 0, 0); - } - if (flame == 7 && state.get(Properties.BITES) < 1) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.15, pos.getY() + 0.8, pos.getZ() + 0.5, 0, 0, 0); - } - if (flame == 3 && state.get(Properties.BITES) < 2) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.25, pos.getY() + 0.8, pos.getZ() + 0.75, 0, 0, 0); - } - if (flame == 4 && state.get(Properties.BITES) < 4) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.5, pos.getY() + 0.8, pos.getZ() + 0.85, 0, 0, 0); - } - if (flame == 8 && state.get(Properties.BITES) < 6) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.75, pos.getY() + 0.8, pos.getZ() + 0.75, 0, 0, 0); - } - if (flame == 2) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.85, pos.getY() + 0.8, pos.getZ() + 0.5, 0, 0, 0); - } - if (flame == 6 && state.get(Properties.BITES) < 6) { - world.addParticle(ParticleTypes.FLAME, pos.getX() + 0.75, pos.getY() + 0.8, pos.getZ() + 0.25, 0, 0, 0); - } - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/blockstates/SoupSips.java b/src/main/java/eu/midnightdust/motschen/dishes/blockstates/SoupSips.java new file mode 100644 index 0000000..c45c366 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/blockstates/SoupSips.java @@ -0,0 +1,10 @@ +package eu.midnightdust.motschen.dishes.blockstates; + +import net.minecraft.state.property.IntProperty; + +public class SoupSips { + public static final IntProperty SOUP_SIPS; + static { + SOUP_SIPS = IntProperty.of("sips", 0, 3); + } +} 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 343e98e..822aa34 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java @@ -20,7 +20,7 @@ public TypedActionResult use(World world, PlayerEntity user, Hand han Optional item = Registry.ITEM.getOrEmpty(new Identifier("patchouli", "guide_book")); ItemStack stack = new ItemStack(item.get()); - stack.getOrCreateTag().putString("patchouli:book", "dishes:cooking_guide"); + stack.getOrCreateNbt().putString("patchouli:book", "dishes:cooking_guide"); user.setStackInHand(hand, stack); return TypedActionResult.pass(itemStack); 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 c3435ab..109510b 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java @@ -7,12 +7,14 @@ public class Flags { public static Item FlagGermany = new Item(new Item.Settings()); public static Item FlagItaly = new Item(new Item.Settings()); - public static Item FlagBritain = new Item(new Item.Settings()); + 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 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_britain"), FlagBritain); - Registry.register(Registry.ITEM, new Identifier("dishes","flag_america"), FlagUSA); + 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); } } 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 7f68d34..ba523d8 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java @@ -1,21 +1,11 @@ package eu.midnightdust.motschen.dishes.config; -import me.sargunvohra.mcmods.autoconfig1u.ConfigData; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; -import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry; - -@Config(name = "dishes") -public class DishesConfig implements ConfigData { - - @ConfigEntry.Category("main") - @ConfigEntry.Gui.TransitiveObject - public MainConfig main = new MainConfig(); - - @ConfigEntry.Category("worldgen") - @ConfigEntry.Gui.TransitiveObject - public WorldGenConfig worldgen = new WorldGenConfig(); - - @ConfigEntry.Category("trader") - @ConfigEntry.Gui.TransitiveObject - public IceCreamTraderConfig trader = new IceCreamTraderConfig(); +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; } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java deleted file mode 100644 index 3f1ed7c..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -package eu.midnightdust.motschen.dishes.config; - -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; - -@Config(name = "trader") -public class IceCreamTraderConfig { - - @Comment(value = "\nEnable Ice Cream Trader\nDefault: true") - public boolean enabled = true; - - @Comment(value = "\nEnable Ice Cream Trader Spawning\nDefault: true") - public boolean spawntrader = true; -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java deleted file mode 100644 index 187559b..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package eu.midnightdust.motschen.dishes.config; - -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; - -@Config(name = "main") -public class MainConfig { - - @Comment(value = "\nEnable Tomatoes\nDefault: true") - public boolean tomatoes = true; - @Comment(value = "\nEnable Lettuce\nDefault: true") - public boolean lettuce = true; -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/ModMenuIntegration.java b/src/main/java/eu/midnightdust/motschen/dishes/config/ModMenuIntegration.java deleted file mode 100644 index 7597c65..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/ModMenuIntegration.java +++ /dev/null @@ -1,16 +0,0 @@ -package eu.midnightdust.motschen.dishes.config; - -import io.github.prospector.modmenu.api.ConfigScreenFactory; -import io.github.prospector.modmenu.api.ModMenuApi; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -public class ModMenuIntegration implements ModMenuApi { - - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfig.getConfigScreen(DishesConfig.class, parent).get(); - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java deleted file mode 100644 index 3e8509c..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java +++ /dev/null @@ -1,14 +0,0 @@ -package eu.midnightdust.motschen.dishes.config; - -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; - -@Config(name = "trader") -public class WorldGenConfig { - - @Comment(value = "\nEnable Salt Ore\nDefault: true") - public boolean salt_ore = true; - - @Comment(value = "\nEnable Custom Loot\nDefault: true") - public boolean loot = true; -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderEntity.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderEntity.java index 1d85211..9314f1c 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderEntity.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderEntity.java @@ -2,9 +2,8 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.passive.WanderingTraderEntity; -import net.minecraft.village.TradeOffer; +import net.minecraft.village.TradeOfferList; import net.minecraft.village.TradeOffers; -import net.minecraft.village.TraderOfferList; import net.minecraft.world.World; public class IceCreamTraderEntity extends WanderingTraderEntity { @@ -14,16 +13,10 @@ public IceCreamTraderEntity(EntityType entityTy @Override protected void fillRecipes() { - TradeOffers.Factory[] factorys = IceCreamTraderTradeOffers.ICE_CREAM_TRADER_TRADES.get(1); - if (factorys != null) { - TraderOfferList traderOfferList = this.getOffers(); - this.fillRecipesFromPool(traderOfferList, factorys, 9); - int i = this.random.nextInt(factorys.length); - TradeOffers.Factory factory = factorys[i]; - TradeOffer tradeOffer = factory.create(this, null); - if (tradeOffer != null) { - traderOfferList.add(tradeOffer); - } + TradeOffers.Factory[] factories = IceCreamTraderTradeOffers.ICE_CREAM_TRADER_TRADES.get(1); + if (factories != null) { + TradeOfferList traderOfferList = this.getOffers(); + this.fillRecipesFromPool(traderOfferList, factories, factories.length); } } } 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 d44519a..aefd199 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java @@ -5,14 +5,12 @@ import net.minecraft.entity.SpawnReason; import net.minecraft.entity.SpawnRestriction; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.nbt.CompoundTag; import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.Text; 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; -import net.minecraft.world.poi.PointOfInterestType; import java.util.Iterator; import java.util.Optional; @@ -20,14 +18,13 @@ public class IceCreamTraderSpawn { public static void tick(ServerWorld serverWorld) { - - if (serverWorld.getGameRules().getBoolean(GameRules.DO_TRADER_SPAWNING)) { - if (serverWorld.getTimeOfDay() % (24000 * 3) == 1500) { - if (serverWorld.getRandom().nextInt(100) < 10) { - spawnTrader(serverWorld); - } + if (serverWorld.getGameRules().getBoolean(GameRules.DO_TRADER_SPAWNING)) { + if (serverWorld.getTimeOfDay() % (24000 * 3) == 1500) { + if (serverWorld.getRandom().nextInt(100) < 10) { + spawnTrader(serverWorld); } } + } } private static void spawnTrader(ServerWorld serverWorld) { @@ -36,11 +33,11 @@ private static void spawnTrader(ServerWorld serverWorld) { if (playerentity != null) { BlockPos blockPos = playerentity.getBlockPos(); PointOfInterestStorage pointOfInterestStorage = serverWorld.getPointOfInterestStorage(); - Optional optional = pointOfInterestStorage.getPosition(PointOfInterestType.MEETING.getCompletionCondition(), (blockPosX) -> true, blockPos, 48, PointOfInterestStorage.OccupationStatus.ANY); + Optional optional = pointOfInterestStorage.getPosition(RegistryEntry::hasKeyAndValue, (blockPosX) -> true, blockPos, 48, PointOfInterestStorage.OccupationStatus.ANY); 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, (CompoundTag) null, (Text) null, (PlayerEntity) null, blockPos3, SpawnReason.EVENT, false, false); + IceCreamTraderEntity traderEntity = IceCreamTraderInit.ICE_CREAM_TRADER.spawn(serverWorld, null,null,null, blockPos3, SpawnReason.EVENT, false, false); if (traderEntity != null) { serverWorldProperties.setWanderingTraderId(traderEntity.getUuid()); traderEntity.setDespawnDelay(32000); @@ -69,13 +66,13 @@ private static BlockPos getLlamaSpawnPosition(WorldView worldView, BlockPos bloc private static boolean wontSuffocateAt(BlockView blockView, BlockPos blockPos) { - Iterator var3 = BlockPos.iterate(blockPos, blockPos.add(1, 2, 1)).iterator(); + Iterator var3 = BlockPos.iterate(blockPos, blockPos.add(1, 2, 1)).iterator(); BlockPos blockPos2; do { if (!var3.hasNext()) { return true; } - blockPos2 = (BlockPos) var3.next(); + blockPos2 = var3.next(); } while (blockView.getBlockState(blockPos2).getCollisionShape(blockView, blockPos2).isEmpty()); return false; } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java index 704d656..b9e9c24 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java @@ -8,21 +8,21 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; +import net.minecraft.util.math.random.Random; import net.minecraft.village.TradeOffer; import net.minecraft.village.TradeOffers; -import java.util.Random; - public class IceCreamTraderTradeOffers { public static final Int2ObjectMap ICE_CREAM_TRADER_TRADES; private static Int2ObjectMap copyToFastUtilMap(ImmutableMap map) { - return new Int2ObjectOpenHashMap(map); + return new Int2ObjectOpenHashMap<>(map); } static { ICE_CREAM_TRADER_TRADES = copyToFastUtilMap(ImmutableMap.of(1, new TradeOffers.Factory[] - {new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamVanilla, 1, 1, 10, 3), + { + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamVanilla, 1, 1, 10, 3), new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamChocolate, 1, 1, 10, 3), new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamWhiteChocolate, 1, 1, 10, 3), new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamStrawberry, 1, 1, 10, 3), @@ -30,7 +30,9 @@ private static Int2ObjectMap copyToFastUtilMap(ImmutableM new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamPear, 1, 1, 10, 3), new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamSweetberry, 1, 1, 10, 3), new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamBlueberry, 1, 1, 10, 3), - new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamBubblegum, 1, 1, 10, 3)})); + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamBubblegum, 1, 1, 10, 3), + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamGlowberry, 1, 1, 10, 3) + })); } static class SellItemFactory implements TradeOffers.Factory { diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java index b93359d..1b121e0 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java @@ -3,16 +3,17 @@ import eu.midnightdust.motschen.dishes.entities.IceCreamTraderEntity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.render.entity.EntityRenderDispatcher; +import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.MobEntityRenderer; +import net.minecraft.client.render.entity.model.EntityModelLayers; import net.minecraft.client.render.entity.model.VillagerResemblingModel; import net.minecraft.util.Identifier; @Environment(EnvType.CLIENT) public class IceCreamTraderRenderer extends MobEntityRenderer> { - public IceCreamTraderRenderer(EntityRenderDispatcher dispatcher) { - super(dispatcher, new VillagerResemblingModel<>(0.0f), 0.5F); + public IceCreamTraderRenderer(EntityRendererFactory.Context context) { + super(context, new VillagerResemblingModel<>(context.getPart(EntityModelLayers.VILLAGER)), 0.5F); } @Override diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java deleted file mode 100644 index d827dc5..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java +++ /dev/null @@ -1,16 +0,0 @@ -package eu.midnightdust.motschen.dishes.init; - -import eu.midnightdust.motschen.dishes.DishesMain; -import eu.midnightdust.motschen.dishes.block.blockentity.BirthdayCakeBlockEntity; -import net.minecraft.block.entity.BlockEntityType; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; - -public class BlockEntityInit { - - public static BlockEntityType BirthdayCakeBlockEntity; - - public static void init() { - BirthdayCakeBlockEntity = Registry.register(Registry.BLOCK_ENTITY_TYPE, new Identifier(DishesMain.MOD_ID,"birthday_cake_blockentity"), BlockEntityType.Builder.create(BirthdayCakeBlockEntity::new, DishesMain.BirthdayCake).build(null)); - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/CropInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/CropInit.java index 1a81246..ef2ebd8 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/CropInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/CropInit.java @@ -1,35 +1,14 @@ package eu.midnightdust.motschen.dishes.init; -import eu.midnightdust.motschen.dishes.DishesMain; -import eu.midnightdust.motschen.dishes.block.Lettuce; -import eu.midnightdust.motschen.dishes.block.Tomato; import eu.midnightdust.motschen.dishes.config.DishesConfig; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import net.minecraft.block.Block; -import net.minecraft.item.AliasedBlockItem; -import net.minecraft.item.FoodComponent; -import net.minecraft.item.Item; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; public class CropInit { - private static final DishesConfig config = AutoConfig.getConfigHolder(DishesConfig.class).getConfig(); - - public static final Item Tomato = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(1f).snack().build())); - public static final Block TomatoBush = new Tomato(); - public static final Item Lettuce = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.75f).snack().build())); - public static final Block LettuceBush = new Lettuce(); - public static void init() { - if (config.main.tomatoes == true) { - Registry.register(Registry.ITEM, new Identifier("dishes","tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings().group(DishesMain.MainGroup))); - Registry.register(Registry.ITEM, new Identifier("dishes","tomato"), Tomato); - Registry.register(Registry.BLOCK, new Identifier("dishes","tomatobush"), TomatoBush); + if (DishesConfig.tomatoes) { + TomatoInit.init(); } - if (config.main.lettuce == true) { - Registry.register(Registry.ITEM, new Identifier("dishes","lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings().group(DishesMain.MainGroup))); - Registry.register(Registry.ITEM, new Identifier("dishes","lettuce"), Lettuce); - Registry.register(Registry.BLOCK, new Identifier("dishes","lettucebush"), LettuceBush); + if (DishesConfig.lettuce) { + LettuceInit.init(); } } } 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 d9821c9..6ecd1ae 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java @@ -17,7 +17,7 @@ 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)).trackable(100,4).build()); + 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()); 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))); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java new file mode 100644 index 0000000..113bcef --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/LettuceInit.java @@ -0,0 +1,20 @@ +package eu.midnightdust.motschen.dishes.init; + +import eu.midnightdust.motschen.dishes.block.Lettuce; +import net.minecraft.block.Block; +import net.minecraft.item.AliasedBlockItem; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +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); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java new file mode 100644 index 0000000..8f9906b --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/TomatoInit.java @@ -0,0 +1,20 @@ +package eu.midnightdust.motschen.dishes.init; + +import eu.midnightdust.motschen.dishes.block.Tomato; +import net.minecraft.block.Block; +import net.minecraft.item.AliasedBlockItem; +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +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); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java index 0a6e8d7..5154958 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java @@ -3,26 +3,19 @@ import eu.midnightdust.motschen.dishes.config.DishesConfig; import eu.midnightdust.motschen.dishes.entities.IceCreamTraderSpawn; import eu.midnightdust.motschen.dishes.world.LootModifier; -import eu.midnightdust.motschen.dishes.world.OreFeatureInjector; import eu.midnightdust.motschen.dishes.world.OreFeatures; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; import net.minecraft.server.world.ServerWorld; public class WorldGenInit { - private static final DishesConfig config = AutoConfig.getConfigHolder(DishesConfig.class).getConfig(); - public static void init() { - if (config.trader.enabled == true) { - IceCreamTraderInit.init(); - } - if (config.worldgen.loot == true) { LootModifier.init(); } - if (config.worldgen.salt_ore == true) { + if (DishesConfig.customLoot) { + LootModifier.init(); } + if (DishesConfig.saltOre) { OreFeatures.init(); - OreFeatureInjector.init(); } - if (config.trader.enabled == true && config.trader.spawntrader == true) { + if (DishesConfig.spawnTrader) { ServerTickEvents.END_SERVER_TICK.register(minecraftServer -> { ServerWorld world = minecraftServer.getOverworld(); IceCreamTraderSpawn.tick(world); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java b/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java new file mode 100644 index 0000000..c9bc56b --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/item/DishItem.java @@ -0,0 +1,27 @@ +package eu.midnightdust.motschen.dishes.item; + +import net.minecraft.block.Block; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.item.BlockItem; +import net.minecraft.item.ItemStack; +import net.minecraft.text.Text; +import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class DishItem extends BlockItem { + public DishItem(Block block, Settings settings) { + super(block, settings); + } + + @Override + public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip, TooltipContext context) { + super.appendTooltip(stack, world, tooltip, context); + if (I18n.hasTranslation(stack.getItem().getTranslationKey()+".tooltip")) { + for (String str : I18n.translate(stack.getItem().getTranslationKey()+".tooltip").split("\n")) + tooltip.add(Text.literal(str)); + } + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java b/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java new file mode 100644 index 0000000..b77780f --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/item/IceCreamItem.java @@ -0,0 +1,22 @@ +package eu.midnightdust.motschen.dishes.item; + +import eu.midnightdust.motschen.dishes.DishesMain; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class IceCreamItem extends Item { + public IceCreamItem(Settings settings) { + super(settings); + } + + @Override + public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { + if (stack.getItem() == DishesMain.IceCreamGlowberry && this.getFoodComponent() != null) + user.addStatusEffect(new StatusEffectInstance(StatusEffects.GLOWING, 100, 1)); + return super.finishUsing(stack, world, user); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java b/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java deleted file mode 100644 index 8699725..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java +++ /dev/null @@ -1,19 +0,0 @@ -package eu.midnightdust.motschen.dishes.mixin; - -import net.minecraft.world.biome.GenerationSettings; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; -import java.util.function.Supplier; - -@Mixin(GenerationSettings.class) -public interface GenerationSettingsAccessorMixin { - - @Accessor - List>>> getFeatures(); - - @Accessor - void setFeatures(List>>> features); -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java b/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java index fc58e95..55cbf13 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java @@ -2,59 +2,57 @@ import eu.midnightdust.motschen.dishes.DishesMain; import eu.midnightdust.motschen.dishes.config.DishesConfig; -import eu.midnightdust.motschen.dishes.init.CropInit; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder; -import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback; +import eu.midnightdust.motschen.dishes.init.LettuceInit; +import eu.midnightdust.motschen.dishes.init.TomatoInit; +import net.fabricmc.fabric.api.loot.v2.LootTableEvents; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.loot.UniformLootTableRange; +import net.minecraft.loot.LootPool; import net.minecraft.loot.condition.RandomChanceLootCondition; import net.minecraft.loot.entry.ItemEntry; +import net.minecraft.loot.provider.number.UniformLootNumberProvider; public class LootModifier { - private static final DishesConfig config = AutoConfig.getConfigHolder(DishesConfig.class).getConfig(); - public static void init() { - if (FabricLoader.getInstance().isModLoaded("galacticraft-rewoven")) { - LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> { - if (id.getPath().contains("galacticraft-rewoven") && id.getPath().contains("loot_tables") && id.getPath().contains("chests")) { - FabricLootPoolBuilder spaceburger = FabricLootPoolBuilder.builder() - .rolls(UniformLootTableRange.between(0, 2)) - .withCondition(RandomChanceLootCondition.builder(1.0f).build()) + if (FabricLoader.getInstance().isModLoaded("ad_astra")) { + LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { + if (id.getPath().contains("ad_astra") && id.getPath().contains("loot_tables") && id.getPath().contains("chests")) { + LootPool.Builder spaceburger = LootPool.builder() + .rolls(UniformLootNumberProvider.create(0, 2)) + .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(DishesMain.Spaceburger)); supplier.pool(spaceburger); } }); } if (FabricLoader.getInstance().isModLoaded("patchouli")) { - LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> { + LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { if (id.getPath().contains("chests") && id.getPath().contains("village")) { - FabricLootPoolBuilder patchouli = FabricLootPoolBuilder.builder() - .rolls(UniformLootTableRange.between(0, 1)) - .withCondition(RandomChanceLootCondition.builder(1.0f).build()) + LootPool.Builder patchouli = LootPool.builder() + .rolls(UniformLootNumberProvider.create(0, 1)) + .conditionally(RandomChanceLootCondition.builder(0.5f).build()) .with(ItemEntry.builder(DishesMain.CookingGuide)); supplier.pool(patchouli); } }); } - if (config.main.tomatoes == true) { - LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> { + if (DishesConfig.tomatoes) { + LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { if (id.getPath().contains("chests") && id.getPath().contains("village")) { - FabricLootPoolBuilder tomato = FabricLootPoolBuilder.builder() - .rolls(UniformLootTableRange.between(0, 5)) - .withCondition(RandomChanceLootCondition.builder(1.0f).build()) - .with(ItemEntry.builder(CropInit.Tomato)); + LootPool.Builder tomato = LootPool.builder() + .rolls(UniformLootNumberProvider.create(0, 5)) + .conditionally(RandomChanceLootCondition.builder(0.5f).build()) + .with(ItemEntry.builder(TomatoInit.Tomato)); supplier.pool(tomato); } }); } - if (config.main.lettuce == true) { - LootTableLoadingCallback.EVENT.register((resourceManager, lootManager, id, supplier, setter) -> { + if (DishesConfig.lettuce) { + LootTableEvents.MODIFY.register((resourceManager, lootManager, id, supplier, setter) -> { if (id.getPath().contains("chests") && id.getPath().contains("village")) { - FabricLootPoolBuilder lettuce = FabricLootPoolBuilder.builder() - .rolls(UniformLootTableRange.between(0, 5)) - .withCondition(RandomChanceLootCondition.builder(1.0f).build()) - .with(ItemEntry.builder(CropInit.Lettuce)); + LootPool.Builder lettuce = LootPool.builder() + .rolls(UniformLootNumberProvider.create(0, 5)) + .conditionally(RandomChanceLootCondition.builder(0.5f).build()) + .with(ItemEntry.builder(LettuceInit.Lettuce)); supplier.pool(lettuce); } }); diff --git a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java deleted file mode 100644 index c4452af..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java +++ /dev/null @@ -1,44 +0,0 @@ -package eu.midnightdust.motschen.dishes.world; - -import com.google.common.collect.Lists; -import eu.midnightdust.motschen.dishes.mixin.GenerationSettingsAccessorMixin; -import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; -import net.minecraft.util.registry.BuiltinRegistries; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.ConfiguredFeature; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Supplier; - -public class OreFeatureInjector { - - public static void init() { - BuiltinRegistries.BIOME.forEach(OreFeatureInjector::addToBiome); - RegistryEntryAddedCallback.event(BuiltinRegistries.BIOME).register((i, identifier, biome) -> addToBiome(biome)); - } - - private static void addToBiome(Biome biome) { - addSaltOre(biome); - } - - private static void addSaltOre(Biome biome) { - if (biome.getCategory() != Biome.Category.NETHER && biome.getCategory() != Biome.Category.THEEND) { - addFeature(biome, GenerationStep.Feature.UNDERGROUND_DECORATION, OreFeatures.SALT_ORE_FEATURE); - } - } - - public static void addFeature(Biome biome, GenerationStep.Feature step, ConfiguredFeature feature) { - GenerationSettingsAccessorMixin generationSettingsAccessor = (GenerationSettingsAccessorMixin) biome.getGenerationSettings(); - int stepIndex = step.ordinal(); - List>>> featuresByStep = new ArrayList<>( generationSettingsAccessor.getFeatures()); - while (featuresByStep.size() <= stepIndex) { - featuresByStep.add(Lists.newArrayList()); - } - List>> features = new ArrayList<>(featuresByStep.get(stepIndex)); - features.add(() -> feature); - featuresByStep.set(stepIndex, features); - generationSettingsAccessor.setFeatures(featuresByStep); - } -} 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 eebb787..ee4579f 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java @@ -1,18 +1,35 @@ package eu.midnightdust.motschen.dishes.world; import eu.midnightdust.motschen.dishes.DishesMain; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +import net.minecraft.tag.BiomeTags; import net.minecraft.util.Identifier; import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.OreFeatureConfig; +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; -public class OreFeatures { - public static final ConfiguredFeature SALT_ORE_FEATURE = Feature.ORE.configure(new OreFeatureConfig(OreFeatureConfig.Rules.BASE_STONE_OVERWORLD, DishesMain.SaltOre.getDefaultState(), 4)).method_30377(120).spreadHorizontally().repeat(20); +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 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()); } } diff --git a/src/main/resources/assets/dishes/blockstates/birthday_cake.json b/src/main/resources/assets/dishes/blockstates/birthday_cake.json deleted file mode 100644 index d73fbb7..0000000 --- a/src/main/resources/assets/dishes/blockstates/birthday_cake.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "variants": { - "bites=0": { "model": "dishes:block/birthday_cake" }, - "bites=1": { "model": "dishes:block/birthday_cake_slice1" }, - "bites=2": { "model": "dishes:block/birthday_cake_slice2" }, - "bites=3": { "model": "dishes:block/birthday_cake_slice3" }, - "bites=4": { "model": "dishes:block/birthday_cake_slice4" }, - "bites=5": { "model": "dishes:block/birthday_cake_slice5" }, - "bites=6": { "model": "dishes:block/birthday_cake_slice6" } - } -} diff --git a/src/main/resources/assets/dishes/blockstates/borscht.json b/src/main/resources/assets/dishes/blockstates/borscht.json new file mode 100644 index 0000000..8f96396 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/borscht.json @@ -0,0 +1,20 @@ +{ + "variants": { + "facing=north,sips=0": { "model": "dishes:block/borscht" }, + "facing=east,sips=0": { "model": "dishes:block/borscht", "y": 90 }, + "facing=south,sips=0": { "model": "dishes:block/borscht", "y": 180 }, + "facing=west,sips=0": { "model": "dishes:block/borscht", "y": 270 }, + "facing=north,sips=1": { "model": "dishes:block/borscht1" }, + "facing=east,sips=1": { "model": "dishes:block/borscht1", "y": 90 }, + "facing=south,sips=1": { "model": "dishes:block/borscht1", "y": 180 }, + "facing=west,sips=1": { "model": "dishes:block/borscht1", "y": 270 }, + "facing=north,sips=2": { "model": "dishes:block/borscht2" }, + "facing=east,sips=2": { "model": "dishes:block/borscht2", "y": 90 }, + "facing=south,sips=2": { "model": "dishes:block/borscht2", "y": 180 }, + "facing=west,sips=2": { "model": "dishes:block/borscht2", "y": 270 }, + "facing=north,sips=3": { "model": "dishes:block/borscht3" }, + "facing=east,sips=3": { "model": "dishes:block/borscht3", "y": 90 }, + "facing=south,sips=3": { "model": "dishes:block/borscht3", "y": 180 }, + "facing=west,sips=3": { "model": "dishes:block/borscht3", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/blockstates/bowl.json b/src/main/resources/assets/dishes/blockstates/bowl.json new file mode 100644 index 0000000..5894c33 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/bowl.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "dishes:block/bowl" } + } +} diff --git a/src/main/resources/assets/dishes/blockstates/pizzamargherita.json b/src/main/resources/assets/dishes/blockstates/pizzamargherita.json new file mode 100644 index 0000000..e13b71b --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/pizzamargherita.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,bites=0": { "model": "dishes:block/pizzamargherita" }, + "facing=east,bites=0": { "model": "dishes:block/pizzamargherita", "y": 90 }, + "facing=south,bites=0": { "model": "dishes:block/pizzamargherita", "y": 180 }, + "facing=west,bites=0": { "model": "dishes:block/pizzamargherita", "y": 270 }, + "facing=north,bites=1": { "model": "dishes:block/pizzamargherita1" }, + "facing=east,bites=1": { "model": "dishes:block/pizzamargherita1", "y": 90 }, + "facing=south,bites=1": { "model": "dishes:block/pizzamargherita1", "y": 180 }, + "facing=west,bites=1": { "model": "dishes:block/pizzamargherita1", "y": 270 }, + "facing=north,bites=2": { "model": "dishes:block/pizzamargherita2" }, + "facing=east,bites=2": { "model": "dishes:block/pizzamargherita2", "y": 90 }, + "facing=south,bites=2": { "model": "dishes:block/pizzamargherita2", "y": 180 }, + "facing=west,bites=2": { "model": "dishes:block/pizzamargherita2", "y": 270 }, + "facing=north,bites=3": { "model": "dishes:block/pizzamargherita3" }, + "facing=east,bites=3": { "model": "dishes:block/pizzamargherita3", "y": 90 }, + "facing=south,bites=3": { "model": "dishes:block/pizzamargherita3", "y": 180 }, + "facing=west,bites=3": { "model": "dishes:block/pizzamargherita3", "y": 270 }, + "facing=north,bites=4": { "model": "dishes:block/pizzamargherita4" }, + "facing=east,bites=4": { "model": "dishes:block/pizzamargherita4", "y": 90 }, + "facing=south,bites=4": { "model": "dishes:block/pizzamargherita4", "y": 180 }, + "facing=west,bites=4": { "model": "dishes:block/pizzamargherita4", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/lang/de_de.json b/src/main/resources/assets/dishes/lang/de_de.json index be62f2f..ddcaa42 100644 --- a/src/main/resources/assets/dishes/lang/de_de.json +++ b/src/main/resources/assets/dishes/lang/de_de.json @@ -13,11 +13,11 @@ "item.dishes.tomato":"Tomate", "item.dishes.tomatobush":"Tomatenbusch", "item.dishes.tomatoseed":"Tomatensamen", - "item.dishes.lettuce":"Salat", + "item.dishes.lettuce":"Eisbergsalat", "item.dishes.raw_bacon":"Roher Speck", "item.dishes.bacon":"Speck", - "item.dishes.lettucebush":"Salatbusch", - "item.dishes.lettuceseed":"Salatsamen", + "item.dishes.lettucebush":"Eisbergsalatbusch", + "item.dishes.lettuceseed":"Eisbergsalatsamen", "item.dishes.potato_slice":"Kartoffelstückchen", "item.dishes.raw_fries":"Rohe Pommes", "item.dishes.fries":"Pommes", @@ -26,6 +26,7 @@ "item.dishes.cheese_slice":"Käsescheibe", "item.dishes.knife":"Messer", "block.dishes.plate":"Teller", + "block.dishes.bowl":"Schüssel", "block.dishes.pizzabox":"Leerer Pizzakarton", "block.dishes.potatoeswithcurdcheese":"Kartoffeln mit Quark", "block.dishes.tinypotatoeswithcurdcheese":"Tiny Potatoes mit Quark", @@ -40,6 +41,7 @@ "block.dishes.chickenburger":"Chickenburger", "block.dishes.cheeseburger":"Cheeseburger", "block.dishes.fishandchips":"Fish and Chips", + "block.dishes.borscht":"Borschtsch", "itemGroup.dishes.sweets":"Delicious Dishes - Süßigkeiten", "item.dishes.ice_cream_vanilla":"Vanilleeis", @@ -47,6 +49,7 @@ "item.dishes.ice_cream_banana":"Bananeneis", "item.dishes.ice_cream_pear":"Birneneis", "item.dishes.ice_cream_sweetberry":"Süßbeereis", + "item.dishes.ice_cream_glowberry":"Leuchtbeereis", "item.dishes.ice_cream_blueberry":"Blaubeereis", "item.dishes.ice_cream_bubblegum":"Kaugummieis", "item.dishes.ice_cream_chocolate":"Schokoladeneis", @@ -54,5 +57,11 @@ "item.dishes.ice_cream_trader_spawn_egg":"Erschaffe Eiscremeverkäufer", "entity.dishes.ice_cream_trader":"Eiscremeverkäufer", - "block.dishes.birthday_cake": "Geburtstagskuchen" + "dishes.midnightconfig.title":"Delicious Dishes Konfiguration", + + "dishes.midnightconfig.tomatoes":"Aktiviere Tomaten", + "dishes.midnightconfig.lettuce":"Aktiviere Eisbergsalat", + "dishes.midnightconfig.saltOre":"Aktiviere Salzerz", + "dishes.midnightconfig.customLoot":"Aktiviere Anpassung von Loot", + "dishes.midnightconfig.spawnTrader":"Aktiviere den Eiscremeverkäufer" } \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lang/en_us.json b/src/main/resources/assets/dishes/lang/en_us.json index 34693c0..2da84cf 100644 --- a/src/main/resources/assets/dishes/lang/en_us.json +++ b/src/main/resources/assets/dishes/lang/en_us.json @@ -26,10 +26,12 @@ "item.dishes.cheese_slice":"Cheese Slice", "item.dishes.knife":"Knife", "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.schnitzel":"Schnitzel", + "block.dishes.pizzamargherita":"Pizza Margherita", "block.dishes.pizzasalami":"Pizza Salami", "block.dishes.pizzaham":"Pizza Ham", "block.dishes.pizzatuna":"Pizza Tuna", @@ -40,7 +42,9 @@ "block.dishes.chickenburger":"Chickenburger", "block.dishes.cheeseburger":"Cheeseburger", "block.dishes.spaceburger":"Spaceburger", + "block.dishes.spaceburger.tooltip":"§bTastes... suspicious.", "block.dishes.fishandchips":"Fish and Chips", + "block.dishes.borscht":"Borscht", "itemGroup.dishes.sweets":"Delicious Dishes - Sweets", "item.dishes.ice_cream_vanilla":"Vanilla Ice Cream", @@ -48,6 +52,7 @@ "item.dishes.ice_cream_banana":"Banana Ice Cream", "item.dishes.ice_cream_pear":"Pear Ice Cream", "item.dishes.ice_cream_sweetberry":"Sweet Berry Ice Cream", + "item.dishes.ice_cream_glowberry":"Glow Berry Ice Cream", "item.dishes.ice_cream_blueberry":"Blueberry Ice Cream", "item.dishes.ice_cream_bubblegum":"Bubblegum Ice Cream", "item.dishes.ice_cream_chocolate":"Chocolate Ice Cream", @@ -55,17 +60,11 @@ "item.dishes.ice_cream_trader_spawn_egg":"Spawn Ice Cream Trader", "entity.dishes.ice_cream_trader":"Ice Cream Trader", - "block.dishes.birthday_cake":"Birthday Cake", + "dishes.midnightconfig.title":"Delicious Dishes Config", - "text.autoconfig.dishes.title":"Delicious Dishes Config", - "text.autoconfig.dishes.category.main":"Crops", - "text.autoconfig.dishes.category.worldgen":"World Gen", - "text.autoconfig.dishes.category.trader":"Trader", - - "text.autoconfig.dishes.option.main.tomatoes":"Enable Tomatoes", - "text.autoconfig.dishes.option.main.lettuce":"Enable Lettuce", - "text.autoconfig.dishes.option.worldgen.salt_ore":"Enable Salt Ore", - "text.autoconfig.dishes.option.worldgen.loot":"Enable Loot Tables", - "text.autoconfig.dishes.option.trader.enabled":"Enable Ice Cream Trader", - "text.autoconfig.dishes.option.trader.spawntrader":"Spawn Ice Cream Trader" + "dishes.midnightconfig.tomatoes":"Enable Tomatoes", + "dishes.midnightconfig.lettuce":"Enable Lettuce", + "dishes.midnightconfig.saltOre":"Enable Salt Ore", + "dishes.midnightconfig.customLoot":"Enable Custom Loot", + "dishes.midnightconfig.spawnTrader":"Spawn Ice Cream Trader" } \ No newline at end of file diff --git a/src/main/resources/assets/dishes/lang/zh_cn.json b/src/main/resources/assets/dishes/lang/zh_cn.json index a1fb440..2052507 100644 --- a/src/main/resources/assets/dishes/lang/zh_cn.json +++ b/src/main/resources/assets/dishes/lang/zh_cn.json @@ -52,7 +52,5 @@ "item.dishes.ice_cream_chocolate":"巧克力冰淇淋", "item.dishes.ice_cream_white_chocolate":"白巧克力冰淇淋", "item.dishes.ice_cream_trader_spawn_egg": "冰淇淋商人刷怪蛋", - "entity.dishes.ice_cream_trader": "冰淇淋商人", - - "block.dishes.birthday_cake": "生日蛋糕" + "entity.dishes.ice_cream_trader": "冰淇淋商人" } diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake.json b/src/main/resources/assets/dishes/models/block/birthday_cake.json deleted file mode 100644 index ee804f5..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake.json +++ /dev/null @@ -1,339 +0,0 @@ -{ - "credit": "made by Motschen", - "parent": "block/block", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [1, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "up": {"uv": [1, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [1, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [3, 8, 3], - "to": [4, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [10.3, 11, 6.9], - "to": [11.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [3, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [3.4, 11, 3.4], - "to": [3.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [2, 8, 7.5], - "to": [3, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [9.6, 11, 11.6], - "to": [10.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [2, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [2.4, 11, 7.9], - "to": [2.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [10, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 13], - "to": [8.5, 11, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 21]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 17.3], - "to": [15.6, 12, 17.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 24]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 13.4], - "to": [8.1, 11.2, 13.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 21]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 2], - "to": [8.5, 11, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 6.3], - "to": [15.6, 12, 6.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 13]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 2.4], - "to": [8.1, 11.2, 2.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 10]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [3, 8, 12], - "to": [4, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [10.3, 11, 15.9], - "to": [11.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [3, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [3.4, 11, 12.4], - "to": [3.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle1", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle2", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle3", - "origin": [10, 16, 11], - "children": [7, 8, 9] - }, - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [10, 11, 12] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [13, 14, 15] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [16, 17, 18] - }, - { - "name": "candle7", - "origin": [10, 16, 11], - "children": [19, 20, 21] - }, - { - "name": "candle8", - "origin": [10, 16, 11], - "children": [22, 23, 24] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice1.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice1.json deleted file mode 100644 index 266cfaf..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice1.json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [3, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 13, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [3, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [3, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [3, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [3, 8, 3], - "to": [4, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [10.3, 11, 6.9], - "to": [11.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [3, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [3.4, 11, 3.4], - "to": [3.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 13], - "to": [8.5, 11, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 21]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 17.3], - "to": [15.6, 12, 17.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 24]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 13.4], - "to": [8.1, 11.2, 13.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 21]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 2], - "to": [8.5, 11, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 6.3], - "to": [15.6, 12, 6.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 13]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 2.4], - "to": [8.1, 11.2, 2.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 10]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [3, 8, 12], - "to": [4, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [10.3, 11, 15.9], - "to": [11.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [3, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [3.4, 11, 12.4], - "to": [3.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [11, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle1", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle3", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [7, 8, 9] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [10, 11, 12] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [13, 14, 15] - }, - { - "name": "candle7", - "origin": [10, 16, 11], - "children": [16, 17, 18] - }, - { - "name": "candle8", - "origin": [10, 16, 11], - "children": [19, 20, 21] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice2.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice2.json deleted file mode 100644 index 9d63997..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice2.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [5, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 11, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [5, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [5, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [5, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [7.5, 8, 13], - "to": [8.5, 11, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 21]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 17.3], - "to": [15.6, 12, 17.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 24]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 13.4], - "to": [8.1, 11.2, 13.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 21]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 2], - "to": [8.5, 11, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 6.3], - "to": [15.6, 12, 6.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 13]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 2.4], - "to": [8.1, 11.2, 2.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 10]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle3", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [7, 8, 9] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [10, 11, 12] - }, - { - "name": "candle7", - "origin": [10, 16, 11], - "children": [13, 14, 15] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice3.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice3.json deleted file mode 100644 index 726c2df..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice3.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [7, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 9, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [7, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [7, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [7, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [7.5, 8, 13], - "to": [8.5, 11, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 21]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 17.3], - "to": [15.6, 12, 17.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 24]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 13.4], - "to": [8.1, 11.2, 13.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 21]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [7.5, 8, 2], - "to": [8.5, 11, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 10]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [14.6, 11, 6.3], - "to": [15.6, 12, 6.3], - "rotation": {"angle": 45, "axis": "y", "origin": [7, 19, 13]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [7.9, 11, 2.4], - "to": [8.1, 11.2, 2.6], - "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 10]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle3", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [7, 8, 9] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [10, 11, 12] - }, - { - "name": "candle7", - "origin": [10, 16, 11], - "children": [13, 14, 15] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice4.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice4.json deleted file mode 100644 index 636a06e..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice4.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [9, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 7, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [9, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [9, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [9, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [7, 8, 9] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice5.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice5.json deleted file mode 100644 index 4d562ea..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice5.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [11, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 5, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [11, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [11, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [11, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [12, 8, 12], - "to": [13, 11, 13], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 20]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 15.9], - "to": [20.3, 12, 15.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 23]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 12.4], - "to": [12.6, 11.2, 12.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 20]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - }, - { - "from": [12, 8, 3], - "to": [13, 11, 4], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 16, 11]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [19.3, 11, 6.9], - "to": [20.3, 12, 6.9], - "rotation": {"angle": 45, "axis": "y", "origin": [12, 19, 14]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [12.4, 11, 3.4], - "to": [12.6, 11.2, 3.6], - "rotation": {"angle": 0, "axis": "y", "origin": [20, 19, 11]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle4", - "origin": [10, 16, 11], - "children": [1, 2, 3] - }, - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [4, 5, 6] - }, - { - "name": "candle6", - "origin": [10, 16, 11], - "children": [7, 8, 9] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake_slice6.json b/src/main/resources/assets/dishes/models/block/birthday_cake_slice6.json deleted file mode 100644 index 607adb3..0000000 --- a/src/main/resources/assets/dishes/models/block/birthday_cake_slice6.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "credit": "made by Motschen", - "textures": { - "3": "block/red_concrete", - "4": "dishes:block/flame", - "5": "block/black_concrete", - "6": "block/cake_inner", - "bottom": "block/cake_bottom", - "top": "block/cake_top", - "particle": "block/cake_side", - "side": "block/cake_side" - }, - "elements": [ - { - "from": [13, 0, 1], - "to": [15, 8, 15], - "faces": { - "north": {"uv": [1, 8, 3, 16], "texture": "#side"}, - "east": {"uv": [1, 8, 15, 16], "texture": "#side"}, - "south": {"uv": [13, 8, 15, 16], "texture": "#side"}, - "west": {"uv": [1, 8, 15, 16], "texture": "#6"}, - "up": {"uv": [13, 1, 15, 15], "texture": "#top"}, - "down": {"uv": [13, 1, 15, 15], "texture": "#bottom", "cullface": "down"} - } - }, - { - "from": [13, 8, 7.5], - "to": [14, 11, 8.5], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 16, 15]}, - "faces": { - "north": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "east": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "south": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "west": {"uv": [0, 0, 1, 3], "texture": "#3"}, - "up": {"uv": [0, 0, 1, 1], "texture": "#3"} - } - }, - { - "from": [20.6, 11, 11.6], - "to": [21.6, 12, 11.6], - "rotation": {"angle": 45, "axis": "y", "origin": [13, 19, 19]}, - "faces": { - "north": {"uv": [0, 0, 15, 15], "texture": "#4"}, - "south": {"uv": [0, 0, 15, 15], "texture": "#4"} - } - }, - { - "from": [13.4, 11, 7.9], - "to": [13.6, 11.2, 8.1], - "rotation": {"angle": 0, "axis": "y", "origin": [21, 19, 16]}, - "faces": { - "north": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "east": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "south": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "west": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"}, - "up": {"uv": [0, 0, 0.2, 0.2], "texture": "#5"} - } - } - ], - "groups": [0, - { - "name": "candles", - "origin": [8, 8, 8], - "children": [ - { - "name": "candle5", - "origin": [10, 16, 11], - "children": [1, 2, 3] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/borscht.json b/src/main/resources/assets/dishes/models/block/borscht.json new file mode 100644 index 0000000..4a64133 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/borscht.json @@ -0,0 +1,503 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "block/quartz_block_side", + "4": "item/beetroot", + "7": "block/beetroots_stage3", + "8": "item/beetroot_soup", + "10": "item/milk_bucket", + "particle": "block/quartz_block_side" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "up": {"uv": [3, 3, 11, 11], "texture": "#0"}, + "down": {"uv": [3, 3, 11, 11], "texture": "#0"} + } + }, + { + "from": [13, 3, 1], + "to": [15, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 1], + "to": [3, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 13], + "to": [3, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 11], + "to": [5, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 4], + "to": [5, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 4], + "to": [12, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 4, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 7]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 3, 14], + "to": [14, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [4, 1, 12], + "to": [12, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [13, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 2], + "to": [13, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 3], + "to": [12, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [13, 3, 13], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [4, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [13, 2, 3], + "to": [14, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [12, 1, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [5, 2, 7.5], + "to": [8, 4, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 10, 13]}, + "faces": { + "north": {"uv": [7, 9, 10, 11], "texture": "#4"}, + "east": {"uv": [10, 8, 12, 10], "texture": "#4"}, + "south": {"uv": [6, 5, 9, 7], "texture": "#4"}, + "west": {"uv": [5, 10, 7, 12], "texture": "#4"}, + "up": {"uv": [7, 7, 10, 9], "texture": "#4"} + } + }, + { + "from": [11, 2, 1.5], + "to": [14, 4, 3.5], + "rotation": {"angle": 45, "axis": "y", "origin": [13, 10, 13]}, + "faces": { + "north": {"uv": [7, 9, 10, 11], "texture": "#4"}, + "east": {"uv": [10, 8, 12, 10], "texture": "#4"}, + "south": {"uv": [6, 5, 9, 7], "texture": "#4"}, + "west": {"uv": [5, 10, 7, 12], "texture": "#4"}, + "up": {"uv": [7, 7, 10, 9], "texture": "#4"} + } + }, + { + "from": [2, 2, 8.2], + "to": [5, 4, 10.2], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [1, 14, 4, 16], "texture": "#7"}, + "east": {"uv": [7, 12, 9, 14], "texture": "#7"}, + "south": {"uv": [7, 14, 10, 16], "texture": "#7"}, + "west": {"uv": [12, 14, 14, 16], "texture": "#7"}, + "up": {"uv": [6, 14, 9, 16], "texture": "#7"} + } + }, + { + "from": [4, 2, 10.2], + "to": [7, 3.5, 12.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [7, 4, 10, 5.5], "texture": "#10"}, + "east": {"uv": [4, 3, 6, 4.5], "texture": "#10"}, + "south": {"uv": [5, 3, 8, 4.5], "texture": "#10"}, + "west": {"uv": [7, 3, 9, 4.5], "texture": "#10"}, + "up": {"uv": [8, 3, 11, 5], "texture": "#10"} + } + }, + { + "from": [5, 3, 7.2], + "to": [8, 3.5, 9.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 7, 8.5], "texture": "#7"}, + "east": {"uv": [5, 6, 7, 6.5], "texture": "#7"}, + "south": {"uv": [9, 7, 12, 7.5], "texture": "#7"}, + "west": {"uv": [4, 7, 6, 8.5], "texture": "#7"}, + "up": {"uv": [4, 8, 7, 10], "texture": "#7"} + } + }, + { + "from": [5, 3.5, 11.45], + "to": [5.5, 3.75, 11.7], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [9.5, 3.5, 9.7], + "to": [10, 3.75, 9.95], + "rotation": {"angle": 22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [6, 3.5, 10.7], + "to": [6.5, 3.75, 10.95], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [4.25, 3.5, 12.7], + "to": [4.75, 3.75, 12.95], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [0.75, 4, 12.2], + "to": [1.75, 4.2, 12.7], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [4, 8, 5, 8.2], "texture": "#7"}, + "east": {"uv": [5, 6, 5.5, 6.2], "texture": "#7"}, + "south": {"uv": [9, 7, 10, 7.2], "texture": "#7"}, + "west": {"uv": [4, 7, 4.5, 7.2], "texture": "#7"}, + "up": {"uv": [4, 8, 5, 8.5], "texture": "#7"} + } + }, + { + "from": [1, 3.75, 8.2], + "to": [3, 4.25, 10.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 10, 16]}, + "faces": { + "north": {"uv": [3, 9, 5, 9.5], "texture": "#7"}, + "east": {"uv": [6, 8, 8, 8.5], "texture": "#7"}, + "south": {"uv": [10, 6, 12, 6.5], "texture": "#7"}, + "west": {"uv": [0, 8, 2, 9.5], "texture": "#7"}, + "up": {"uv": [14, 8, 16, 10], "texture": "#7"} + } + }, + { + "from": [4, 1, 4], + "to": [12, 1.2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + }, + { + "from": [3, 2.5, 3], + "to": [13, 2.7, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + }, + { + "from": [2, 3, 2], + "to": [14, 3.2, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + } + ], + "groups": [ + { + "name": "plate", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + }, + { + "name": "beetroot", + "origin": [8, 8, 8], + "color": 0, + "children": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35] + }, + 36, + 37, + 38 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/borscht1.json b/src/main/resources/assets/dishes/models/block/borscht1.json new file mode 100644 index 0000000..dbaf521 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/borscht1.json @@ -0,0 +1,458 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "block/quartz_block_side", + "4": "item/beetroot", + "7": "block/beetroots_stage3", + "8": "item/beetroot_soup", + "10": "item/milk_bucket", + "particle": "block/quartz_block_side" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "up": {"uv": [3, 3, 11, 11], "texture": "#0"}, + "down": {"uv": [3, 3, 11, 11], "texture": "#0"} + } + }, + { + "from": [13, 3, 1], + "to": [15, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 1], + "to": [3, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 13], + "to": [3, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 11], + "to": [5, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 4], + "to": [5, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 4], + "to": [12, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 4, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 7]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 3, 14], + "to": [14, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [4, 1, 12], + "to": [12, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [13, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 2], + "to": [13, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 3], + "to": [12, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [13, 3, 13], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [4, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [13, 2, 3], + "to": [14, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [12, 1, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [5, 1.75, 7.5], + "to": [8, 3.75, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 9.75, 13]}, + "faces": { + "north": {"uv": [7, 9, 10, 11], "texture": "#4"}, + "east": {"uv": [10, 8, 12, 10], "texture": "#4"}, + "south": {"uv": [6, 5, 9, 7], "texture": "#4"}, + "west": {"uv": [5, 10, 7, 12], "texture": "#4"}, + "up": {"uv": [7, 7, 10, 9], "texture": "#4"} + } + }, + { + "from": [2, 1.75, 8.2], + "to": [5, 3.75, 10.2], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [1, 14, 4, 16], "texture": "#7"}, + "east": {"uv": [7, 12, 9, 14], "texture": "#7"}, + "south": {"uv": [7, 14, 10, 16], "texture": "#7"}, + "west": {"uv": [12, 14, 14, 16], "texture": "#7"}, + "up": {"uv": [6, 14, 9, 16], "texture": "#7"} + } + }, + { + "from": [4, 1.75, 10.2], + "to": [6.5, 3.25, 11.7], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [7, 4, 10, 5.5], "texture": "#10"}, + "east": {"uv": [4, 3, 6, 4.5], "texture": "#10"}, + "south": {"uv": [5, 3, 8, 4.5], "texture": "#10"}, + "west": {"uv": [7, 3, 9, 4.5], "texture": "#10"}, + "up": {"uv": [8, 3, 11, 5], "texture": "#10"} + } + }, + { + "from": [5, 2.75, 7.2], + "to": [8, 3.25, 9.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [4, 8, 7, 8.5], "texture": "#7"}, + "east": {"uv": [5, 6, 7, 6.5], "texture": "#7"}, + "south": {"uv": [9, 7, 12, 7.5], "texture": "#7"}, + "west": {"uv": [4, 7, 6, 8.5], "texture": "#7"}, + "up": {"uv": [4, 8, 7, 10], "texture": "#7"} + } + }, + { + "from": [5, 3.25, 11.45], + "to": [5.5, 3.5, 11.7], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [9.5, 3.25, 9.7], + "to": [10, 3.5, 9.95], + "rotation": {"angle": 22.5, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [6, 3.25, 10.7], + "to": [6.5, 3.5, 10.95], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [4.25, 3.25, 12.7], + "to": [4.75, 3.5, 12.95], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 9.75, 16]}, + "faces": { + "north": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"}, + "east": {"uv": [5, 6, 5.25, 6.25], "texture": "#7"}, + "south": {"uv": [9, 7, 9.5, 7.25], "texture": "#7"}, + "west": {"uv": [4, 7, 4.25, 7.25], "texture": "#7"}, + "up": {"uv": [4, 8, 4.5, 8.25], "texture": "#7"} + } + }, + { + "from": [4, 1, 4], + "to": [12, 1.2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + }, + { + "from": [3, 2.5, 3], + "to": [13, 2.7, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + } + ], + "groups": [ + { + "name": "plate", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + }, + { + "name": "beetroot", + "origin": [8, 8, 8], + "color": 0, + "children": [25, 26, 27, 28, 29, 30, 31, 32] + }, + 33, + 34 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/borscht2.json b/src/main/resources/assets/dishes/models/block/borscht2.json new file mode 100644 index 0000000..a0fe662 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/borscht2.json @@ -0,0 +1,384 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "block/quartz_block_side", + "7": "block/beetroots_stage3", + "8": "item/beetroot_soup", + "particle": "block/quartz_block_side" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "up": {"uv": [3, 3, 11, 11], "texture": "#0"}, + "down": {"uv": [3, 3, 11, 11], "texture": "#0"} + } + }, + { + "from": [13, 3, 1], + "to": [15, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 1], + "to": [3, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 13], + "to": [3, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 11], + "to": [5, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 4], + "to": [5, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 4], + "to": [12, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 4, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 7]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 3, 14], + "to": [14, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [4, 1, 12], + "to": [12, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [13, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 2], + "to": [13, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 3], + "to": [12, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [13, 3, 13], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [4, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [13, 2, 3], + "to": [14, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [12, 1, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 1, 8.2], + "to": [5, 3, 10.2], + "rotation": {"angle": -45, "axis": "y", "origin": [9, 9, 16]}, + "faces": { + "north": {"uv": [1, 14, 4, 16], "texture": "#7"}, + "east": {"uv": [7, 12, 9, 14], "texture": "#7"}, + "south": {"uv": [7, 14, 10, 16], "texture": "#7"}, + "west": {"uv": [12, 14, 14, 16], "texture": "#7"}, + "up": {"uv": [6, 14, 9, 16], "texture": "#7"} + } + }, + { + "from": [5, 2, 7.2], + "to": [8, 2.5, 9.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9, 16]}, + "faces": { + "north": {"uv": [4, 8, 7, 8.5], "texture": "#7"}, + "east": {"uv": [5, 6, 7, 6.5], "texture": "#7"}, + "south": {"uv": [9, 7, 12, 7.5], "texture": "#7"}, + "west": {"uv": [4, 7, 6, 8.5], "texture": "#7"}, + "up": {"uv": [4, 8, 7, 10], "texture": "#7"} + } + }, + { + "from": [4, 1, 4], + "to": [12, 1.2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 2.2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + } + ], + "groups": [ + { + "name": "plate", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + }, + { + "name": "beetroot", + "origin": [8, 8, 8], + "color": 0, + "children": [25, 26] + }, + 27, + 28 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/borscht3.json b/src/main/resources/assets/dishes/models/block/borscht3.json new file mode 100644 index 0000000..f7d2133 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/borscht3.json @@ -0,0 +1,363 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "block/quartz_block_side", + "7": "block/beetroots_stage3", + "8": "item/beetroot_soup", + "particle": "block/quartz_block_side" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "up": {"uv": [3, 3, 11, 11], "texture": "#0"}, + "down": {"uv": [3, 3, 11, 11], "texture": "#0"} + } + }, + { + "from": [13, 3, 1], + "to": [15, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 1], + "to": [3, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 13], + "to": [3, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 11], + "to": [5, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 4], + "to": [5, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 4], + "to": [12, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 4, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 7]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 3, 14], + "to": [14, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [4, 1, 12], + "to": [12, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [13, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 2], + "to": [13, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 3], + "to": [12, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [13, 3, 13], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [4, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [13, 2, 3], + "to": [14, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [12, 1, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [4, 1, 10.2], + "to": [6, 1.5, 11.2], + "rotation": {"angle": -22.5, "axis": "y", "origin": [9, 9, 16]}, + "faces": { + "north": {"uv": [4, 8, 7, 8.5], "texture": "#7"}, + "east": {"uv": [5, 6, 7, 6.5], "texture": "#7"}, + "south": {"uv": [9, 7, 12, 7.5], "texture": "#7"}, + "west": {"uv": [4, 7, 6, 8.5], "texture": "#7"}, + "up": {"uv": [4, 8, 7, 10], "texture": "#7"} + } + }, + { + "from": [4, 1, 4], + "to": [12, 1.2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 9, 15]}, + "faces": { + "up": {"uv": [5, 6, 11, 9], "texture": "#8"} + } + } + ], + "groups": [ + { + "name": "plate", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + }, + { + "name": "beetroot", + "origin": [8, 8, 8], + "color": 0, + "children": [25] + }, + 26 + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/bowl.json b/src/main/resources/assets/dishes/models/block/bowl.json new file mode 100644 index 0000000..0d63c3b --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/bowl.json @@ -0,0 +1,334 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "block/quartz_block_side", + "particle": "block/quartz_block_side" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 1, 12], + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "up": {"uv": [3, 3, 11, 11], "texture": "#0"}, + "down": {"uv": [3, 3, 11, 11], "texture": "#0"} + } + }, + { + "from": [13, 3, 1], + "to": [15, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 1], + "to": [3, 4, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [1, 3, 13], + "to": [3, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [3, 2, 12], + "to": [4, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 3], + "to": [4, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 3], + "to": [13, 3, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [12, 2, 12], + "to": [13, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [12, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 11], + "to": [5, 2, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 4], + "to": [5, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [11, 1, 4], + "to": [12, 2, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 1], "texture": "#0"} + } + }, + { + "from": [2, 3, 0], + "to": [14, 4, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 7]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [2, 3, 14], + "to": [14, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 12, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 12, 2], "texture": "#0"} + } + }, + { + "from": [4, 1, 12], + "to": [12, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 13], + "to": [13, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [3, 2, 2], + "to": [13, 3, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 10, 1], "texture": "#0"} + } + }, + { + "from": [4, 1, 3], + "to": [12, 2, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 9, 21]}, + "faces": { + "north": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [13, 3, 13], + "to": [15, 4, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [20, 9, 20]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 2], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + } + }, + { + "from": [14, 3, 2], + "to": [16, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [0, 3, 2], + "to": [2, 4, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 2, 12], "texture": "#0"}, + "down": {"uv": [0, 0, 2, 12], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [4, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [2, 2, 3], + "to": [3, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [13, 2, 3], + "to": [14, 3, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + }, + { + "from": [12, 1, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 9, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 10, 1], "texture": "#0"}, + "up": {"uv": [0, 0, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 0, 1, 10], "texture": "#0"} + } + } + ], + "groups": [ + { + "name": "plate", + "origin": [8, 8, 8], + "color": 0, + "children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/lettuce_stage2.json b/src/main/resources/assets/dishes/models/block/lettuce_stage2.json index 958b116..00379d1 100644 --- a/src/main/resources/assets/dishes/models/block/lettuce_stage2.json +++ b/src/main/resources/assets/dishes/models/block/lettuce_stage2.json @@ -1,5 +1,5 @@ { - "credit": "made by Motschen", + "credit": "Made with Blockbench", "textures": { "0": "dishes:block/lettuce_stage2", "particle": "dishes:block/lettuce_stage2" @@ -40,6 +40,17 @@ "north": {"uv": [0, 1, 16, 16], "texture": "#0"}, "south": {"uv": [0, 1, 16, 16], "texture": "#0"} } + }, + { + "from": [6, 0, 6], + "to": [10, 1, 10], + "faces": { + "north": {"uv": [6, 13, 10, 15], "texture": "#0"}, + "east": {"uv": [6, 13, 10, 15], "texture": "#0"}, + "south": {"uv": [6, 13, 10, 15], "texture": "#0"}, + "west": {"uv": [6, 13, 10, 15], "texture": "#0"}, + "up": {"uv": [6, 8, 10, 12], "texture": "#0"} + } } ] } \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/lettuce_stage3.json b/src/main/resources/assets/dishes/models/block/lettuce_stage3.json index c47fa22..fdc8504 100644 --- a/src/main/resources/assets/dishes/models/block/lettuce_stage3.json +++ b/src/main/resources/assets/dishes/models/block/lettuce_stage3.json @@ -1,5 +1,5 @@ { - "credit": "made by Motschen", + "credit": "Made with Blockbench", "textures": { "0": "dishes:block/lettuce_stage3", "particle": "dishes:block/lettuce_stage3" @@ -40,6 +40,17 @@ "north": {"uv": [0, 1, 16, 16], "texture": "#0"}, "south": {"uv": [0, 1, 16, 16], "texture": "#0"} } + }, + { + "from": [5, 0, 5], + "to": [11, 5, 11], + "faces": { + "north": {"uv": [5, 10, 11, 15], "texture": "#0"}, + "east": {"uv": [5, 8, 10, 14], "rotation": 90, "texture": "#0"}, + "south": {"uv": [5, 10, 11, 15], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 6, 11, 12], "rotation": 270, "texture": "#0"}, + "up": {"uv": [5, 6, 11, 12], "texture": "#0"} + } } ] } \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/pizzamargherita.json b/src/main/resources/assets/dishes/models/block/pizzamargherita.json new file mode 100644 index 0000000..6c050ab --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzamargherita.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami", + "textures": { + "1": "dishes:block/pizza_margherita" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzamargherita1.json b/src/main/resources/assets/dishes/models/block/pizzamargherita1.json new file mode 100644 index 0000000..6ffdf68 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzamargherita1.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami1", + "textures": { + "1": "dishes:block/pizza_margherita" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzamargherita2.json b/src/main/resources/assets/dishes/models/block/pizzamargherita2.json new file mode 100644 index 0000000..f9765f2 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzamargherita2.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami2", + "textures": { + "1": "dishes:block/pizza_margherita" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzamargherita3.json b/src/main/resources/assets/dishes/models/block/pizzamargherita3.json new file mode 100644 index 0000000..8420784 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzamargherita3.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami3", + "textures": { + "1": "dishes:block/pizza_margherita" + } +} diff --git a/src/main/resources/assets/dishes/models/block/pizzamargherita4.json b/src/main/resources/assets/dishes/models/block/pizzamargherita4.json new file mode 100644 index 0000000..9dcdaf3 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/pizzamargherita4.json @@ -0,0 +1,6 @@ +{ + "parent": "dishes:block/pizzasalami4", + "textures": { + "1": "dishes:block/pizza_margherita" + } +} diff --git a/src/main/resources/assets/dishes/models/item/birthday_cake.json b/src/main/resources/assets/dishes/models/item/birthday_cake.json deleted file mode 100644 index 7d5089e..0000000 --- a/src/main/resources/assets/dishes/models/item/birthday_cake.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "dishes:block/birthday_cake" -} diff --git a/src/main/resources/assets/dishes/models/item/borscht.json b/src/main/resources/assets/dishes/models/item/borscht.json new file mode 100644 index 0000000..e2a1e7d --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/borscht.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/borscht" +} diff --git a/src/main/resources/assets/dishes/models/item/bowl.json b/src/main/resources/assets/dishes/models/item/bowl.json new file mode 100644 index 0000000..9305422 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/bowl.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/bowl" +} diff --git a/src/main/resources/assets/dishes/models/item/flag_america.json b/src/main/resources/assets/dishes/models/item/flag_uk.json similarity index 56% rename from src/main/resources/assets/dishes/models/item/flag_america.json rename to src/main/resources/assets/dishes/models/item/flag_uk.json index de42a88..eb11ed2 100644 --- a/src/main/resources/assets/dishes/models/item/flag_america.json +++ b/src/main/resources/assets/dishes/models/item/flag_uk.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "dishes:item/flags/america" + "layer0": "dishes:item/flags/uk" } } diff --git a/src/main/resources/assets/dishes/models/item/flag_britain.json b/src/main/resources/assets/dishes/models/item/flag_ukraine.json similarity index 56% rename from src/main/resources/assets/dishes/models/item/flag_britain.json rename to src/main/resources/assets/dishes/models/item/flag_ukraine.json index 3ca511e..5d4f6c0 100644 --- a/src/main/resources/assets/dishes/models/item/flag_britain.json +++ b/src/main/resources/assets/dishes/models/item/flag_ukraine.json @@ -1,6 +1,6 @@ { "parent": "item/generated", "textures": { - "layer0": "dishes:item/flags/britain" + "layer0": "dishes:item/flags/ukraine" } } diff --git a/src/main/resources/assets/dishes/models/item/flag_usa.json b/src/main/resources/assets/dishes/models/item/flag_usa.json new file mode 100644 index 0000000..6c449e4 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/flag_usa.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "dishes:item/flags/usa" + } +} diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_glowberry.json b/src/main/resources/assets/dishes/models/item/ice_cream_glowberry.json new file mode 100644 index 0000000..2355ef6 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_glowberry.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_glowberry" + } +} diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_vanilla.json b/src/main/resources/assets/dishes/models/item/ice_cream_vanilla.json index 9386ace..5724d4d 100644 --- a/src/main/resources/assets/dishes/models/item/ice_cream_vanilla.json +++ b/src/main/resources/assets/dishes/models/item/ice_cream_vanilla.json @@ -1,5 +1,5 @@ { - "credit": "made by Motschen", + "credit": "Made with Blockbench", "parent": "block/block", "textures": { "0": "dishes:item/ice_cream_waffle", @@ -128,7 +128,6 @@ "east": {"uv": [0, 0, 7.5, 3], "texture": "#0"}, "south": {"uv": [0, 0, 7.5, 3], "texture": "#0"}, "west": {"uv": [0, 0, 7.5, 3], "texture": "#0"}, - "up": {"uv": [0.5, 0.5, 7, 7], "texture": "#0"}, "down": {"uv": [0.5, 0.5, 7, 7], "texture": "#0"} } }, @@ -215,12 +214,11 @@ "to": [8.5, 18, 8.5], "rotation": {"angle": 0, "axis": "y", "origin": [13, 23, 13]}, "faces": { - "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"} } }, { @@ -228,12 +226,11 @@ "to": [11.5, 18.5, 10], "rotation": {"angle": 0, "axis": "y", "origin": [16, 23, 15]}, "faces": { - "north": {"uv": [0, 0, 4, 4.5], "texture": "#1"}, - "east": {"uv": [0, 0, 4, 4.5], "texture": "#1"}, - "south": {"uv": [0, 0, 4, 4.5], "texture": "#1"}, - "west": {"uv": [0, 0, 4, 4.5], "texture": "#1"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"} } }, { @@ -241,12 +238,7 @@ "to": [11.5, 14, 11], "rotation": {"angle": 0, "axis": "y", "origin": [16, 22, 15]}, "faces": { - "north": {"uv": [0, 0, 7, 1], "texture": "#1"}, - "east": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "south": {"uv": [0, 0, 7, 1], "texture": "#1"}, - "west": {"uv": [0, 0, 6, 1], "texture": "#1"}, - "up": {"uv": [0, 0, 7, 6], "texture": "#1"}, - "down": {"uv": [0, 0, 7, 6], "texture": "#1"} + "up": {"uv": [0, 0, 16, 16], "texture": "#1"} } }, { @@ -254,12 +246,11 @@ "to": [10.7, 17.5, 8.4], "rotation": {"angle": 22.5, "axis": "y", "origin": [15, 23, 13]}, "faces": { - "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, - "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"} } } ], @@ -278,4 +269,4 @@ "translation": [0, -0.75, 0] } } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/dishes/models/item/pizzamargherita.json b/src/main/resources/assets/dishes/models/item/pizzamargherita.json new file mode 100644 index 0000000..27d3da1 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/pizzamargherita.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/pizzamargherita" +} diff --git a/src/main/resources/assets/dishes/textures/block/flame.png b/src/main/resources/assets/dishes/textures/block/flame.png deleted file mode 100644 index d912be35ddd6d5142d5f4a608fdc0329d7bed6f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 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 OV76A9EsHkn+V>xIp4GYl literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/block/pizza_top.png b/src/main/resources/assets/dishes/textures/block/pizza_top.png index 4a8f867c497764d64846110cfe7842dd28ad3724..bdb07fad37421fd13655f3da18a034fe9fd13cd1 100644 GIT binary patch literal 6036 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 delta 259 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 I3!^st7eyDMX#fBK delta 217 zcmaE_{)KUZayd} z9e08lb(${!IB2p-!pKdGS(4!!(}~FcpY4pA=DKhM+5F*7WjHvy{(^ykBUjh`{}2DM zNOnC;Pbv7zf2AS1UP40r(?L<8w^9lTPS-ft-v3)D(RPOY@_mIM0Yf%6hB^0Zt3S-> RxeRm_gQu&X%Q~loCIByJPfh>; diff --git a/src/main/resources/assets/dishes/textures/block/tomato_stage2.png b/src/main/resources/assets/dishes/textures/block/tomato_stage2.png index 4954d07f3a4e67d0b1501122957247d4c9397742..b20313a77ce9847ef744b22db5fdc50647894fc0 100644 GIT binary patch literal 5466 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 W-@oo*LTMu$C4$BD@yMSWy79kUdt++= delta 294 zcmV+>0onfAD%1jyBO3q#b5ch_0Itp)=>Px#1ZP1_K>z@;j|==^1(QG&7=P(WL_t(I zPo+}L3c@f9?!=p-9()ELPtX_GUO+?-zJbpqc=IlTC|;b4Nt(4;)+y)*Y5tltX_5he z`v*NbvhDcCECo2KfUDSykVQRZOX;Bkm@hbI4R5<4`}5&?0pq=l*Kv^b7>*X;g#Z8m07*qoM6N<$f`?Iq!~g&Q diff --git a/src/main/resources/assets/dishes/textures/block/tomato_stage3.png b/src/main/resources/assets/dishes/textures/block/tomato_stage3.png index 493bbb69a15a9a18f6671b2e961fd9de6f9a9d42..7b0d3211fc951462c617b3ec1000d04406bf3a33 100644 GIT binary patch literal 5792 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 delta 412 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 diff --git a/src/main/resources/assets/dishes/textures/item/flags/britain.png b/src/main/resources/assets/dishes/textures/item/flags/britain.png deleted file mode 100644 index 09b4bdd39defbeab9cca6bd98fe9b93f9d2d8c91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0CcP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TmzNRjL@gC-JL^bDk;>D5+&|2Yw;N6ZSGXT6 z?B2}&|IF>}Nuf~q_f(JlNqw?-4oi{#uj@E_h5nteE9KlqXxSMnz!$F>H}jo-8&teZ5FmGY}iF1(0EwfM_m)Vv8ozg)?uy5 zO^Lw1UYkddpUd&aM2~5-bK>(@2=#msdIa8>(Aa}~n+I~a7T;9#5&B??HU*GWlX?VrfB}(tkG62<-1o;Is zI6S+N2IS~_x;TbZ+)7SJm~r61fenp`mWPYj*xFtuoB;BSl)s;WS{XcD{an^LB{Ts56^t?I delta 99 zcmdnbxQKCr1Sba@0|SHn=l_Wl%@ii8i29g&x;Tbd_$UAQ|KFZjwSm)XGB4Xb2DdiP zJc-5+_T}nRTDi`>j&O+NFyJ|qaD_oj!r+OqFf%g)V=TA(E&ot8plJ-Au6{1-oD!M< DPH!J& diff --git a/src/main/resources/assets/dishes/textures/item/flags/uk.png b/src/main/resources/assets/dishes/textures/item/flags/uk.png new file mode 100644 index 0000000000000000000000000000000000000000..aee7e5a8975145d56947692edb914fd4657339ba GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF%)r3-EjT<7$l)yTh%9Dc;5!7ujG`J|4M0K0 z;vjb?hIQv;UIIBR>5jgR3=A9lx&I`x0{Nl=J|V6^`v3p`Cj|8PbqjfQ3V5{(7!@=3 zGs}WBFqQ=Q1v5B2yO9RuEcSG945_%awSR9ebAo_VBxBd>{zq;f?7nLz{ud1T;lF9} zv7ort3^|4aJULew4x}a~i!n5;)oZb>Sm-A!vohg!g!YQyL-I1uN?ay{Om4|nn00ye zp>%_bPj)N135zRb9r^R9$}2o8bc5DetpL}_rvD_(C$EY1yy9~0$<_&xjzTlHWE!1J z{(8ID{h;CQ*j+JdL-b2N=v=Pe9M1v;0()78&qol`;+ E0Qp66X8-^I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/item/flags/ukraine.png b/src/main/resources/assets/dishes/textures/item/flags/ukraine.png new file mode 100644 index 0000000000000000000000000000000000000000..02384d71b2861db2d45b5983293171d2b9a2c26b GIT binary patch literal 570 zcmV-A0>%A_P)#0mH3=^)T9B4AGxl0{KmQHvcP*r%}jcp zI7%!QJ6P#pRx&l>N#dBQ>C|7ydaQEZ;;dC_tTiWpVI;4wEOVW52uUnr2@*sosG*Ds zY{co*NwJWo`-G2w(Dh5?Qpi;XBgX=&&>*{h@IUyyTdOcJ?sbYJfbJK^`4|R5yFjz< zIN!&P(>wu!&%l-5_E#Ig^e5@{wiY`A`nG|K>$axs0hc?#z>^`HvMU8Cg+c*%KcjET z0sXf?c+J~e>mH{MK!$dex&aOjfsrEhUiW!-Pv_qLt!eG=2RS}+knPrK%>V!Z2~bQ_ zMF0Q*|J48hTe~ApT)qGR00DGTPE!Ct=GbNc0025kL_t(|+Lg__4FE6*LqWeGy`-m1 z1!?k?tiz%JL#0mH3=^)T9B4AGxl0{KmQHvcP*r%}jcp zI7%!QJ6P#pRx&l>N#dBQ>C|7ydaQEZ;;dC_tTiWpVI;4wEOVW52uUnr2@*sosG*Ds zY{co*NwJWo`-G2w(Dh5?Qpi;XBgX=&&>*{h@IUyyTdOcJ?sbYJfbJK^`4|R5yFjz< zIN!&P(>wu!&%l-5_E#Ig^e5@{wiY`A`nG|K>$axs0hc?#z>^`HvMU8Cg+c*%KcjET z0sXf?c+J~e>mH{MK!$dex&aOjfsrEhUiW!-Pv_qLt!eG=2RS}+knPrK%>V!ZAy7c2-;vLZAL_t(|+U=K3Zo?oDM!5p3N*uwVG?gr{E-YL7lb}+`pHc6U9Jjs$Z z4B!0V08wfKKyR(JN>rNLmOWk{FDcwJ__k&`72v9?m7}(shZ!xmjWd*5xKs z8h8CZ4F&)~uuBxtIC{xkA?pw;WJ6p>L8JeyVjN$q;;o<%k#o=mlr2zJxI>6@fpUmO z;|2H0h<^PbP)BEYJ{ zAdq(uQ^>)0mmK=iiPQhnc~S3BpX6&)QGc+ulef`mG@ktaNaRvaSs?1c zEQcM-c#R$yPMvV-1n)53VfOtNFn|mX2KESemz%!pQ?3;-l_k^*RPIQ+k_Qm5l{|nz lYvM~Zv8_V;|JrB_`~ny&PSV-@Yn1>1002ovPDHLkV1kxswtfHr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_glowberry.png b/src/main/resources/assets/dishes/textures/item/ice_cream_glowberry.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb94c50dd9e175512258ab17d17036718bafcce GIT binary patch literal 743 zcmV?P)EX>4Tx04R}tkvmAkP!xv$rb?w$9PA+CkfAzR5Eao)t5Adrp;l;8;hHE%H>AQI0q!?cMvh^IDf zgY!Odl$B(a_?&puqydQ^xvqHp#<}RSzzB(JY5bDeSsNi1Rs5=1Ddp^OS_#Oc&Yv5=Klr^{t1vO{b&4c_?ia`T7zRSSK(p>R-^Y&AJOP5wz?I(iR~x|eC+YRJ z7CQp^wtmpj0~lOdb3D+MWqLIHR`qi@Oq{kK4P&D&e+9;XjLhIW;@0S*p< zks|e8_jz|u=idIUY3=U^IX-fbQz3(Z00009a7bBm000iZ000iZ0XPLyBme*a2XskI zMF-{z0SXKPvFU~l0002?Nkl$@-HwGY2!y`^F`B;CKIp!rsWJW83u@crS*{eO z!weAG?++!Q4WI;Wp$34x^rYtjZ6q~DB&7zVu@`__dj2R5@H?%ShnMe#~Y_u2M9>BehW*} z_g$Pu%pI^*>7rM%nBRLG)k~#|ao?x?Ga~0sN(o4_xv910^BsMh?iRrM8Lnsdy^4EY Z&>z{mhD(Z>X*vJ^002ovPDHLkV1kAeOP>G$ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_glowberry_e.png b/src/main/resources/assets/dishes/textures/item/ice_cream_glowberry_e.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb94c50dd9e175512258ab17d17036718bafcce GIT binary patch literal 743 zcmV?P)EX>4Tx04R}tkvmAkP!xv$rb?w$9PA+CkfAzR5Eao)t5Adrp;l;8;hHE%H>AQI0q!?cMvh^IDf zgY!Odl$B(a_?&puqydQ^xvqHp#<}RSzzB(JY5bDeSsNi1Rs5=1Ddp^OS_#Oc&Yv5=Klr^{t1vO{b&4c_?ia`T7zRSSK(p>R-^Y&AJOP5wz?I(iR~x|eC+YRJ z7CQp^wtmpj0~lOdb3D+MWqLIHR`qi@Oq{kK4P&D&e+9;XjLhIW;@0S*p< zks|e8_jz|u=idIUY3=U^IX-fbQz3(Z00009a7bBm000iZ000iZ0XPLyBme*a2XskI zMF-{z0SXKPvFU~l0002?Nkl$@-HwGY2!y`^F`B;CKIp!rsWJW83u@crS*{eO z!weAG?++!Q4WI;Wp$34x^rYtjZ6q~DB&7zVu@`__dj2R5@H?%ShnMe#~Y_u2M9>BehW*} z_g$Pu%pI^*>7rM%nBRLG)k~#|ao?x?Ga~0sN(o4_xv910^BsMh?iRrM8Lnsdy^4EY Z&>z{mhD(Z>X*vJ^002ovPDHLkV1kAeOP>G$ literal 0 HcmV?d00001 diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/american.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/american.json index abb90bd..23c9334 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/american.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/american.json @@ -1,5 +1,5 @@ { "name": "Amerikanische Gerichte", "description": "Essen aus den USA", - "icon": "dishes:flag_america" -} \ No newline at end of file + "icon": "dishes:flag_usa" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/british.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/british.json index 2434292..39ad0a6 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/british.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/british.json @@ -1,5 +1,5 @@ { "name": "Britische Gerichte", "description": "Essen aus dem Vereinigten Königreich", - "icon": "dishes:flag_britain" -} \ No newline at end of file + "icon": "dishes:flag_uk" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/ukrainian.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/ukrainian.json new file mode 100644 index 0000000..5aa3231 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/ukrainian.json @@ -0,0 +1,5 @@ +{ + "name": "Ukrainische Gerichte", + "description": "Essen aus der Ukraine", + "icon": "dishes:flag_ukraine" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/birthday_cake.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/birthday_cake.json deleted file mode 100644 index f063380..0000000 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/birthday_cake.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "Geburtstagskuchen", - "icon": "dishes:birthday_cake", - "category": "dishes:sweets", - "pages": [ - { - "type": "spotlight", - "item": "dishes:birthday_cake", - "title": "Geburtstagskuchen", - "link_recipe": false, - "text": "Happy Birthday!" - }, - { - "type": "crafting", - "recipe": "dishes:birthday_cake" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/borscht.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/borscht.json new file mode 100644 index 0000000..8b2cc16 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/borscht.json @@ -0,0 +1,18 @@ +{ + "name": "Borschtsch", + "icon": "dishes:borscht", + "category": "dishes:ukrainian", + "pages": [ + { + "type": "spotlight", + "item": "dishes:borscht", + "title": "Borschtsch", + "link_recipe": false, + "text": "Traditionelle ukrainische Rote-Beete-Suppe, die meist mit Sour Cream serviert wird." + }, + { + "type": "crafting", + "recipe": "dishes:borscht" + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bowl.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bowl.json new file mode 100644 index 0000000..4525f92 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/bowl.json @@ -0,0 +1,18 @@ +{ + "name": "Schüssel", + "icon": "dishes:bowl", + "category": "dishes:general", + "pages": [ + { + "type": "spotlight", + "item": "dishes:bowl", + "title": "Schüssel", + "link_recipe": false, + "text": "Eine Schüssel." + }, + { + "type": "crafting", + "recipe": "dishes:bowl" + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_glowberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_glowberry.json new file mode 100644 index 0000000..0be0f26 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_glowberry.json @@ -0,0 +1,14 @@ +{ + "name": "Süßbeereis", + "icon": "dishes:ice_cream_sweetberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_sweetberry", + "title": "Süßbeereis", + "link_recipe": false, + "text": "Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_sweetberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_sweetberry.json index 0be0f26..25d4784 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_sweetberry.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_sweetberry.json @@ -1,14 +1,14 @@ { - "name": "Süßbeereis", - "icon": "dishes:ice_cream_sweetberry", + "name": "Leuchtbeereis", + "icon": "dishes:ice_cream_glowberry", "category": "dishes:sweets", "pages": [ { "type": "spotlight", - "item": "dishes:ice_cream_sweetberry", - "title": "Süßbeereis", + "item": "dishes:ice_cream_glowberry", + "title": "Leuchtbeereis", "link_recipe": false, "text": "Wer mag Eiscreme bitte nicht? Erhältlich beim Eiscreme-Händler." } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzamargherita.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzamargherita.json new file mode 100644 index 0000000..710b03c --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/pizzamargherita.json @@ -0,0 +1,18 @@ +{ + "name": "Pizza Margherita", + "icon": "dishes:pizzamargherita", + "category": "dishes:italian", + "pages": [ + { + "type": "spotlight", + "item": "dishes:pizzamargherita", + "title": "Pizza Margherita", + "link_recipe": false, + "text": "Benannt nach Margherita von Savoy (Königin Italiens von 1878 bis 1900)" + }, + { + "type": "crafting", + "recipe": "dishes:pizzamargherita" + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/american.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/american.json index 04009d2..b150502 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/american.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/american.json @@ -1,5 +1,5 @@ { "name": "American Dishes", "description": "Food from the USA", - "icon": "dishes:flag_america" -} \ No newline at end of file + "icon": "dishes:flag_usa" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/british.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/british.json index d39796a..c88dc52 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/british.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/british.json @@ -1,5 +1,5 @@ { "name": "British Dishes", "description": "Food from the United Kingdom", - "icon": "dishes:flag_britain" -} \ No newline at end of file + "icon": "dishes:flag_uk" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/ukrainian.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/ukrainian.json new file mode 100644 index 0000000..7227b44 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/ukrainian.json @@ -0,0 +1,5 @@ +{ + "name": "Ukrainian Dishes", + "description": "Food from Ukraine", + "icon": "dishes:flag_ukraine" +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/birthday_cake.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/birthday_cake.json deleted file mode 100644 index 2b5e5f8..0000000 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/birthday_cake.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "Birthday Cake", - "icon": "dishes:birthday_cake", - "category": "dishes:sweets", - "pages": [ - { - "type": "spotlight", - "item": "dishes:birthday_cake", - "title": "Birthday Cake", - "link_recipe": false, - "text": "Happy Birthday!" - }, - { - "type": "crafting", - "recipe": "dishes:birthday_cake" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/borscht.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/borscht.json new file mode 100644 index 0000000..66205a4 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/borscht.json @@ -0,0 +1,18 @@ +{ + "name": "Borscht", + "icon": "dishes:borscht", + "category": "dishes:ukrainian", + "pages": [ + { + "type": "spotlight", + "item": "dishes:borscht", + "title": "Borscht", + "link_recipe": false, + "text": "Traditional Ukrainian beetroot soup usually served with sour cream." + }, + { + "type": "crafting", + "recipe": "dishes:borscht" + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bowl.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bowl.json new file mode 100644 index 0000000..b76a64f --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/bowl.json @@ -0,0 +1,18 @@ +{ + "name": "Bowl", + "icon": "dishes:bowl", + "category": "dishes:general", + "pages": [ + { + "type": "spotlight", + "item": "dishes:bowl", + "title": "Bowl", + "link_recipe": false, + "text": "A bowl." + }, + { + "type": "crafting", + "recipe": "dishes:bowl" + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_glowberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_glowberry.json new file mode 100644 index 0000000..9441dc8 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_glowberry.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Glow Berry", + "icon": "dishes:ice_cream_glowberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_glowberry", + "title": "Ice Cream Glow Berry", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzamargherita.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzamargherita.json new file mode 100644 index 0000000..f728593 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/pizzamargherita.json @@ -0,0 +1,18 @@ +{ + "name": "Pizza Margherita", + "icon": "dishes:pizzamargherita", + "category": "dishes:italian", + "pages": [ + { + "type": "spotlight", + "item": "dishes:pizzamargherita", + "title": "Pizza Margherita", + "link_recipe": false, + "text": "Named after Margherita of Savoy (Queen of Italy from 1878 until 1900)" + }, + { + "type": "crafting", + "recipe": "dishes:pizzamargherita" + } + ] +} diff --git a/src/main/resources/data/dishes/recipes/birthday_cake.json b/src/main/resources/data/dishes/recipes/birthday_cake.json deleted file mode 100644 index 70fdc57..0000000 --- a/src/main/resources/data/dishes/recipes/birthday_cake.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "minecraft:diamond" - }, - { - "item": "minecraft:cake" - } - ], - "result": { - "item": "dishes:birthday_cake", - "count": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/data/dishes/recipes/borscht.json b/src/main/resources/data/dishes/recipes/borscht.json new file mode 100644 index 0000000..2b93a9a --- /dev/null +++ b/src/main/resources/data/dishes/recipes/borscht.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:beetroot", + "item_h": "minecraft:beetroot" + }, + { + "item": "minecraft:milk_bucket", + "item_h": "minecraft:milk_bucket" + }, + { + "item": "dishes:bowl", + "item_h": "dishes:bowl" + } + ], + "result": { + "item": "dishes:borscht", + "count": 1 + } +} diff --git a/src/main/resources/data/dishes/recipes/bowl.json b/src/main/resources/data/dishes/recipes/bowl.json new file mode 100644 index 0000000..a08e2b2 --- /dev/null +++ b/src/main/resources/data/dishes/recipes/bowl.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# #", + " _ " + ], + "key": { + "#": { + "item": "minecraft:quartz_stairs" + }, + "_": { + "item": "minecraft:quartz_slab" + } + }, + "result": { + "item": "dishes:bowl", + "count": 1 + } +} diff --git a/src/main/resources/data/dishes/recipes/pizzamargherita.json b/src/main/resources/data/dishes/recipes/pizzamargherita.json new file mode 100644 index 0000000..08799da --- /dev/null +++ b/src/main/resources/data/dishes/recipes/pizzamargherita.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "TP ", + "#_#" + ], + "key": { + "#": { + "item": "dishes:flour" + }, + "T": { + "item": "dishes:tomato" + }, + "P": { + "item": "dishes:cheese_slice" + }, + "_": { + "item": "dishes:pizzabox" + } + }, + "result": { + "item": "dishes:pizzamargherita", + "count": 1 + } +} diff --git a/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json new file mode 100644 index 0000000..6e75291 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "dishes:salt_ore" + ] +} diff --git a/src/main/resources/dishes.mixins.json b/src/main/resources/dishes.mixins.json deleted file mode 100644 index fa606c4..0000000 --- a/src/main/resources/dishes.mixins.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "required": true, - "package": "eu.midnightdust.motschen.dishes.mixin", - "compatibilityLevel": "JAVA_8", - "mixins": [ - "GenerationSettingsAccessorMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 8dc5c02..37dc47f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -4,7 +4,7 @@ "version": "${version}", "name": "Delicious Dishes", - "description": "Adds many cool new dishes with 3d models and animations!", + "description": "Adds many cool new dishes with 3D models and animations!", "authors": [ "Motschen", "TeamMidnightDust" @@ -24,22 +24,15 @@ ], "client": [ "eu.midnightdust.motschen.dishes.DishesClient" - ], - "modmenu": [ - "eu.midnightdust.motschen.dishes.config.ModMenuIntegration" ] }, - "mixins": [ - "dishes.mixins.json" - ], - "depends": { - "fabricloader": ">=0.7.2", + "midnightlib": "*", "fabric": "*" }, "suggests": { - "simplystrawberrys": "*", + "decorative": "*", "patchouli": "*" } }