diff --git a/.gitignore b/.gitignore index 9563893..e5d8d28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,11 @@ # gradle .gradle/ -build/ +build/classes/ +build/generated/ +build/libs/ +build/resources/ +build/tmp/ out/ classes/ diff --git a/build.gradle b/build.gradle index 94e1d5e..00773e8 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,8 @@ minecraft { repositories { maven { url "https://jitpack.io" } + maven { url "http://server.bbkr.space/artifactory/libs-release" } + maven { url 'https://maven.blamejared.com' } } dependencies { @@ -23,11 +25,20 @@ dependencies { mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" modCompile "net.fabricmc:fabric-loader:${project.loader_version}" - // Fabric API. This is technically optional, but you probably want it anyway. modCompile "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. - // You may need to force-disable transitiveness on them. + + 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}") } processResources { 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 new file mode 100644 index 0000000..bda0f29 Binary files /dev/null and b/build/loom-cache/maybe-data-1.0.0-1.16.2.jar differ diff --git a/build/loom-cache/midnight-hats-1.0.2.jar b/build/loom-cache/midnight-hats-1.0.2.jar new file mode 100644 index 0000000..1668bd6 Binary files /dev/null and b/build/loom-cache/midnight-hats-1.0.2.jar differ diff --git a/gradle.properties b/gradle.properties index 1aa3c01..4445aeb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,10 +8,20 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.9.1+build.205 # Mod Properties - mod_version = 1.0.4 + mod_version = 2.0.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 \ No newline at end of file + 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 diff --git a/logs/latest.log b/logs/latest.log new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/eu/midnightdust/motschen/dishes/Crop.java b/src/main/java/eu/midnightdust/motschen/dishes/Crop.java deleted file mode 100644 index 80932f5..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/Crop.java +++ /dev/null @@ -1,13 +0,0 @@ -package eu.midnightdust.motschen.dishes; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.Blocks; -import net.minecraft.block.CropBlock; - -public class Crop extends CropBlock { - - public Crop() { - super(FabricBlockSettings.copy(Blocks.CARROTS)); - } -} - diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java index eff2b66..9a79018 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesClient.java @@ -1,14 +1,20 @@ package eu.midnightdust.motschen.dishes; +import eu.midnightdust.motschen.dishes.entities.client.IceCreamTraderRenderer; +import eu.midnightdust.motschen.dishes.init.CropInit; +import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; +import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry; import net.minecraft.client.render.RenderLayer; public class DishesClient implements ClientModInitializer { @Override public void onInitializeClient() { - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),DishesMain.TomatoBush); - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(),DishesMain.LettuceBush); + 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); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java index ed6cdb6..31d7293 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/DishesMain.java @@ -1,8 +1,19 @@ package eu.midnightdust.motschen.dishes; +import eu.midnightdust.motschen.dishes.block.*; +import eu.midnightdust.motschen.dishes.blockstates.DishBites; +import eu.midnightdust.motschen.dishes.compat.CookingGuideItem; +import eu.midnightdust.motschen.dishes.compat.Flags; +import eu.midnightdust.motschen.dishes.config.DishesConfig; +import eu.midnightdust.motschen.dishes.init.BlockEntityInit; +import eu.midnightdust.motschen.dishes.init.CropInit; +import eu.midnightdust.motschen.dishes.init.WorldGenInit; +import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; +import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.item.*; @@ -11,8 +22,14 @@ import net.minecraft.util.registry.Registry; public class DishesMain implements ModInitializer { public static final String MOD_ID = "dishes"; + public static DishesConfig DD_CONFIG; - public static final ItemGroup DishesGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "dishes"), () -> new ItemStack(DishesMain.PizzaSalami)); + + public static final ItemGroup MainGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "main"), () -> new ItemStack(DishesMain.CheeseRoll)); + public static final ItemGroup DishesGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "dishes"), () -> new ItemStack(DishesMain.FishAndChips)); + public static final ItemGroup PizzaGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "pizza"), () -> new ItemStack(DishesMain.PizzaSalami)); + public static final ItemGroup SweetsGroup = FabricItemGroupBuilder.build(new Identifier(MOD_ID, "sweets"), () -> new ItemStack(DishesMain.IceCreamVanilla)); + public static final Item CookingGuide = new CookingGuideItem(new Item.Settings().maxCount(1)); public static final Block Plate = new Plate(); public static final Block PizzaBox = new Plate(); public static final Block PotatoesWithCurdCheese = new Dish(); @@ -27,29 +44,44 @@ public class DishesMain implements ModInitializer { public static final Block Hamburger = new Dish(); public static final Block Chickenburger = new Dish(); public static final Block Cheeseburger = new Dish(); + public static final Block Spaceburger = new Dish(); public static final Block FishAndChips = new Dish(); - public static final Item Knife = new Item(new Item.Settings().group(DishesMain.DishesGroup).recipeRemainder(DishesMain.Knife).maxCount(1)); - public static final Item PotatoSlice = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); - public static final Item RawFries = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(1f).build())); - public static final Item Fries = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(4).saturationModifier(4f).build())); + public static final Item Knife = new Item(new Item.Settings().group(DishesMain.MainGroup).recipeRemainder(DishesMain.Knife).maxCount(1)); + public static final Item PotatoSlice = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).snack().build())); + public static final Item RawFries = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); + public static final Item Fries = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).snack().build())); public static final Block SaltOre = new Block(FabricBlockSettings.copyOf(Blocks.COAL_ORE)); - public static final Item Salt = new Item(new Item.Settings().group(DishesMain.DishesGroup)); - public static final Item Flour = new Item(new Item.Settings().group(DishesMain.DishesGroup)); - public static final Item RawSpaghetti = new Item(new Item.Settings().group(DishesMain.DishesGroup)); - public static final Item Spaghetti = new Item(new Item.Settings().group(DishesMain.DishesGroup)); - public static final Item Salami = new Item(new Item.Settings().group(DishesMain.DishesGroup)); - public static final Item Tomato = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); - public static final Block TomatoBush = new Crop(); - public static final Item Lettuce = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); - public static final Block LettuceBush = new Crop(); - public static final Item RawBacon = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); - public static final Item Bacon = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); - public static final Item CheeseRoll = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); - public static final Item CheeseSlice = new Item(new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(2f).build())); + public static final Item Salt = new Item(new Item.Settings().group(DishesMain.MainGroup)); + public static final Item Flour = new Item(new Item.Settings().group(DishesMain.MainGroup)); + public static final Item RawSpaghetti = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); + public static final Item Spaghetti = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).snack().build())); + public static final Item Salami = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(3).saturationModifier(1f).snack().build())); + public static final Item RawBacon = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(1).saturationModifier(0.5f).build())); + public static final Item Bacon = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.75f).build())); + public static final Item CheeseRoll = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(4).saturationModifier(1f).build())); + public static final Item CheeseSlice = new Item(new Item.Settings().group(DishesMain.MainGroup).food(new FoodComponent.Builder().hunger(2).saturationModifier(0.5f).snack().build())); + + public static final Item 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(); @Override public void onInitialize() { - Registry.register(Registry.ITEM, new Identifier("dishes","salt_ore"), new BlockItem(SaltOre, new Item.Settings().group(DishesMain.DishesGroup))); + AutoConfig.register(DishesConfig.class, JanksonConfigSerializer::new); + DD_CONFIG = AutoConfig.getConfigHolder(DishesConfig.class).getConfig(); + + new DishBites(); + BlockEntityInit.init(); + + // General // + Registry.register(Registry.ITEM, new Identifier("dishes","salt_ore"), new BlockItem(SaltOre, new Item.Settings().group(DishesMain.MainGroup))); Registry.register(Registry.BLOCK, new Identifier("dishes","salt_ore"), SaltOre); Registry.register(Registry.ITEM, new Identifier("dishes","salt"), Salt); Registry.register(Registry.ITEM, new Identifier("dishes","flour"), Flour); @@ -64,45 +96,74 @@ public class DishesMain implements ModInitializer { Registry.register(Registry.ITEM, new Identifier("dishes","bacon"), Bacon); Registry.register(Registry.ITEM, new Identifier("dishes","cheese_roll"), CheeseRoll); Registry.register(Registry.ITEM, new Identifier("dishes","cheese_slice"), CheeseSlice); - Registry.register(Registry.ITEM, new Identifier("dishes","tomatoseed"), new AliasedBlockItem(TomatoBush, new Item.Settings().group(DishesMain.DishesGroup))); - Registry.register(Registry.ITEM, new Identifier("dishes","tomato"), Tomato); - Registry.register(Registry.ITEM, new Identifier("dishes","lettuceseed"), new AliasedBlockItem(LettuceBush, new Item.Settings().group(DishesMain.DishesGroup))); - Registry.register(Registry.ITEM, new Identifier("dishes","lettuce"), Lettuce); - Registry.register(Registry.BLOCK, new Identifier("dishes","tomatobush"), TomatoBush); - Registry.register(Registry.BLOCK, new Identifier("dishes","lettucebush"), LettuceBush); - Registry.register(Registry.ITEM, new Identifier("dishes","plate"), new AliasedBlockItem(Plate, new Item.Settings().group(DishesMain.DishesGroup))); + CropInit.init(); + + // Dishes // + Registry.register(Registry.ITEM, new Identifier("dishes","plate"), new BlockItem(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 AliasedBlockItem(PotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","potatoeswithcurdcheese"), PotatoesWithCurdCheese); - Registry.register(Registry.ITEM, new Identifier("dishes","tinypotatoeswithcurdcheese"), new AliasedBlockItem(TinyPotatoesWithCurdCheese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); - Registry.register(Registry.BLOCK, new Identifier("dishes","tinypotatoeswithcurdcheese"), TinyPotatoesWithCurdCheese); - Registry.register(Registry.ITEM, new Identifier("dishes","schnitzel"), new AliasedBlockItem(Schnitzel, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + + 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); + } + + 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","schnitzel"), Schnitzel); - Registry.register(Registry.ITEM, new Identifier("dishes","spaghetti_bolognese"), new AliasedBlockItem(SpaghettiBolognese, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","spaghetti_bolognese"), SpaghettiBolognese); - Registry.register(Registry.ITEM, new Identifier("dishes","steak"), new AliasedBlockItem(Steak, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","steak"), Steak); - Registry.register(Registry.ITEM, new Identifier("dishes","hamburger"), new AliasedBlockItem(Hamburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","hamburger"), Hamburger); - Registry.register(Registry.ITEM, new Identifier("dishes","chickenburger"), new AliasedBlockItem(Chickenburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","chickenburger"), Chickenburger); - Registry.register(Registry.ITEM, new Identifier("dishes","cheeseburger"), new AliasedBlockItem(Cheeseburger, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","cheeseburger"), Cheeseburger); - Registry.register(Registry.ITEM, new Identifier("dishes","fishandchips"), new AliasedBlockItem(FishAndChips, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + + 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); + } + + 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","fishandchips"), FishAndChips); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzabox"), new AliasedBlockItem(PizzaBox, new Item.Settings().group(DishesMain.DishesGroup))); + + // Pizza // + Registry.register(Registry.ITEM, new Identifier("dishes","pizzabox"), new BlockItem(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 AliasedBlockItem(PizzaSalami, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","pizzasalami"), PizzaSalami); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzaham"), new AliasedBlockItem(PizzaHam, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","pizzaham"), PizzaHam); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzatuna"), new AliasedBlockItem(PizzaTuna, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","pizzatuna"), PizzaTuna); - Registry.register(Registry.ITEM, new Identifier("dishes","pizzabacon"), new AliasedBlockItem(PizzaBacon, new Item.Settings().group(DishesMain.DishesGroup).food(new FoodComponent.Builder().hunger(10).saturationModifier(20f).build()))); + 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.BLOCK, new Identifier("dishes","pizzabacon"), PizzaBacon); - LootModifier.init(); - Flags.init(); - OreFeatures.init(); + // Ice Cream // + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_vanilla"), IceCreamVanilla); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_chocolate"), IceCreamChocolate); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_white_chocolate"), IceCreamWhiteChocolate); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_strawberry"), IceCreamStrawberry); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_banana"), IceCreamBanana); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_pear"), IceCreamPear); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_sweetberry"), IceCreamSweetberry); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_blueberry"), IceCreamBlueberry); + Registry.register(Registry.ITEM, new Identifier("dishes","ice_cream_bubblegum"), IceCreamBubblegum); + + // 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); + + // Compat // + if (FabricLoader.getInstance().isModLoaded("patchouli")) { + Registry.register(Registry.ITEM, new Identifier("dishes","cooking_guide"), CookingGuide); + } + if (FabricLoader.getInstance().isModLoaded("patchouli")) { + Flags.init(); + } + WorldGenInit.init(); } } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/LootModifier.java b/src/main/java/eu/midnightdust/motschen/dishes/LootModifier.java deleted file mode 100644 index 367c194..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/LootModifier.java +++ /dev/null @@ -1,31 +0,0 @@ -package eu.midnightdust.motschen.dishes; - -import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder; -import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback; -import net.minecraft.loot.UniformLootTableRange; -import net.minecraft.loot.condition.RandomChanceLootCondition; -import net.minecraft.loot.entry.ItemEntry; - -public class LootModifier { - - public static void init() { - LootTableLoadingCallback.EVENT.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(DishesMain.Tomato)); - supplier.pool(tomato); - } - }); - LootTableLoadingCallback.EVENT.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(DishesMain.Lettuce)); - supplier.pool(lettuce); - } - }); - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java new file mode 100644 index 0000000..e9746e5 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Cake.java @@ -0,0 +1,62 @@ +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/Dish.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java similarity index 55% rename from src/main/java/eu/midnightdust/motschen/dishes/Dish.java rename to src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java index 8cffe4a..75cfadd 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/Dish.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Dish.java @@ -1,54 +1,55 @@ -package eu.midnightdust.motschen.dishes; +package eu.midnightdust.motschen.dishes.block; +import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.blockstates.DishBites; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.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.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldView; -import static net.minecraft.state.property.Properties.BITES; - 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; public Dish() { - super(FabricBlockSettings.copy(Blocks.CAKE).nonOpaque().sounds(BlockSoundGroup.STONE)); - this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(BITES, 0)); + super(FabricBlockSettings.copy(Blocks.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(BITES)) { - case 0: world.setBlockState(pos, state.with(BITES, 1)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 1: world.setBlockState(pos, state.with(BITES, 2)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 2: world.setBlockState(pos, state.with(BITES, 3)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 3: world.setBlockState(pos, state.with(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; + 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; } return ActionResult.SUCCESS; } @@ -61,13 +62,12 @@ public class Dish extends HorizontalFacingBlock { public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) - .with(BITES, 0); + .with(DISH_BITES, 0); } @Override protected void appendProperties(StateManager.Builder builder) { - builder.add(FACING); - builder.add(BITES); + builder.add(FACING, DISH_BITES); } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { @@ -87,18 +87,6 @@ public class Dish extends HorizontalFacingBlock { 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]; - } 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 new file mode 100644 index 0000000..42ae0bc --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Lettuce.java @@ -0,0 +1,23 @@ +package eu.midnightdust.motschen.dishes.block; + +import eu.midnightdust.motschen.dishes.init.CropInit; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Blocks; +import net.minecraft.block.CropBlock; +import net.minecraft.item.ItemConvertible; + +public class Lettuce extends CropBlock { + + public Lettuce() { + super(FabricBlockSettings.copy(Blocks.CARROTS)); + } + + @Override + @Environment(EnvType.CLIENT) + protected ItemConvertible getSeedsItem() { + return CropInit.LettuceBush; + } +} + diff --git a/src/main/java/eu/midnightdust/motschen/dishes/Pizza.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java similarity index 52% rename from src/main/java/eu/midnightdust/motschen/dishes/Pizza.java rename to src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java index 924bd2d..a19ad3e 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/Pizza.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Pizza.java @@ -1,58 +1,58 @@ -package eu.midnightdust.motschen.dishes; +package eu.midnightdust.motschen.dishes.block; +import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.blockstates.DishBites; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.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.Properties; +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.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.World; import net.minecraft.world.WorldView; -import static net.minecraft.state.property.Properties.BITES; - 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; public Pizza() { - super(FabricBlockSettings.copy(Blocks.CAKE).nonOpaque().sounds(BlockSoundGroup.STONE)); - this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(BITES, 0)); + super(FabricBlockSettings.copy(Blocks.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(BITES)) { - case 0: world.setBlockState(pos, state.with(BITES, 1)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 1: world.setBlockState(pos, state.with(BITES, 2)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 2: world.setBlockState(pos, state.with(BITES, 3)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; - case 3: world.setBlockState(pos, state.with(BITES, 4)); - player.getHungerManager().add(2, 4); - return ActionResult.SUCCESS; + 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; + 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; @@ -68,13 +68,13 @@ public class Pizza extends HorizontalFacingBlock { public BlockState getPlacementState(ItemPlacementContext itemPlacementContext) { return super.getPlacementState(itemPlacementContext) .with(FACING, itemPlacementContext.getPlayerFacing().getOpposite()) - .with(BITES, 0); + .with(DISH_BITES, 0); } @Override protected void appendProperties(StateManager.Builder builder) { builder.add(FACING); - builder.add(BITES); + builder.add(DISH_BITES); } @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext context) { @@ -94,18 +94,6 @@ public class Pizza extends HorizontalFacingBlock { 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]; - } public boolean canPlaceAt(BlockState state, WorldView worldView, BlockPos pos) { return !worldView.isAir(pos.down()); } diff --git a/src/main/java/eu/midnightdust/motschen/dishes/Plate.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java similarity index 98% rename from src/main/java/eu/midnightdust/motschen/dishes/Plate.java rename to src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java index 54e6bfd..f7f9ea5 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/Plate.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Plate.java @@ -1,4 +1,4 @@ -package eu.midnightdust.motschen.dishes; +package eu.midnightdust.motschen.dishes.block; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; diff --git a/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java new file mode 100644 index 0000000..bd2b1d4 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/Tomato.java @@ -0,0 +1,23 @@ +package eu.midnightdust.motschen.dishes.block; + +import eu.midnightdust.motschen.dishes.init.CropInit; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Blocks; +import net.minecraft.block.CropBlock; +import net.minecraft.item.ItemConvertible; + +public class Tomato extends CropBlock { + + public Tomato() { + super(FabricBlockSettings.copy(Blocks.CARROTS)); + } + + @Override + @Environment(EnvType.CLIENT) + protected ItemConvertible getSeedsItem() { + return CropInit.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 new file mode 100644 index 0000000..9a9b626 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/block/blockentity/BirthdayCakeBlockEntity.java @@ -0,0 +1,52 @@ +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/DishBites.java b/src/main/java/eu/midnightdust/motschen/dishes/blockstates/DishBites.java new file mode 100644 index 0000000..e28667c --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/blockstates/DishBites.java @@ -0,0 +1,10 @@ +package eu.midnightdust.motschen.dishes.blockstates; + +import net.minecraft.state.property.IntProperty; + +public class DishBites { + public static final IntProperty DISH_BITES; + static { + DISH_BITES = IntProperty.of("bites", 0, 4); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java new file mode 100644 index 0000000..343e98e --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/CookingGuideItem.java @@ -0,0 +1,28 @@ +package eu.midnightdust.motschen.dishes.compat; + +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Hand; +import net.minecraft.util.Identifier; +import net.minecraft.util.TypedActionResult; +import net.minecraft.util.registry.Registry; +import net.minecraft.world.World; + +import java.util.Optional; + +public class CookingGuideItem extends Item { + public CookingGuideItem(Item.Settings settings) { + super(settings); + } + public TypedActionResult use(World world, PlayerEntity user, Hand hand) { + ItemStack itemStack = user.getStackInHand(hand); + + Optional item = Registry.ITEM.getOrEmpty(new Identifier("patchouli", "guide_book")); + ItemStack stack = new ItemStack(item.get()); + stack.getOrCreateTag().putString("patchouli:book", "dishes:cooking_guide"); + + user.setStackInHand(hand, stack); + return TypedActionResult.pass(itemStack); + } +} \ No newline at end of file diff --git a/src/main/java/eu/midnightdust/motschen/dishes/Flags.java b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java similarity index 94% rename from src/main/java/eu/midnightdust/motschen/dishes/Flags.java rename to src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java index f360e05..c3435ab 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/Flags.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/compat/Flags.java @@ -1,4 +1,4 @@ -package eu.midnightdust.motschen.dishes; +package eu.midnightdust.motschen.dishes.compat; import net.minecraft.item.Item; import net.minecraft.util.Identifier; diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java new file mode 100644 index 0000000..7f68d34 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/DishesConfig.java @@ -0,0 +1,21 @@ +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(); +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java b/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java new file mode 100644 index 0000000..3f1ed7c --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/IceCreamTraderConfig.java @@ -0,0 +1,14 @@ +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 new file mode 100644 index 0000000..187559b --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/MainConfig.java @@ -0,0 +1,13 @@ +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 new file mode 100644 index 0000000..7597c65 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/ModMenuIntegration.java @@ -0,0 +1,16 @@ +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 new file mode 100644 index 0000000..3e8509c --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/config/WorldGenConfig.java @@ -0,0 +1,14 @@ +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 new file mode 100644 index 0000000..1d85211 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderEntity.java @@ -0,0 +1,29 @@ +package eu.midnightdust.motschen.dishes.entities; + +import net.minecraft.entity.EntityType; +import net.minecraft.entity.passive.WanderingTraderEntity; +import net.minecraft.village.TradeOffer; +import net.minecraft.village.TradeOffers; +import net.minecraft.village.TraderOfferList; +import net.minecraft.world.World; + +public class IceCreamTraderEntity extends WanderingTraderEntity { + public IceCreamTraderEntity(EntityType entityType, World world) { + super(entityType, world); + } + + @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); + } + } + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java new file mode 100644 index 0000000..d44519a --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderSpawn.java @@ -0,0 +1,84 @@ +package eu.midnightdust.motschen.dishes.entities; + +import eu.midnightdust.motschen.dishes.init.IceCreamTraderInit; +import net.minecraft.entity.EntityType; +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.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; +import java.util.Random; + +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); + } + } + } + } + + private static void spawnTrader(ServerWorld serverWorld) { + PlayerEntity playerentity = serverWorld.getRandomAlivePlayer(); + ServerWorldProperties serverWorldProperties = serverWorld.getServer().getSaveProperties().getMainWorldProperties(); + 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); + 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); + if (traderEntity != null) { + serverWorldProperties.setWanderingTraderId(traderEntity.getUuid()); + traderEntity.setDespawnDelay(32000); + traderEntity.setWanderTarget(blockPos2); + traderEntity.setPositionTarget(blockPos2, 16); + } + } + } + } + + private static BlockPos getLlamaSpawnPosition(WorldView worldView, BlockPos blockPos, int i) { + Random random = new Random(); + BlockPos blockPos2 = null; + for (int j = 0; j < 10; ++j) { + int k = blockPos.getX() + random.nextInt(i * 2) - i; + int l = blockPos.getZ() + random.nextInt(i * 2) - i; + int m = worldView.getTopY(Heightmap.Type.WORLD_SURFACE, k, l); + BlockPos blockPos3 = new BlockPos(k, m, l); + if (SpawnHelper.canSpawn(SpawnRestriction.Location.ON_GROUND, worldView, blockPos3, EntityType.WANDERING_TRADER)) { + blockPos2 = blockPos3; + break; + } + } + return blockPos2; + } + + + private static boolean wontSuffocateAt(BlockView blockView, BlockPos blockPos) { + Iterator var3 = BlockPos.iterate(blockPos, blockPos.add(1, 2, 1)).iterator(); + BlockPos blockPos2; + do { + if (!var3.hasNext()) { + return true; + } + blockPos2 = (BlockPos) 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 new file mode 100644 index 0000000..704d656 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/IceCreamTraderTradeOffers.java @@ -0,0 +1,65 @@ +package eu.midnightdust.motschen.dishes.entities; + +import com.google.common.collect.ImmutableMap; +import eu.midnightdust.motschen.dishes.DishesMain; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +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); + } + + 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.IceCreamChocolate, 1, 1, 10, 3), + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamWhiteChocolate, 1, 1, 10, 3), + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamStrawberry, 1, 1, 10, 3), + new IceCreamTraderTradeOffers.SellItemFactory(DishesMain.IceCreamBanana, 1, 1, 10, 3), + 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)})); + } + + static class SellItemFactory implements TradeOffers.Factory { + private final ItemStack sell; + private final int price; + private final int count; + private final int maxUses; + private final int experience; + private final float multiplier; + + public SellItemFactory(Item item, int price, int count, int maxUses, int experience) { + this(new ItemStack(item), price, count, maxUses, experience); + } + + public SellItemFactory(ItemStack stack, int price, int count, int maxUses, int experience) { + this(stack, price, count, maxUses, experience, 0.05F); + } + + public SellItemFactory(ItemStack stack, int price, int count, int maxUses, int experience, float multiplier) { + this.sell = stack; + this.price = price; + this.count = count; + this.maxUses = maxUses; + this.experience = experience; + this.multiplier = multiplier; + } + + public TradeOffer create(Entity entity, Random random) { + return new TradeOffer(new ItemStack(Items.EMERALD, this.price), new ItemStack(this.sell.getItem(), this.count), this.maxUses, this.experience, this.multiplier); + } + } +} 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 new file mode 100644 index 0000000..b93359d --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/entities/client/IceCreamTraderRenderer.java @@ -0,0 +1,22 @@ +package eu.midnightdust.motschen.dishes.entities.client; + +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.MobEntityRenderer; +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); + } + + @Override + public Identifier getTexture(IceCreamTraderEntity entity) { + return new Identifier("dishes", "textures/entity/ice_cream_seller.png"); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java new file mode 100644 index 0000000..d827dc5 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/BlockEntityInit.java @@ -0,0 +1,16 @@ +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 new file mode 100644 index 0000000..1a81246 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/CropInit.java @@ -0,0 +1,35 @@ +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 (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); + } + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java new file mode 100644 index 0000000..d9821c9 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/IceCreamTraderInit.java @@ -0,0 +1,26 @@ +package eu.midnightdust.motschen.dishes.init; + +import eu.midnightdust.motschen.dishes.DishesMain; +import eu.midnightdust.motschen.dishes.entities.IceCreamTraderEntity; +import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry; +import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; +import net.minecraft.entity.EntityDimensions; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.SpawnGroup; +import net.minecraft.entity.attribute.EntityAttributes; +import net.minecraft.entity.mob.MobEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.SpawnEggItem; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +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()); + + 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))); + FabricDefaultAttributeRegistry.register(ICE_CREAM_TRADER, MobEntity.createMobAttributes().add(EntityAttributes.GENERIC_MAX_HEALTH, 20.0D)); + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java new file mode 100644 index 0000000..0a6e8d7 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/init/WorldGenInit.java @@ -0,0 +1,32 @@ +package eu.midnightdust.motschen.dishes.init; + +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) { + OreFeatures.init(); + OreFeatureInjector.init(); + } + + if (config.trader.enabled == true && config.trader.spawntrader == true) { + ServerTickEvents.END_SERVER_TICK.register(minecraftServer -> { + ServerWorld world = minecraftServer.getOverworld(); + IceCreamTraderSpawn.tick(world); + }); + } + } +} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/mixin/DefaultBiomeFeaturesMixin.java b/src/main/java/eu/midnightdust/motschen/dishes/mixin/DefaultBiomeFeaturesMixin.java deleted file mode 100644 index 0bce905..0000000 --- a/src/main/java/eu/midnightdust/motschen/dishes/mixin/DefaultBiomeFeaturesMixin.java +++ /dev/null @@ -1,18 +0,0 @@ -package eu.midnightdust.motschen.dishes.mixin; - -import eu.midnightdust.motschen.dishes.OreFeatures; -import net.minecraft.world.biome.GenerationSettings.Builder; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.feature.DefaultBiomeFeatures; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(DefaultBiomeFeatures.class) -public class DefaultBiomeFeaturesMixin { - @Inject(at = @At("RETURN"), method = "addDefaultOres") - private static void addDefaultOres(Builder builder, CallbackInfo info) { - builder.feature(GenerationStep.Feature.UNDERGROUND_ORES, OreFeatures.SALT_ORE_FEATURE); - } -} diff --git a/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java b/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java new file mode 100644 index 0000000..8699725 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/mixin/GenerationSettingsAccessorMixin.java @@ -0,0 +1,19 @@ +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 new file mode 100644 index 0000000..fc58e95 --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/LootModifier.java @@ -0,0 +1,63 @@ +package eu.midnightdust.motschen.dishes.world; + +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 net.fabricmc.loader.api.FabricLoader; +import net.minecraft.loot.UniformLootTableRange; +import net.minecraft.loot.condition.RandomChanceLootCondition; +import net.minecraft.loot.entry.ItemEntry; + +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()) + .with(ItemEntry.builder(DishesMain.Spaceburger)); + supplier.pool(spaceburger); + } + }); + } + if (FabricLoader.getInstance().isModLoaded("patchouli")) { + LootTableLoadingCallback.EVENT.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()) + .with(ItemEntry.builder(DishesMain.CookingGuide)); + supplier.pool(patchouli); + } + }); + } + if (config.main.tomatoes == true) { + LootTableLoadingCallback.EVENT.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)); + supplier.pool(tomato); + } + }); + } + if (config.main.lettuce == true) { + LootTableLoadingCallback.EVENT.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)); + 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 new file mode 100644 index 0000000..c4452af --- /dev/null +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatureInjector.java @@ -0,0 +1,44 @@ +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/OreFeatures.java b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java similarity index 88% rename from src/main/java/eu/midnightdust/motschen/dishes/OreFeatures.java rename to src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java index a71ce6b..eebb787 100644 --- a/src/main/java/eu/midnightdust/motschen/dishes/OreFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/dishes/world/OreFeatures.java @@ -1,5 +1,6 @@ -package eu.midnightdust.motschen.dishes; +package eu.midnightdust.motschen.dishes.world; +import eu.midnightdust.motschen.dishes.DishesMain; import net.minecraft.util.Identifier; import net.minecraft.util.registry.BuiltinRegistries; import net.minecraft.util.registry.Registry; diff --git a/src/main/resources/assets/dishes/blockstates/birthday_cake.json b/src/main/resources/assets/dishes/blockstates/birthday_cake.json new file mode 100644 index 0000000..d73fbb7 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/birthday_cake.json @@ -0,0 +1,11 @@ +{ + "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/cheeseburger.json b/src/main/resources/assets/dishes/blockstates/cheeseburger.json index 1f2ea6b..fbbb296 100644 --- a/src/main/resources/assets/dishes/blockstates/cheeseburger.json +++ b/src/main/resources/assets/dishes/blockstates/cheeseburger.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/cheeseburger4" }, "facing=east,bites=4": { "model": "dishes:block/cheeseburger4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/cheeseburger4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/cheeseburger4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/cheeseburger4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/chickenburger.json b/src/main/resources/assets/dishes/blockstates/chickenburger.json index fe3e0bd..b16aa4c 100644 --- a/src/main/resources/assets/dishes/blockstates/chickenburger.json +++ b/src/main/resources/assets/dishes/blockstates/chickenburger.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/chickenburger4" }, "facing=east,bites=4": { "model": "dishes:block/chickenburger4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/chickenburger4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/chickenburger4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/chickenburger4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/fishandchips.json b/src/main/resources/assets/dishes/blockstates/fishandchips.json index 85487da..f820388 100644 --- a/src/main/resources/assets/dishes/blockstates/fishandchips.json +++ b/src/main/resources/assets/dishes/blockstates/fishandchips.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/fishandchips4" }, "facing=east,bites=4": { "model": "dishes:block/fishandchips4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/fishandchips4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/fishandchips4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/fishandchips4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/hamburger.json b/src/main/resources/assets/dishes/blockstates/hamburger.json index 650b1d1..8adc948 100644 --- a/src/main/resources/assets/dishes/blockstates/hamburger.json +++ b/src/main/resources/assets/dishes/blockstates/hamburger.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/hamburger4" }, "facing=east,bites=4": { "model": "dishes:block/hamburger4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/hamburger4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/hamburger4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/hamburger4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/pizzabacon.json b/src/main/resources/assets/dishes/blockstates/pizzabacon.json index e1d8c98..e48c7f0 100644 --- a/src/main/resources/assets/dishes/blockstates/pizzabacon.json +++ b/src/main/resources/assets/dishes/blockstates/pizzabacon.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/pizzabacon4" }, "facing=east,bites=4": { "model": "dishes:block/pizzabacon4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/pizzabacon4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/pizzabacon4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/pizzabacon4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/pizzaham.json b/src/main/resources/assets/dishes/blockstates/pizzaham.json index a5955ca..2df9e4b 100644 --- a/src/main/resources/assets/dishes/blockstates/pizzaham.json +++ b/src/main/resources/assets/dishes/blockstates/pizzaham.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/pizzaham4" }, "facing=east,bites=4": { "model": "dishes:block/pizzaham4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/pizzaham4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/pizzaham4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/pizzaham4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/pizzasalami.json b/src/main/resources/assets/dishes/blockstates/pizzasalami.json index d877cf4..6d6ab78 100644 --- a/src/main/resources/assets/dishes/blockstates/pizzasalami.json +++ b/src/main/resources/assets/dishes/blockstates/pizzasalami.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/pizzasalami4" }, "facing=east,bites=4": { "model": "dishes:block/pizzasalami4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/pizzasalami4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/pizzasalami4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/pizzasalami4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/pizzatuna.json b/src/main/resources/assets/dishes/blockstates/pizzatuna.json index 9fed872..b0cf239 100644 --- a/src/main/resources/assets/dishes/blockstates/pizzatuna.json +++ b/src/main/resources/assets/dishes/blockstates/pizzatuna.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/pizzatuna4" }, "facing=east,bites=4": { "model": "dishes:block/pizzatuna4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/pizzatuna4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/pizzatuna4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/pizzatuna4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/potatoeswithcurdcheese.json b/src/main/resources/assets/dishes/blockstates/potatoeswithcurdcheese.json index 4ec5cdd..cda5827 100644 --- a/src/main/resources/assets/dishes/blockstates/potatoeswithcurdcheese.json +++ b/src/main/resources/assets/dishes/blockstates/potatoeswithcurdcheese.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/potatoeswithcurdcheese4" }, "facing=east,bites=4": { "model": "dishes:block/potatoeswithcurdcheese4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/potatoeswithcurdcheese4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/potatoeswithcurdcheese4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/potatoeswithcurdcheese4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/schnitzel.json b/src/main/resources/assets/dishes/blockstates/schnitzel.json index 0466909..6ccddfb 100644 --- a/src/main/resources/assets/dishes/blockstates/schnitzel.json +++ b/src/main/resources/assets/dishes/blockstates/schnitzel.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/schnitzel4" }, "facing=east,bites=4": { "model": "dishes:block/schnitzel4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/schnitzel4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/schnitzel4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/schnitzel4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/spaceburger.json b/src/main/resources/assets/dishes/blockstates/spaceburger.json new file mode 100644 index 0000000..040bbc0 --- /dev/null +++ b/src/main/resources/assets/dishes/blockstates/spaceburger.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north,bites=0": { "model": "dishes:block/spaceburger" }, + "facing=east,bites=0": { "model": "dishes:block/spaceburger", "y": 90 }, + "facing=south,bites=0": { "model": "dishes:block/spaceburger", "y": 180 }, + "facing=west,bites=0": { "model": "dishes:block/spaceburger", "y": 270 }, + "facing=north,bites=1": { "model": "dishes:block/spaceburger1" }, + "facing=east,bites=1": { "model": "dishes:block/spaceburger1", "y": 90 }, + "facing=south,bites=1": { "model": "dishes:block/spaceburger1", "y": 180 }, + "facing=west,bites=1": { "model": "dishes:block/spaceburger1", "y": 270 }, + "facing=north,bites=2": { "model": "dishes:block/spaceburger2" }, + "facing=east,bites=2": { "model": "dishes:block/spaceburger2", "y": 90 }, + "facing=south,bites=2": { "model": "dishes:block/spaceburger2", "y": 180 }, + "facing=west,bites=2": { "model": "dishes:block/spaceburger2", "y": 270 }, + "facing=north,bites=3": { "model": "dishes:block/spaceburger3" }, + "facing=east,bites=3": { "model": "dishes:block/spaceburger3", "y": 90 }, + "facing=south,bites=3": { "model": "dishes:block/spaceburger3", "y": 180 }, + "facing=west,bites=3": { "model": "dishes:block/spaceburger3", "y": 270 }, + "facing=north,bites=4": { "model": "dishes:block/spaceburger4" }, + "facing=east,bites=4": { "model": "dishes:block/spaceburger4", "y": 90 }, + "facing=south,bites=4": { "model": "dishes:block/spaceburger4", "y": 180 }, + "facing=west,bites=4": { "model": "dishes:block/spaceburger4", "y": 270 } + } +} diff --git a/src/main/resources/assets/dishes/blockstates/spaghetti_bolognese.json b/src/main/resources/assets/dishes/blockstates/spaghetti_bolognese.json index 050463a..7e2d934 100644 --- a/src/main/resources/assets/dishes/blockstates/spaghetti_bolognese.json +++ b/src/main/resources/assets/dishes/blockstates/spaghetti_bolognese.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/spaghetti_bolognese4" }, "facing=east,bites=4": { "model": "dishes:block/spaghetti_bolognese4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/spaghetti_bolognese4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/spaghetti_bolognese4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/spaghetti_bolognese4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/steak.json b/src/main/resources/assets/dishes/blockstates/steak.json index 9726892..5286eb0 100644 --- a/src/main/resources/assets/dishes/blockstates/steak.json +++ b/src/main/resources/assets/dishes/blockstates/steak.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/steak4" }, "facing=east,bites=4": { "model": "dishes:block/steak4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/steak4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/steak4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/steak4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/blockstates/tinypotatoeswithcurdcheese.json b/src/main/resources/assets/dishes/blockstates/tinypotatoeswithcurdcheese.json index 0f73575..45be558 100644 --- a/src/main/resources/assets/dishes/blockstates/tinypotatoeswithcurdcheese.json +++ b/src/main/resources/assets/dishes/blockstates/tinypotatoeswithcurdcheese.json @@ -19,14 +19,6 @@ "facing=north,bites=4": { "model": "dishes:block/tinypotatoeswithcurdcheese4" }, "facing=east,bites=4": { "model": "dishes:block/tinypotatoeswithcurdcheese4", "y": 90 }, "facing=south,bites=4": { "model": "dishes:block/tinypotatoeswithcurdcheese4", "y": 180 }, - "facing=west,bites=4": { "model": "dishes:block/tinypotatoeswithcurdcheese4", "y": 270 }, - "facing=north,bites=5": { "model": "block/air" }, - "facing=east,bites=5": { "model": "block/air" }, - "facing=south,bites=5": { "model": "block/air" }, - "facing=west,bites=5": { "model": "block/air" }, - "facing=north,bites=6": { "model": "block/air" }, - "facing=east,bites=6": { "model": "block/air" }, - "facing=south,bites=6": { "model": "block/air" }, - "facing=west,bites=6": { "model": "block/air" } + "facing=west,bites=4": { "model": "dishes:block/tinypotatoeswithcurdcheese4", "y": 270 } } } diff --git a/src/main/resources/assets/dishes/icon.png b/src/main/resources/assets/dishes/icon.png index 218d6c2..1be5551 100644 Binary files a/src/main/resources/assets/dishes/icon.png and b/src/main/resources/assets/dishes/icon.png differ diff --git a/src/main/resources/assets/dishes/lang/de_de.json b/src/main/resources/assets/dishes/lang/de_de.json index ee5077f..be62f2f 100644 --- a/src/main/resources/assets/dishes/lang/de_de.json +++ b/src/main/resources/assets/dishes/lang/de_de.json @@ -1,22 +1,10 @@ { - "itemGroup.dishes.dishes":"Delicious Dishes", + "itemGroup.dishes.main":"Delicious Dishes - Allgemein", + "itemGroup.dishes.dishes":"Delicious Dishes - Gerichte", + "itemGroup.dishes.pizza":"Delicious Dishes - Pizza", "text.dishes.landing_text":"Dies ist ein Kochbuch, das dir beim Zubereiten der Gerichte der Mod Delicious Dishes hilft", "book.dishes.cooking_guide":"Kochbuch", - "item.dishes.plate":"Teller", - "item.dishes.pizzabox":"Leerer Pizzakarton", - "item.dishes.potatoeswithcurdcheese":"Kartoffeln mit Quark", - "item.dishes.tinypotatoeswithcurdcheese":"Tiny Potatoes mit Quark", - "item.dishes.schnitzel":"Schnitzel", - "item.dishes.pizzasalami":"Pizza Salami", - "item.dishes.pizzaham":"Pizza Ham", - "item.dishes.pizzatuna":"Pizza Tuhnfisch", - "item.dishes.pizzabacon":"Pizza Bacon", - "item.dishes.spaghetti_bolognese":"Spaghetti Bolognese", - "item.dishes.steak":"Steak", - "item.dishes.hamburger":"Hamburger", - "item.dishes.chickenburger":"Chickenburger", - "item.dishes.cheeseburger":"Cheeseburger", - "item.dishes.fishandchips":"Fish and Chips", + "item.dishes.cooking_guide":"Kochbuch", "item.dishes.flour":"Mehl", "item.dishes.raw_spaghetti":"Rohe Spaghetti", "item.dishes.spaghetti":"Spaghetti", @@ -51,5 +39,20 @@ "block.dishes.hamburger":"Hamburger", "block.dishes.chickenburger":"Chickenburger", "block.dishes.cheeseburger":"Cheeseburger", - "block.dishes.fishandchips":"Fish and Chips" + "block.dishes.fishandchips":"Fish and Chips", + + "itemGroup.dishes.sweets":"Delicious Dishes - Süßigkeiten", + "item.dishes.ice_cream_vanilla":"Vanilleeis", + "item.dishes.ice_cream_strawberry":"Erdbeereis", + "item.dishes.ice_cream_banana":"Bananeneis", + "item.dishes.ice_cream_pear":"Birneneis", + "item.dishes.ice_cream_sweetberry":"Süßbeereis", + "item.dishes.ice_cream_blueberry":"Blaubeereis", + "item.dishes.ice_cream_bubblegum":"Kaugummieis", + "item.dishes.ice_cream_chocolate":"Schokoladeneis", + "item.dishes.ice_cream_white_chocolate":"Weißes Schokoladeneis", + "item.dishes.ice_cream_trader_spawn_egg":"Erschaffe Eiscremeverkäufer", + "entity.dishes.ice_cream_trader":"Eiscremeverkäufer", + + "block.dishes.birthday_cake": "Geburtstagskuchen" } \ 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 971361d..34693c0 100644 --- a/src/main/resources/assets/dishes/lang/en_us.json +++ b/src/main/resources/assets/dishes/lang/en_us.json @@ -1,22 +1,10 @@ { - "itemGroup.dishes.dishes":"Delicious Dishes", + "itemGroup.dishes.main":"Delicious Dishes - Main", + "itemGroup.dishes.dishes":"Delicious Dishes - Dishes", + "itemGroup.dishes.pizza":"Delicious Dishes - Pizza", "text.dishes.landing_text":"This is a guide on how to cook the different dishes added by Delicious Dishes. We have dishes of many countries including Germany, Italy, USA, Britain, and many more!", "book.dishes.cooking_guide":"Cooking Guide", - "item.dishes.plate":"Plate", - "item.dishes.pizzabox":"Empty Pizzabox", - "item.dishes.potatoeswithcurdcheese":"Potatoes with Curd Cheese", - "item.dishes.tinypotatoeswithcurdcheese":"Tiny Potatoes with Curd Cheese", - "item.dishes.schnitzel":"Schnitzel", - "item.dishes.pizzasalami":"Pizza Salami", - "item.dishes.pizzaham":"Pizza Ham", - "item.dishes.pizzatuna":"Pizza Tuna", - "item.dishes.pizzabacon":"Pizza Bacon", - "item.dishes.spaghetti_bolognese":"Spaghetti Bolognese", - "item.dishes.steak":"Steak", - "item.dishes.hamburger":"Hamburger", - "item.dishes.chickenburger":"Chickenburger", - "item.dishes.cheeseburger":"Cheeseburger", - "item.dishes.fishandchips":"Fish and Chips", + "item.dishes.cooking_guide":"Cooking Guide", "item.dishes.flour":"Flour", "item.dishes.raw_spaghetti":"Raw Spaghetti", "item.dishes.spaghetti":"Spaghetti", @@ -51,5 +39,33 @@ "block.dishes.hamburger":"Hamburger", "block.dishes.chickenburger":"Chickenburger", "block.dishes.cheeseburger":"Cheeseburger", - "block.dishes.fishandchips":"Fish and Chips" + "block.dishes.spaceburger":"Spaceburger", + "block.dishes.fishandchips":"Fish and Chips", + + "itemGroup.dishes.sweets":"Delicious Dishes - Sweets", + "item.dishes.ice_cream_vanilla":"Vanilla Ice Cream", + "item.dishes.ice_cream_strawberry":"Strawberry Ice Cream", + "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_blueberry":"Blueberry Ice Cream", + "item.dishes.ice_cream_bubblegum":"Bubblegum Ice Cream", + "item.dishes.ice_cream_chocolate":"Chocolate Ice Cream", + "item.dishes.ice_cream_white_chocolate":"White Chocolate Ice Cream", + "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", + + "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" } \ 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 fdd928a..324ec8c 100644 --- a/src/main/resources/assets/dishes/lang/zh_cn.json +++ b/src/main/resources/assets/dishes/lang/zh_cn.json @@ -1,22 +1,10 @@ { - "itemGroup.dishes.dishes":"美味佳肴", + "itemGroup.dishes.main":"美味佳肴 - 主要", + "itemGroup.dishes.dishes":"美味佳肴 - 菜式", + "itemGroup.dishes.pizza":"美味佳肴 - 比萨", "text.dishes.landing_text":"这是本教你如何煮出美味佳肴的指南。你可以煮出世界各地的美食!", "book.dishes.cooking_guide":"烹饪指南", - "item.dishes.plate":"盘子", - "item.dishes.pizzabox":"空披萨盒", - "item.dishes.potatoeswithcurdcheese":"芝士土豆", - "item.dishes.tinypotatoeswithcurdcheese":"小份芝士土豆", - "item.dishes.schnitzel":"炸猪排", - "item.dishes.pizzasalami":"萨拉米披萨", - "item.dishes.pizzaham":"披萨火腿", - "item.dishes.pizzatuna":"披萨金枪鱼", - "item.dishes.pizzabacon":"披萨培根", - "item.dishes.spaghetti_bolognese":"意大利肉酱面", - "item.dishes.steak":"牛排", - "item.dishes.hamburger":"汉堡", - "item.dishes.chickenburger":"鸡肉汉堡", - "item.dishes.cheeseburger":"芝士汉堡", - "item.dishes.fishandchips":"炸鱼薯条", + "item.dishes.cooking_guide":"烹饪指南", "item.dishes.flour":"面粉", "item.dishes.raw_spaghetti":"意大利面条", "item.dishes.spaghetti":"意大利面", @@ -51,5 +39,20 @@ "block.dishes.hamburger":"汉堡", "block.dishes.chickenburger":"鸡肉汉堡", "block.dishes.cheeseburger":"芝士汉堡", - "block.dishes.fishandchips":"炸鱼薯条" + "block.dishes.fishandchips":"炸鱼薯条", + + "itemGroup.dishes.sweets":"美味佳肴 - 甜食", + "item.dishes.ice_cream_vanilla":"香草冰激凌", + "item.dishes.ice_cream_strawberry":"草莓冰淇淋", + "item.dishes.ice_cream_banana":"香蕉冰淇淋", + "item.dishes.ice_cream_pear":"梨冰淇淋", + "item.dishes.ice_cream_sweetberry":"草莓冰淇淋", + "item.dishes.ice_cream_blueberry":"蓝莓冰淇淋", + "item.dishes.ice_cream_bubblegum":"泡泡糖冰淇淋", + "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": "生日蛋糕" } diff --git a/src/main/resources/assets/dishes/models/block/birthday_cake.json b/src/main/resources/assets/dishes/models/block/birthday_cake.json new file mode 100644 index 0000000..ee804f5 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake.json @@ -0,0 +1,339 @@ +{ + "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 new file mode 100644 index 0000000..266cfaf --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice1.json @@ -0,0 +1,301 @@ +{ + "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 new file mode 100644 index 0000000..9d63997 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice2.json @@ -0,0 +1,225 @@ +{ + "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 new file mode 100644 index 0000000..726c2df --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice3.json @@ -0,0 +1,225 @@ +{ + "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 new file mode 100644 index 0000000..636a06e --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice4.json @@ -0,0 +1,149 @@ +{ + "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 new file mode 100644 index 0000000..4d562ea --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice5.json @@ -0,0 +1,149 @@ +{ + "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 new file mode 100644 index 0000000..607adb3 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/birthday_cake_slice6.json @@ -0,0 +1,73 @@ +{ + "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/spaceburger.json b/src/main/resources/assets/dishes/models/block/spaceburger.json new file mode 100644 index 0000000..89b6389 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/spaceburger.json @@ -0,0 +1,12 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger", + "textures": { + "0": "block/quartz_block_side", + "1": "dishes:item/space_bread", + "2": "dishes:item/space_beef", + "3": "block/carrots_stage3", + "4": "block/red_terracotta", + "particle": "block/quartz_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/spaceburger1.json b/src/main/resources/assets/dishes/models/block/spaceburger1.json new file mode 100644 index 0000000..d1c810e --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/spaceburger1.json @@ -0,0 +1,12 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger1", + "textures": { + "0": "block/quartz_block_side", + "1": "dishes:item/space_bread", + "2": "dishes:item/space_beef", + "3": "block/carrots_stage3", + "4": "block/red_terracotta", + "particle": "block/quartz_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/spaceburger2.json b/src/main/resources/assets/dishes/models/block/spaceburger2.json new file mode 100644 index 0000000..5c4c0e4 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/spaceburger2.json @@ -0,0 +1,12 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger2", + "textures": { + "0": "block/quartz_block_side", + "1": "dishes:item/space_bread", + "2": "dishes:item/space_beef", + "3": "block/carrots_stage3", + "4": "block/red_terracotta", + "particle": "block/quartz_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/spaceburger3.json b/src/main/resources/assets/dishes/models/block/spaceburger3.json new file mode 100644 index 0000000..b4517bd --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/spaceburger3.json @@ -0,0 +1,12 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger3", + "textures": { + "0": "block/quartz_block_side", + "1": "dishes:item/space_bread", + "2": "dishes:item/space_beef", + "3": "block/carrots_stage3", + "4": "block/red_terracotta", + "particle": "block/quartz_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/block/spaceburger4.json b/src/main/resources/assets/dishes/models/block/spaceburger4.json new file mode 100644 index 0000000..36e0565 --- /dev/null +++ b/src/main/resources/assets/dishes/models/block/spaceburger4.json @@ -0,0 +1,12 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:block/hamburger4", + "textures": { + "0": "block/quartz_block_side", + "1": "dishes:item/space_bread", + "2": "dishes:item/space_beef", + "3": "block/carrots_stage3", + "4": "block/red_terracotta", + "particle": "block/quartz_block_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/birthday_cake.json b/src/main/resources/assets/dishes/models/item/birthday_cake.json new file mode 100644 index 0000000..7d5089e --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/birthday_cake.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/birthday_cake" +} diff --git a/src/main/resources/assets/dishes/models/item/cooking_guide.json b/src/main/resources/assets/dishes/models/item/cooking_guide.json new file mode 100644 index 0000000..1c2e963 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/cooking_guide.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "patchouli:items/book_gray" + } +} diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_banana.json b/src/main/resources/assets/dishes/models/item/ice_cream_banana.json new file mode 100644 index 0000000..64af4d1 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_banana.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_banana" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_blueberry.json b/src/main/resources/assets/dishes/models/item/ice_cream_blueberry.json new file mode 100644 index 0000000..b4dc07f --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_blueberry.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_blueberry" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_bubblegum.json b/src/main/resources/assets/dishes/models/item/ice_cream_bubblegum.json new file mode 100644 index 0000000..09cacea --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_bubblegum.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_bubblegum" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_chocolate.json b/src/main/resources/assets/dishes/models/item/ice_cream_chocolate.json new file mode 100644 index 0000000..6317b8a --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_chocolate.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_chocolate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_pear.json b/src/main/resources/assets/dishes/models/item/ice_cream_pear.json new file mode 100644 index 0000000..34409de --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_pear.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_pear" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_strawberry.json b/src/main/resources/assets/dishes/models/item/ice_cream_strawberry.json new file mode 100644 index 0000000..8eafe25 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_strawberry.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_strawberry" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_sweetberry.json b/src/main/resources/assets/dishes/models/item/ice_cream_sweetberry.json new file mode 100644 index 0000000..8601c81 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_sweetberry.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_sweetberry" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_trader_spawn_egg.json b/src/main/resources/assets/dishes/models/item/ice_cream_trader_spawn_egg.json new file mode 100644 index 0000000..765225c --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_trader_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} 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 new file mode 100644 index 0000000..9386ace --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_vanilla.json @@ -0,0 +1,281 @@ +{ + "credit": "made by Motschen", + "parent": "block/block", + "textures": { + "0": "dishes:item/ice_cream_waffle", + "1": "dishes:item/ice_cream_vanilla", + "particle": "#1" + }, + "elements": [ + { + "from": [7, 0, 7], + "to": [9, 1, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 9, 15]}, + "faces": { + "north": {"uv": [0, 0, 2.5, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 2.5, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 2.5, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 2.5, 1], "texture": "#0"}, + "down": {"uv": [0, 0.5, 0.5, 1], "texture": "#0"} + } + }, + { + "from": [6, 2, 6], + "to": [10, 3, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 10, 15]}, + "faces": { + "north": {"uv": [0, 0, 4.5, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 4.5, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 4.5, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 4.5, 1], "texture": "#0"}, + "down": {"uv": [0.5, 0, 1, 0.5], "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 8, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 13, 15]}, + "faces": { + "north": {"uv": [0, 0, 6.5, 3], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 3], "texture": "#0"}, + "south": {"uv": [0, 0, 6.5, 3], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 3], "texture": "#0"}, + "down": {"uv": [0.5, 0.5, 6, 6], "texture": "#0"} + } + }, + { + "from": [4, 11, 11], + "to": [12, 15, 12], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 15]}, + "faces": { + "north": {"uv": [0, 0, 8.5, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 4.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8.5, 4.5], "texture": "#0"}, + "west": {"uv": [0.5, 0, 1.5, 4.5], "texture": "#0"}, + "up": {"uv": [0.5, 0, 8, 1], "texture": "#0"}, + "down": {"uv": [0.5, 0.5, 8, 1.5], "texture": "#0"} + } + }, + { + "from": [4, 11, 4], + "to": [12, 15, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 8]}, + "faces": { + "north": {"uv": [0, 0, 8.5, 4.5], "texture": "#0"}, + "east": {"uv": [0.5, 0, 1.5, 4.5], "texture": "#0"}, + "south": {"uv": [0, 0, 8.5, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 4.5], "texture": "#0"}, + "up": {"uv": [0.5, 0.5, 8, 1.5], "texture": "#0"}, + "down": {"uv": [0.5, 0, 8, 1], "texture": "#0"} + } + }, + { + "from": [4, 11, 5], + "to": [5, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 19, 9]}, + "faces": { + "north": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 4.5], "texture": "#0"}, + "up": {"uv": [0.5, 0.5, 1.5, 6], "texture": "#0"}, + "down": {"uv": [0.5, 0, 1.5, 6], "texture": "#0"} + } + }, + { + "from": [11, 11, 5], + "to": [12, 15, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [22, 19, 9]}, + "faces": { + "north": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 4.5], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 6.5, 4], "texture": "#0"}, + "up": {"uv": [0, 0.5, 1, 6], "texture": "#0"}, + "down": {"uv": [0, 0.5, 1, 6.5], "texture": "#0"} + } + }, + { + "from": [6.5, 1, 6.5], + "to": [9.5, 2, 9.5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 9, 15]}, + "faces": { + "north": {"uv": [0, 0, 3.5, 1], "texture": "#0"}, + "east": {"uv": [0, 0, 3.5, 1], "texture": "#0"}, + "south": {"uv": [0, 0, 3.5, 1], "texture": "#0"}, + "west": {"uv": [0, 0, 3.5, 1], "texture": "#0"}, + "down": {"uv": [0.5, 0, 1, 0.5], "texture": "#0"} + } + }, + { + "from": [5.5, 3, 5.5], + "to": [10.5, 5, 10.5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 15]}, + "faces": { + "north": {"uv": [0, 0, 5.5, 2], "texture": "#0"}, + "east": {"uv": [0, 0, 5.5, 2], "texture": "#0"}, + "south": {"uv": [0, 0, 5.5, 2], "texture": "#0"}, + "west": {"uv": [0, 0, 5.5, 2], "texture": "#0"}, + "down": {"uv": [0.5, 0.5, 4, 4], "texture": "#0"} + } + }, + { + "from": [4.5, 8, 4.5], + "to": [11.5, 11, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 15]}, + "faces": { + "north": {"uv": [0, 0, 7.5, 3], "texture": "#0"}, + "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"} + } + }, + { + "from": [8, 0, 6.9], + "to": [8.5, 1, 7], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 8, 14]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [7, 5, 4.9], + "to": [7.5, 8, 5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 13, 12]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [7.5, 2, 5.9], + "to": [8, 3, 6], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 10, 13]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [6.5, 11, 3.9], + "to": [7, 15, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [14, 19, 11]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "up": {"uv": [15.5, 0, 16, 0.1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [7.75, 1, 6.4], + "to": [8.25, 2, 6.5], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 9, 13]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [6.75, 8, 4.4], + "to": [7.25, 11, 4.5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 16, 11]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [7.25, 3, 5.4], + "to": [7.75, 5, 5.5], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 11, 12]}, + "faces": { + "north": {"uv": [15.5, 0, 16, 1], "texture": "#0"}, + "east": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "west": {"uv": [15.5, 0, 15.6, 1], "texture": "#0"}, + "down": {"uv": [15.5, 0.1, 16, 0.6], "texture": "#0"} + } + }, + { + "from": [4.5, 14, 4.5], + "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"} + } + }, + { + "from": [7.5, 14, 6], + "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"} + } + }, + { + "from": [4.5, 13, 5], + "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"} + } + }, + { + "from": [6.7, 13.5, 4.4], + "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"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, -45, 0], + "translation": [0, 0, -0.75], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [0, -45, 0], + "translation": [0, 0, -0.75], + "scale": [0.4, 0.4, 0.4] + }, + "head": { + "translation": [0, -0.75, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/ice_cream_white_chocolate.json b/src/main/resources/assets/dishes/models/item/ice_cream_white_chocolate.json new file mode 100644 index 0000000..e7e090f --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/ice_cream_white_chocolate.json @@ -0,0 +1,7 @@ +{ + "credit": "made by Motschen", + "parent": "dishes:item/ice_cream_vanilla", + "textures": { + "1": "dishes:item/ice_cream_white_chocolate" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/dishes/models/item/spaceburger.json b/src/main/resources/assets/dishes/models/item/spaceburger.json new file mode 100644 index 0000000..599af83 --- /dev/null +++ b/src/main/resources/assets/dishes/models/item/spaceburger.json @@ -0,0 +1,3 @@ +{ + "parent": "dishes:block/spaceburger" +} diff --git a/src/main/resources/assets/dishes/textures/block/flame.png b/src/main/resources/assets/dishes/textures/block/flame.png new file mode 100644 index 0000000..d912be3 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/block/flame.png differ diff --git a/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.pdn b/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.pdn new file mode 100644 index 0000000..846ae80 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.pdn differ diff --git a/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.png b/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.png new file mode 100644 index 0000000..efd2afe Binary files /dev/null and b/src/main/resources/assets/dishes/textures/entity/ice_cream_seller.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_banana.png b/src/main/resources/assets/dishes/textures/item/ice_cream_banana.png new file mode 100644 index 0000000..2e0f4e1 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_banana.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_blueberry.png b/src/main/resources/assets/dishes/textures/item/ice_cream_blueberry.png new file mode 100644 index 0000000..e272f83 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_blueberry.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_bubblegum.png b/src/main/resources/assets/dishes/textures/item/ice_cream_bubblegum.png new file mode 100644 index 0000000..7759a16 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_bubblegum.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_chocolate.png b/src/main/resources/assets/dishes/textures/item/ice_cream_chocolate.png new file mode 100644 index 0000000..8fda0e9 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_chocolate.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_pear.png b/src/main/resources/assets/dishes/textures/item/ice_cream_pear.png new file mode 100644 index 0000000..afc2952 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_pear.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_strawberry.png b/src/main/resources/assets/dishes/textures/item/ice_cream_strawberry.png new file mode 100644 index 0000000..a09d49b Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_strawberry.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_sweetberry.png b/src/main/resources/assets/dishes/textures/item/ice_cream_sweetberry.png new file mode 100644 index 0000000..0cc4181 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_sweetberry.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_vanilla.png b/src/main/resources/assets/dishes/textures/item/ice_cream_vanilla.png new file mode 100644 index 0000000..b7c8f32 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_vanilla.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_waffle.png b/src/main/resources/assets/dishes/textures/item/ice_cream_waffle.png new file mode 100644 index 0000000..68e3724 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_waffle.png differ diff --git a/src/main/resources/assets/dishes/textures/item/ice_cream_white_chocolate.png b/src/main/resources/assets/dishes/textures/item/ice_cream_white_chocolate.png new file mode 100644 index 0000000..eac230c Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/ice_cream_white_chocolate.png differ diff --git a/src/main/resources/assets/dishes/textures/item/space_beef.png b/src/main/resources/assets/dishes/textures/item/space_beef.png new file mode 100644 index 0000000..f14ebad Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/space_beef.png differ diff --git a/src/main/resources/assets/dishes/textures/item/space_bread.png b/src/main/resources/assets/dishes/textures/item/space_bread.png new file mode 100644 index 0000000..7eda686 Binary files /dev/null and b/src/main/resources/assets/dishes/textures/item/space_bread.png differ diff --git a/src/main/resources/data/dishes/mayberecipes/cheeseburger.json b/src/main/resources/data/dishes/mayberecipes/cheeseburger.json new file mode 100644 index 0000000..ac1012b --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/cheeseburger.json @@ -0,0 +1,34 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "KCF", + " #P" + ], + "key": { + "#": { + "item": "minecraft:bread" + }, + "K": { + "item": "sandwichable:lettuce_leaf" + }, + "C": { + "item": "minecraft:cooked_beef" + }, + "F": { + "item": "dishes:cheese_slice" + }, + "P": { + "item": "dishes:plate" + } + }, + "result": { + "item": "dishes:cheeseburger", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/chickenburger.json b/src/main/resources/data/dishes/mayberecipes/chickenburger.json new file mode 100644 index 0000000..ca32c86 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/chickenburger.json @@ -0,0 +1,31 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "KCP", + " # " + ], + "key": { + "#": { + "item": "minecraft:bread" + }, + "K": { + "item": "sandwichable:lettuce_leaf" + }, + "C": { + "item": "minecraft:cooked_chicken" + }, + "P": { + "item": "dishes:plate" + } + }, + "result": { + "item": "dishes:chickenburger", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/hamburger.json b/src/main/resources/data/dishes/mayberecipes/hamburger.json new file mode 100644 index 0000000..f13bff5 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/hamburger.json @@ -0,0 +1,31 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + " # ", + "KCP", + " # " + ], + "key": { + "#": { + "item": "minecraft:bread" + }, + "K": { + "item": "sandwichable:lettuce_leaf" + }, + "C": { + "item": "minecraft:cooked_beef" + }, + "P": { + "item": "dishes:plate" + } + }, + "result": { + "item": "dishes:hamburger", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/patchouli_book.json b/src/main/resources/data/dishes/mayberecipes/patchouli_book.json new file mode 100644 index 0000000..f588762 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/patchouli_book.json @@ -0,0 +1,20 @@ +{ + "condition": { + "modid": "patchouli" + }, + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "dishes:salt" + }, + { + "item": "minecraft:writable_book" + } + ], + "result": { + "item": "dishes:cooking_guide", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/pizzabacon.json b/src/main/resources/data/dishes/mayberecipes/pizzabacon.json new file mode 100644 index 0000000..6306a62 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/pizzabacon.json @@ -0,0 +1,33 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "TPU", + "#_#" + ], + "key": { + "#": { + "item": "dishes:flour" + }, + "T": { + "item": "sandwichable:tomato" + }, + "P": { + "item": "dishes:cheese_slice" + }, + "_": { + "item": "dishes:pizzabox" + }, + "U": { + "item": "dishes:bacon" + } + }, + "result": { + "item": "dishes:pizzabacon", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/pizzaham.json b/src/main/resources/data/dishes/mayberecipes/pizzaham.json new file mode 100644 index 0000000..c314e9f --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/pizzaham.json @@ -0,0 +1,33 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "TPU", + "#_#" + ], + "key": { + "#": { + "item": "dishes:flour" + }, + "T": { + "item": "sandwichable:tomato" + }, + "P": { + "item": "dishes:cheese_slice" + }, + "_": { + "item": "dishes:pizzabox" + }, + "U": { + "item": "minecraft:porkchop" + } + }, + "result": { + "item": "dishes:pizzaham", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/pizzasalami.json b/src/main/resources/data/dishes/mayberecipes/pizzasalami.json new file mode 100644 index 0000000..1c46401 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/pizzasalami.json @@ -0,0 +1,33 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "TPU", + "#_#" + ], + "key": { + "#": { + "item": "dishes:flour" + }, + "T": { + "item": "sandwichable:tomato" + }, + "P": { + "item": "dishes:cheese_slice" + }, + "_": { + "item": "dishes:pizzabox" + }, + "U": { + "item": "dishes:salami" + } + }, + "result": { + "item": "dishes:pizzasalami", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/pizzatuna.json b/src/main/resources/data/dishes/mayberecipes/pizzatuna.json new file mode 100644 index 0000000..40af699 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/pizzatuna.json @@ -0,0 +1,33 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "TPU", + "#_#" + ], + "key": { + "#": { + "item": "dishes:flour" + }, + "T": { + "item": "sandwichable:tomato" + }, + "P": { + "item": "dishes:cheese_slice" + }, + "_": { + "item": "dishes:pizzabox" + }, + "U": { + "item": "minecraft:cooked_salmon" + } + }, + "result": { + "item": "dishes:pizzatuna", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/spaghetti_bolognese.json b/src/main/resources/data/dishes/mayberecipes/spaghetti_bolognese.json new file mode 100644 index 0000000..56119fe --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/spaghetti_bolognese.json @@ -0,0 +1,28 @@ +{ + "condition": { + "modid": "sandwichable" + }, + "recipe": { + "type": "minecraft:crafting_shaped", + "pattern": [ + "///", + "/G/", + "/_/" + ], + "key": { + "/": { + "item": "dishes:spaghetti" + }, + "G": { + "item": "sandwichable:tomato" + }, + "_": { + "item": "dishes:plate" + } + }, + "result": { + "item": "dishes:spaghetti_bolognese", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_lil-tater.json b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_lil-tater.json new file mode 100644 index 0000000..afca3c7 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_lil-tater.json @@ -0,0 +1,26 @@ +{ + "condition": { + "modid": "lil-tater" + }, + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "lil-tater:lil_tater", + "item_h": "lil-tater:lil_tater" + }, + { + "item": "minecraft:milk_bucket", + "item_h": "minecraft:milk_bucket" + }, + { + "item": "dishes:plate", + "item_h": "dishes:plate" + } + ], + "result": { + "item": "dishes:tinypotatoeswithcurdcheese", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_liltater.json b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_liltater.json new file mode 100644 index 0000000..baf3116 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_liltater.json @@ -0,0 +1,26 @@ +{ + "condition": { + "modid": "liltater" + }, + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "liltater:lil_tater", + "item_h": "liltater:lil_tater" + }, + { + "item": "minecraft:milk_bucket", + "item_h": "minecraft:milk_bucket" + }, + { + "item": "dishes:plate", + "item_h": "dishes:plate" + } + ], + "result": { + "item": "dishes:tinypotatoeswithcurdcheese", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_ltr.json b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_ltr.json new file mode 100644 index 0000000..b878e86 --- /dev/null +++ b/src/main/resources/data/dishes/mayberecipes/tinypotatoeswithcurdcheese_ltr.json @@ -0,0 +1,26 @@ +{ + "condition": { + "modid": "liltater" + }, + "recipe": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "ltr:lil_tater", + "item_h": "ltr:lil_tater" + }, + { + "item": "minecraft:milk_bucket", + "item_h": "minecraft:milk_bucket" + }, + { + "item": "dishes:plate", + "item_h": "dishes:plate" + } + ], + "result": { + "item": "dishes:tinypotatoeswithcurdcheese", + "count": 1 + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/book.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/book.json index 6705565..113e62e 100644 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/book.json +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/book.json @@ -4,5 +4,5 @@ "version": 1, "book_texture": "patchouli:textures/gui/book_gray.png", "model": "patchouli:book_gray", - "creative_tab": "dishes.dishes" + "creative_tab": "dishes.main" } \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/sweets.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/sweets.json new file mode 100644 index 0000000..382c963 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/categories/sweets.json @@ -0,0 +1,5 @@ +{ + "name": "Süßes", + "description": "Süßigkeiten und Kuchen", + "icon": "dishes:ice_cream_vanilla" +} \ No newline at end of file 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 new file mode 100644 index 0000000..f063380 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/birthday_cake.json @@ -0,0 +1,18 @@ +{ + "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/ice_cream_banana.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_banana.json new file mode 100644 index 0000000..0143f89 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_banana.json @@ -0,0 +1,14 @@ +{ + "name": "Bananeneis", + "icon": "dishes:ice_cream_banana", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_banana", + "title": "Bananeneis", + "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_blueberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_blueberry.json new file mode 100644 index 0000000..2738a89 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_blueberry.json @@ -0,0 +1,14 @@ +{ + "name": "Blaubeereis", + "icon": "dishes:ice_cream_blueberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_blueberry", + "title": "Blaubeereis", + "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_bubblegum.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_bubblegum.json new file mode 100644 index 0000000..c2739a4 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_bubblegum.json @@ -0,0 +1,14 @@ +{ + "name": "Kaugummieis", + "icon": "dishes:ice_cream_bubblegum", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_bubblegum", + "title": "Kaugummieis", + "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_chocolate.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_chocolate.json new file mode 100644 index 0000000..8351a0b --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_chocolate.json @@ -0,0 +1,14 @@ +{ + "name": "Schokoeis", + "icon": "dishes:ice_cream_chocolate", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_chocolate", + "title": "Schokoeis", + "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_pear.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_pear.json new file mode 100644 index 0000000..90ee0d2 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_pear.json @@ -0,0 +1,14 @@ +{ + "name": "Birneneis", + "icon": "dishes:ice_cream_pear", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_pear", + "title": "Birneneis", + "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_strawberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_strawberry.json new file mode 100644 index 0000000..f4375ea --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_strawberry.json @@ -0,0 +1,14 @@ +{ + "name": "Erdbeereis", + "icon": "dishes:ice_cream_strawberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_strawberry", + "title": "Erdbeereis", + "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 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_sweetberry.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_vanilla.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_vanilla.json new file mode 100644 index 0000000..9fa0f53 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_vanilla.json @@ -0,0 +1,14 @@ +{ + "name": "Vanilleeis", + "icon": "dishes:ice_cream_vanilla", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_vanilla", + "title": "Vanilleeis", + "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_white_chocolate.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_white_chocolate.json new file mode 100644 index 0000000..ccf6237 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/ice_cream_white_chocolate.json @@ -0,0 +1,14 @@ +{ + "name": "Weißes Schokoeis", + "icon": "dishes:ice_cream_white_chocolate", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_white_chocolate", + "title": "Weißes Schokoeis", + "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/tinypotatoeswithcurdcheese.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/tinypotatoeswithcurdcheese.json deleted file mode 100644 index 826bed1..0000000 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/de_de/entries/cooking_guide/tinypotatoeswithcurdcheese.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Tiny Potatoes mit Quark", - "icon": "dishes:tinypotatoeswithcurdcheese", - "category": "dishes:german", - "pages": [ - { - "type": "spotlight", - "item": "dishes:tinypotatoeswithcurdcheese", - "title": "Tiny Potatoes mit Quark", - "link_recipe": false, - "text": "OMG! Es ist TINY POTATO OMG! #TATERGANG! - Das Rezept funktioniert nur mit der Lil Tater Mod!" - }, - { - "type": "crafting", - "recipe": "lil-tater:tinypotatoeswithcurdcheese" - }, - { - "type": "crafting", - "recipe": "liltater:tinypotatoeswithcurdcheese" - }, - { - "type": "crafting", - "recipe": "ltr:tinypotatoeswithcurdcheese" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/sweets.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/sweets.json new file mode 100644 index 0000000..88517a8 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/categories/sweets.json @@ -0,0 +1,5 @@ +{ + "name": "Sweets", + "description": "Sweets and Cake", + "icon": "dishes:ice_cream_vanilla" +} \ No newline at end of file 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 new file mode 100644 index 0000000..2b5e5f8 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/birthday_cake.json @@ -0,0 +1,18 @@ +{ + "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/ice_cream_banana.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_banana.json new file mode 100644 index 0000000..9942192 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_banana.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Banana", + "icon": "dishes:ice_cream_banana", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_banana", + "title": "Ice Cream Banana", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_blueberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_blueberry.json new file mode 100644 index 0000000..525ba68 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_blueberry.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Blueberry", + "icon": "dishes:ice_cream_blueberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_blueberry", + "title": "Ice Cream Blueberry", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_bubblegum.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_bubblegum.json new file mode 100644 index 0000000..2c06532 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_bubblegum.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Bubblegum", + "icon": "dishes:ice_cream_bubblegum", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_bubblegum", + "title": "Ice Cream Bubblegum", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_chocolate.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_chocolate.json new file mode 100644 index 0000000..313266f --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_chocolate.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Chocolate", + "icon": "dishes:ice_cream_chocolate", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_chocolate", + "title": "Ice Cream Chocolate", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_pear.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_pear.json new file mode 100644 index 0000000..73e9b8c --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_pear.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Pear", + "icon": "dishes:ice_cream_pear", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_pear", + "title": "Ice Cream Pear", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_strawberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_strawberry.json new file mode 100644 index 0000000..58a5711 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_strawberry.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Strawberry", + "icon": "dishes:ice_cream_strawberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_strawberry", + "title": "Ice Cream Strawberry", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_sweetberry.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_sweetberry.json new file mode 100644 index 0000000..38c203b --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_sweetberry.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Sweet Berry", + "icon": "dishes:ice_cream_sweetberry", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_sweetberry", + "title": "Ice Cream Sweet Berry", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_vanilla.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_vanilla.json new file mode 100644 index 0000000..809be53 --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_vanilla.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream Vanilla", + "icon": "dishes:ice_cream_vanilla", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_vanilla", + "title": "Ice Cream Vanilla", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_white_chocolate.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_white_chocolate.json new file mode 100644 index 0000000..a9a7e5a --- /dev/null +++ b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/ice_cream_white_chocolate.json @@ -0,0 +1,14 @@ +{ + "name": "Ice Cream White Chocolate", + "icon": "dishes:ice_cream_white_chocolate", + "category": "dishes:sweets", + "pages": [ + { + "type": "spotlight", + "item": "dishes:ice_cream_white_chocolate", + "title": "Ice Cream White Chocolate", + "link_recipe": false, + "text": "Who doesn't love ice cream? Sold by the Ice Cream trader." + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/tinypotatoeswithcurdcheese.json b/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/tinypotatoeswithcurdcheese.json deleted file mode 100644 index 4b37c91..0000000 --- a/src/main/resources/data/dishes/patchouli_books/cooking_guide/en_us/entries/cooking_guide/tinypotatoeswithcurdcheese.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Tiny Potatoes with Curd Cheese", - "icon": "dishes:tinypotatoeswithcurdcheese", - "category": "dishes:german", - "pages": [ - { - "type": "spotlight", - "item": "dishes:tinypotatoeswithcurdcheese", - "title": "Tiny Potatoes with Curd Cheese", - "link_recipe": false, - "text": "OMG! IT'S TINY POTATO OMG! #TATERGANG! - Recipe only works with Lil Tater installed!" - }, - { - "type": "crafting", - "recipe": "lil-tater:tinypotatoeswithcurdcheese" - }, - { - "type": "crafting", - "recipe": "liltater:tinypotatoeswithcurdcheese" - }, - { - "type": "crafting", - "recipe": "ltr:tinypotatoeswithcurdcheese" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/dishes/recipes/birthday_cake.json b/src/main/resources/data/dishes/recipes/birthday_cake.json new file mode 100644 index 0000000..70fdc57 --- /dev/null +++ b/src/main/resources/data/dishes/recipes/birthday_cake.json @@ -0,0 +1,15 @@ +{ + "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/lil-tater/recipes/tinypotatoeswithcurdcheese.json b/src/main/resources/data/lil-tater/recipes/tinypotatoeswithcurdcheese.json deleted file mode 100644 index ed7a143..0000000 --- a/src/main/resources/data/lil-tater/recipes/tinypotatoeswithcurdcheese.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "lil-tater:lil_tater", - "item_h": "lil-tater:lil_tater" - }, - { - "item": "minecraft:milk_bucket", - "item_h": "minecraft:milk_bucket" - }, - { - "item": "dishes:plate", - "item_h": "dishes:plate" - } - ], - "result": { - "item": "dishes:tinypotatoeswithcurdcheese", - "count": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/data/liltater/recipes/tinypotatoeswithcurdcheese.json b/src/main/resources/data/liltater/recipes/tinypotatoeswithcurdcheese.json deleted file mode 100644 index bdeabb2..0000000 --- a/src/main/resources/data/liltater/recipes/tinypotatoeswithcurdcheese.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "liltater:lil_tater", - "item_h": "liltater:lil_tater" - }, - { - "item": "minecraft:milk_bucket", - "item_h": "minecraft:milk_bucket" - }, - { - "item": "dishes:plate", - "item_h": "dishes:plate" - } - ], - "result": { - "item": "dishes:tinypotatoeswithcurdcheese", - "count": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/data/ltr/recipes/tinypotatoeswithcurdcheese.json b/src/main/resources/data/ltr/recipes/tinypotatoeswithcurdcheese.json deleted file mode 100644 index 5f62082..0000000 --- a/src/main/resources/data/ltr/recipes/tinypotatoeswithcurdcheese.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "ltr:lil_tater", - "item_h": "ltr:lil_tater" - }, - { - "item": "minecraft:milk_bucket", - "item_h": "minecraft:milk_bucket" - }, - { - "item": "dishes:plate", - "item_h": "dishes:plate" - } - ], - "result": { - "item": "dishes:tinypotatoeswithcurdcheese", - "count": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/loot_tables/chests/village/village_butcher.json b/src/main/resources/data/minecraft/loot_tables/chests/village/village_butcher.json deleted file mode 100644 index b8f337e..0000000 --- a/src/main/resources/data/minecraft/loot_tables/chests/village/village_butcher.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 1.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:set_nbt", - "tag": "{\"patchouli:book\": \"dishes:cooking_guide\"}" - } - ], - "name": "patchouli:guide_book" - }, - { - "type": "minecraft:item", - "name": "minecraft:emerald" - }, - { - "type": "minecraft:item", - "weight": 6, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:porkchop" - }, - { - "type": "minecraft:item", - "weight": 6, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:wheat" - }, - { - "type": "minecraft:item", - "weight": 6, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:beef" - }, - { - "type": "minecraft:item", - "weight": 6, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:mutton" - }, - { - "type": "minecraft:item", - "weight": 3, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:coal" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/loot_tables/chests/village/village_fisher.json b/src/main/resources/data/minecraft/loot_tables/chests/village/village_fisher.json deleted file mode 100644 index 7369389..0000000 --- a/src/main/resources/data/minecraft/loot_tables/chests/village/village_fisher.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0.0, - "max": 1.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:set_nbt", - "tag": "{\"patchouli:book\": \"dishes:cooking_guide\"}" - } - ], - "name": "patchouli:guide_book" - }, - { - "type": "minecraft:item", - "name": "minecraft:emerald" - }, - { - "type": "minecraft:item", - "weight": 2, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:cod" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:salmon" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:water_bucket" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:barrel" - }, - { - "type": "minecraft:item", - "weight": 3, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:wheat_seeds" - }, - { - "type": "minecraft:item", - "weight": 2, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:coal" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/loot_tables/chests/village/village_plains_house.json b/src/main/resources/data/minecraft/loot_tables/chests/village/village_plains_house.json deleted file mode 100644 index d9cd445..0000000 --- a/src/main/resources/data/minecraft/loot_tables/chests/village/village_plains_house.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 3.0, - "max": 8.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0.0, - "max": 1.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:set_nbt", - "tag": "{\"patchouli:book\": \"dishes:cooking_guide\"}" - } - ], - "name": "patchouli:guide_book" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 3.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:gold_nugget" - }, - { - "type": "minecraft:item", - "weight": 2, - "name": "minecraft:dandelion" - }, - { - "type": "minecraft:item", - "name": "minecraft:poppy" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 7.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:potato" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:bread" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:apple" - }, - { - "type": "minecraft:item", - "name": "minecraft:book" - }, - { - "type": "minecraft:item", - "name": "minecraft:feather" - }, - { - "type": "minecraft:item", - "weight": 2, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:emerald" - }, - { - "type": "minecraft:item", - "weight": 5, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 2.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:oak_sapling" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/loot_tables/chests/village/village_taiga_house.json b/src/main/resources/data/minecraft/loot_tables/chests/village/village_taiga_house.json deleted file mode 100644 index 13370fc..0000000 --- a/src/main/resources/data/minecraft/loot_tables/chests/village/village_taiga_house.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "type": "minecraft:chest", - "pools": [ - { - "rolls": { - "min": 3.0, - "max": 8.0, - "type": "minecraft:uniform" - }, - "entries": [ - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 0.0, - "max": 1.0, - "type": "minecraft:uniform" - } - }, - { - "function": "minecraft:set_nbt", - "tag": "{\"patchouli:book\": \"dishes:cooking_guide\"}" - } - ], - "name": "patchouli:guide_book" - }, - { - "type": "minecraft:item", - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:iron_nugget" - }, - { - "type": "minecraft:item", - "weight": 2, - "name": "minecraft:fern" - }, - { - "type": "minecraft:item", - "weight": 2, - "name": "minecraft:large_fern" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 7.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:potato" - }, - { - "type": "minecraft:item", - "weight": 5, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 7.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:sweet_berries" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:bread" - }, - { - "type": "minecraft:item", - "weight": 5, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:pumpkin_seeds" - }, - { - "type": "minecraft:item", - "name": "minecraft:pumpkin_pie" - }, - { - "type": "minecraft:item", - "weight": 2, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 4.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:emerald" - }, - { - "type": "minecraft:item", - "weight": 5, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:spruce_sapling" - }, - { - "type": "minecraft:item", - "name": "minecraft:spruce_sign" - }, - { - "type": "minecraft:item", - "weight": 10, - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "min": 1.0, - "max": 5.0, - "type": "minecraft:uniform" - } - } - ], - "name": "minecraft:spruce_log" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/dishes.mixins.json b/src/main/resources/dishes.mixins.json index 8575526..fa606c4 100644 --- a/src/main/resources/dishes.mixins.json +++ b/src/main/resources/dishes.mixins.json @@ -3,7 +3,7 @@ "package": "eu.midnightdust.motschen.dishes.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ - "DefaultBiomeFeaturesMixin" + "GenerationSettingsAccessorMixin" ], "injectors": { "defaultRequire": 1 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 97ae0a1..8dc5c02 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -4,14 +4,14 @@ "version": "${version}", "name": "Delicious Dishes", - "description": "Adds many cool new dishes with 3d models! Originally created for ModFest 1.16", + "description": "Adds many cool new dishes with 3d models and animations!", "authors": [ "Motschen", "TeamMidnightDust" ], "contact": { "homepage": "https://www.midnightdust.eu/", - "sources": "https://github.com/Motschen/simplystrawberrys" + "sources": "https://github.com/TeamMidnightDust/DeliciousDishes" }, "license": "MIT", @@ -24,6 +24,9 @@ ], "client": [ "eu.midnightdust.motschen.dishes.DishesClient" + ], + "modmenu": [ + "eu.midnightdust.motschen.dishes.config.ModMenuIntegration" ] },