Update 2.0.0 - Pretty Sweet Update

This commit is contained in:
Motschen
2020-09-20 12:42:45 +02:00
parent cb17179924
commit 4764147e1c
144 changed files with 3579 additions and 1021 deletions

6
.gitignore vendored
View File

@@ -1,7 +1,11 @@
# gradle
.gradle/
build/
build/classes/
build/generated/
build/libs/
build/resources/
build/tmp/
out/
classes/

View File

@@ -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 {

Binary file not shown.

Binary file not shown.

View File

@@ -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
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

0
logs/latest.log Normal file
View File

View File

@@ -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));
}
}

View File

@@ -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);
}
}

View File

@@ -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();
}
}

View File

@@ -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);
}
});
}
}

View File

@@ -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<Block, BlockState> builder) {
builder.add(BITES);
}
@Override
public BlockEntity createBlockEntity(BlockView world) {
return new BirthdayCakeBlockEntity();
}
private static ToIntFunction<BlockState> 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;
}
};
}
}

View File

@@ -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<Block, BlockState> 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());
}

View File

@@ -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;
}
}

View File

@@ -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<Block, BlockState> 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());
}

View File

@@ -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.*;

View File

@@ -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;
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}

View File

@@ -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<ItemStack> use(World world, PlayerEntity user, Hand hand) {
ItemStack itemStack = user.getStackInHand(hand);
Optional<Item> 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);
}
}

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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();
}
}

View File

@@ -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;
}

View File

@@ -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<? extends WanderingTraderEntity> 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);
}
}
}
}

View File

@@ -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<BlockPos> 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;
}
}

View File

@@ -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<TradeOffers.Factory[]> ICE_CREAM_TRADER_TRADES;
private static Int2ObjectMap<TradeOffers.Factory[]> copyToFastUtilMap(ImmutableMap<Integer, TradeOffers.Factory[]> 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);
}
}
}

View File

@@ -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<IceCreamTraderEntity, VillagerResemblingModel<IceCreamTraderEntity>> {
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");
}
}

View File

@@ -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> 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));
}
}

View File

@@ -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);
}
}
}

View File

@@ -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<IceCreamTraderEntity> 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));
}
}

View File

@@ -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);
});
}
}
}

View File

@@ -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);
}
}

View File

@@ -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<List<Supplier<ConfiguredFeature<?, ?>>>> getFeatures();
@Accessor
void setFeatures(List<List<Supplier<ConfiguredFeature<?, ?>>>> features);
}

View File

@@ -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);
}
});
}
}
}

View File

@@ -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<List<Supplier<ConfiguredFeature<?, ?>>>> featuresByStep = new ArrayList<>( generationSettingsAccessor.getFeatures());
while (featuresByStep.size() <= stepIndex) {
featuresByStep.add(Lists.newArrayList());
}
List<Supplier<ConfiguredFeature<?, ?>>> features = new ArrayList<>(featuresByStep.get(stepIndex));
features.add(() -> feature);
featuresByStep.set(stepIndex, features);
generationSettingsAccessor.setFeatures(featuresByStep);
}
}

View File

@@ -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;

View File

@@ -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" }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

View File

@@ -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 }
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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": "生日蛋糕"
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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]
}
]
}
]
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -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"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "dishes:block/birthday_cake"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "patchouli:items/book_gray"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_banana"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_blueberry"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_bubblegum"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_chocolate"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_pear"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_strawberry"
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_sweetberry"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "item/template_spawn_egg"
}

View File

@@ -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]
}
}
}

View File

@@ -0,0 +1,7 @@
{
"credit": "made by Motschen",
"parent": "dishes:item/ice_cream_vanilla",
"textures": {
"1": "dishes:item/ice_cream_white_chocolate"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "dishes:block/spaceburger"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

View File

@@ -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
}
}
}

View File

@@ -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
}
}
}

View File

@@ -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
}
}
}

Some files were not shown because too many files have changed in this diff Show More