From 3a922f8aa52949bf04c78695dd2949a04f35f634 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 29 Sep 2022 22:01:56 +0200 Subject: [PATCH] Added apple pie --- .../unicopia/block/PieBlock.java | 120 ++++++++++++++++++ .../unicopia/block/UBlocks.java | 2 + .../minelittlepony/unicopia/item/UItems.java | 1 + .../unicopia/util/SoundEmitter.java | 7 +- .../unicopia/blockstates/apple_pie.json | 8 ++ .../resources/assets/unicopia/lang/en_us.json | 1 + .../unicopia/models/block/apple_pie.json | 9 ++ .../models/block/apple_pie_corner.json | 9 ++ .../models/block/apple_pie_elbow.json | 9 ++ .../models/block/apple_pie_straight.json | 9 ++ .../assets/unicopia/models/block/melon.json | 7 - .../unicopia/models/block/pie_corner.json | 18 +++ .../unicopia/models/block/pie_elbow.json | 29 +++++ .../unicopia/models/block/pie_full.json | 18 +++ .../unicopia/models/block/pie_straight.json | 18 +++ .../unicopia/models/item/apple_pie.json | 6 + .../textures/block/apple_pie_bottom.png | Bin 0 -> 1767 bytes .../textures/block/apple_pie_inner.png | Bin 0 -> 1711 bytes .../textures/block/apple_pie_side.png | Bin 0 -> 1480 bytes .../unicopia/textures/block/apple_pie_top.png | Bin 0 -> 2033 bytes .../unicopia/textures/item/apple_pie.png | Bin 0 -> 2142 bytes .../advancements/recipes/food/apple_pie.json | 30 +++++ .../advancements/recipes/food/hay_fries.json | 2 +- .../data/unicopia/recipes/apple_pie.json | 19 +++ 24 files changed, 313 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/PieBlock.java create mode 100644 src/main/resources/assets/unicopia/blockstates/apple_pie.json create mode 100644 src/main/resources/assets/unicopia/models/block/apple_pie.json create mode 100644 src/main/resources/assets/unicopia/models/block/apple_pie_corner.json create mode 100644 src/main/resources/assets/unicopia/models/block/apple_pie_elbow.json create mode 100644 src/main/resources/assets/unicopia/models/block/apple_pie_straight.json delete mode 100644 src/main/resources/assets/unicopia/models/block/melon.json create mode 100644 src/main/resources/assets/unicopia/models/block/pie_corner.json create mode 100644 src/main/resources/assets/unicopia/models/block/pie_elbow.json create mode 100644 src/main/resources/assets/unicopia/models/block/pie_full.json create mode 100644 src/main/resources/assets/unicopia/models/block/pie_straight.json create mode 100644 src/main/resources/assets/unicopia/models/item/apple_pie.json create mode 100644 src/main/resources/assets/unicopia/textures/block/apple_pie_bottom.png create mode 100644 src/main/resources/assets/unicopia/textures/block/apple_pie_inner.png create mode 100644 src/main/resources/assets/unicopia/textures/block/apple_pie_side.png create mode 100644 src/main/resources/assets/unicopia/textures/block/apple_pie_top.png create mode 100644 src/main/resources/assets/unicopia/textures/item/apple_pie.png create mode 100644 src/main/resources/data/unicopia/advancements/recipes/food/apple_pie.json create mode 100644 src/main/resources/data/unicopia/recipes/apple_pie.json diff --git a/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java b/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java new file mode 100644 index 00000000..78449be4 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/PieBlock.java @@ -0,0 +1,120 @@ +package com.minelittlepony.unicopia.block; + +import com.minelittlepony.unicopia.util.SoundEmitter; + +import net.minecraft.block.*; +import net.minecraft.entity.ai.pathing.NavigationType; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.*; +import net.minecraft.sound.SoundEvents; +import net.minecraft.stat.Stats; +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.*; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.world.*; +import net.minecraft.world.event.GameEvent; + +public class PieBlock extends Block { + public static final int MAX_BITES = 3; + public static final IntProperty BITES = IntProperty.of("bites", 0, MAX_BITES); + private static final VoxelShape[] SHAPES; + static { + final int PIE_HEIGHT = 5; + final VoxelShape WEDGE = Block.createCuboidShape(1, 0, 1, 8, PIE_HEIGHT, 8); + final float OFFSET_AMOUNT = 7F/16F; + SHAPES = new VoxelShape[] { + Block.createCuboidShape(1, 0, 1, 15, PIE_HEIGHT, 15), + VoxelShapes.union(WEDGE, WEDGE.offset(OFFSET_AMOUNT, 0, 0), WEDGE.offset(OFFSET_AMOUNT, 0, OFFSET_AMOUNT)), + VoxelShapes.union(WEDGE, WEDGE.offset(OFFSET_AMOUNT, 0, 0)), + WEDGE + }; + } + + public PieBlock(Settings settings) { + super(settings); + setDefaultState(getDefaultState().with(BITES, 0)); + } + + @Deprecated + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return SHAPES[state.get(BITES)]; + } + + @Deprecated + @Override + public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { + ItemStack itemStack = player.getStackInHand(hand); + + if (world.isClient) { + if (tryEat(world, pos, state, player).isAccepted()) { + return ActionResult.SUCCESS; + } + + if (itemStack.isEmpty()) { + return ActionResult.CONSUME; + } + } + + return tryEat(world, pos, state, player); + } + + protected ActionResult tryEat(WorldAccess world, BlockPos pos, BlockState state, PlayerEntity player) { + if (!player.canConsume(false)) { + return ActionResult.PASS; + } + player.incrementStat(Stats.EAT_CAKE_SLICE); + player.getHungerManager().add(2, 0.1f); + int bites = state.get(BITES); + world.emitGameEvent(player, GameEvent.EAT, pos); + SoundEmitter.playSoundAt(player, SoundEvents.ENTITY_PLAYER_BURP, 0.5F, world.getRandom().nextFloat() * 0.1F + 0.9F); + + if (bites < MAX_BITES) { + world.setBlockState(pos, state.with(BITES, bites + 1), Block.NOTIFY_ALL); + } else { + world.removeBlock(pos, false); + world.emitGameEvent(player, GameEvent.BLOCK_DESTROY, pos); + } + return ActionResult.SUCCESS; + } + + @Deprecated + @Override + public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos) { + if (direction == Direction.DOWN && !state.canPlaceAt(world, pos)) { + return Blocks.AIR.getDefaultState(); + } + return super.getStateForNeighborUpdate(state, direction, neighborState, world, pos, neighborPos); + } + + @Deprecated + @Override + public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) { + return world.getBlockState(pos.down()).getMaterial().isSolid(); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(BITES); + } + + @Override + public int getComparatorOutput(BlockState state, World world, BlockPos pos) { + return (5 - state.get(BITES)) * 2; + } + + @Override + public boolean hasComparatorOutput(BlockState state) { + return true; + } + + @Override + public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) { + return false; + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index de44e001..b100c4f8 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -66,6 +66,8 @@ public interface UBlocks { Block SOUR_APPLE = register("sour_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, SOUR_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE)); Block SOUR_APPLE_SPROUT = register("sour_apple_sprout", new SproutBlock(0xE5FFCC88, () -> UItems.SOUR_APPLE_SEEDS, () -> UTreeGen.SOUR_APPLE_TREE.sapling().map(Block::getDefaultState).get())); + Block APPLE_PIE = register("apple_pie", new PieBlock(FabricBlockSettings.of(Material.CAKE, MapColor.ORANGE).strength(0.5F).sounds(BlockSoundGroup.WOOL))); + SegmentedCropBlock OATS = register("oats", SegmentedCropBlock.create(11, 5, AbstractBlock.Settings.copy(Blocks.WHEAT), () -> UItems.OAT_SEEDS, null, () -> UBlocks.OATS_STEM)); SegmentedCropBlock OATS_STEM = register("oats_stem", OATS.createNext(5)); SegmentedCropBlock OATS_CROWN = register("oats_crown", OATS_STEM.createNext(5)); diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index 52c74c7e..efb0e35a 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -83,6 +83,7 @@ public interface UItems { Item CIDER = register("cider", new DrinkableItem(new Item.Settings().group(ItemGroup.FOOD).food(UFoodComponents.CIDER).maxCount(1).recipeRemainder(MUG))); Item JUICE = register("juice", new DrinkableItem(new Item.Settings().group(ItemGroup.FOOD).recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.JUICE))); Item BURNED_JUICE = register("burned_juice", new DrinkableItem(new Item.Settings().group(ItemGroup.FOOD).recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.BURNED_JUICE))); + Item APPLE_PIE = register("apple_pie", new BlockItem(UBlocks.APPLE_PIE, new Item.Settings().group(ItemGroup.FOOD).maxCount(1))); Item GOLDEN_FEATHER = register("golden_feather", new Item(new Item.Settings().rarity(Rarity.UNCOMMON).group(ItemGroup.MATERIALS))); Item GOLDEN_WING = register("golden_wing", new Item(new Item.Settings().rarity(Rarity.UNCOMMON).group(ItemGroup.MATERIALS))); diff --git a/src/main/java/com/minelittlepony/unicopia/util/SoundEmitter.java b/src/main/java/com/minelittlepony/unicopia/util/SoundEmitter.java index e3cba35e..905d99e2 100644 --- a/src/main/java/com/minelittlepony/unicopia/util/SoundEmitter.java +++ b/src/main/java/com/minelittlepony/unicopia/util/SoundEmitter.java @@ -3,6 +3,7 @@ package com.minelittlepony.unicopia.util; import net.minecraft.entity.Entity; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvent; +import net.minecraft.util.math.random.Random; import net.minecraft.world.World; public interface SoundEmitter { @@ -21,7 +22,7 @@ public interface SoundEmitter { } default float getRandomPitch() { - return (float)getReferenceWorld().getRandom().nextTriangular(0.5F, 0.2F); + return getRandomPitch(getReferenceWorld().getRandom()); } static void playSoundAt(Entity entity, SoundEvent sound, float pitch, float volume) { @@ -31,4 +32,8 @@ public interface SoundEmitter { static void playSoundAt(Entity entity, SoundEvent sound, SoundCategory category, float pitch, float volume) { entity.world.playSound(null, entity.getX(), entity.getY(), entity.getZ(), sound, category, volume, pitch); } + + static float getRandomPitch(Random rng) { + return (float)rng.nextTriangular(0.5F, 0.2F); + } } diff --git a/src/main/resources/assets/unicopia/blockstates/apple_pie.json b/src/main/resources/assets/unicopia/blockstates/apple_pie.json new file mode 100644 index 00000000..c6afe6ff --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/apple_pie.json @@ -0,0 +1,8 @@ +{ + "variants": { + "bites=0": { "model": "unicopia:block/apple_pie" }, + "bites=1": { "model": "unicopia:block/apple_pie_elbow" }, + "bites=2": { "model": "unicopia:block/apple_pie_straight" }, + "bites=3": { "model": "unicopia:block/apple_pie_corner" } + } +} diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index 5695e416..9418f035 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -106,6 +106,7 @@ "block.unicopia.zap_leaves": "Zap Apple Leaves", "block.unicopia.zap_apple": "Zap Apple", "block.unicopia.zap_bulb": "Unripened Zap Apple", + "block.unicopia.apple_pie": "Apple Pie", "block.unicopia.green_apple_leaves": "Granny Smith Leaves", "block.unicopia.green_apple_sapling": "Granny Smith Sapling", diff --git a/src/main/resources/assets/unicopia/models/block/apple_pie.json b/src/main/resources/assets/unicopia/models/block/apple_pie.json new file mode 100644 index 00000000..cce9c5dc --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/apple_pie.json @@ -0,0 +1,9 @@ +{ + "parent": "unicopia:block/pie_full", + "textures": { + "top": "unicopia:block/apple_pie_top", + "bottom": "unicopia:block/apple_pie_bottom", + "sides": "unicopia:block/apple_pie_side", + "inner": "unicopia:block/apple_pie_inner" + } +} diff --git a/src/main/resources/assets/unicopia/models/block/apple_pie_corner.json b/src/main/resources/assets/unicopia/models/block/apple_pie_corner.json new file mode 100644 index 00000000..835b7dd4 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/apple_pie_corner.json @@ -0,0 +1,9 @@ +{ + "parent": "unicopia:block/pie_corner", + "textures": { + "top": "unicopia:block/apple_pie_top", + "bottom": "unicopia:block/apple_pie_bottom", + "sides": "unicopia:block/apple_pie_side", + "inner": "unicopia:block/apple_pie_inner" + } +} diff --git a/src/main/resources/assets/unicopia/models/block/apple_pie_elbow.json b/src/main/resources/assets/unicopia/models/block/apple_pie_elbow.json new file mode 100644 index 00000000..553cc1c4 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/apple_pie_elbow.json @@ -0,0 +1,9 @@ +{ + "parent": "unicopia:block/pie_elbow", + "textures": { + "top": "unicopia:block/apple_pie_top", + "bottom": "unicopia:block/apple_pie_bottom", + "sides": "unicopia:block/apple_pie_side", + "inner": "unicopia:block/apple_pie_inner" + } +} diff --git a/src/main/resources/assets/unicopia/models/block/apple_pie_straight.json b/src/main/resources/assets/unicopia/models/block/apple_pie_straight.json new file mode 100644 index 00000000..b81849a0 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/apple_pie_straight.json @@ -0,0 +1,9 @@ +{ + "parent": "unicopia:block/pie_straight", + "textures": { + "top": "unicopia:block/apple_pie_top", + "bottom": "unicopia:block/apple_pie_bottom", + "sides": "unicopia:block/apple_pie_side", + "inner": "unicopia:block/apple_pie_inner" + } +} diff --git a/src/main/resources/assets/unicopia/models/block/melon.json b/src/main/resources/assets/unicopia/models/block/melon.json deleted file mode 100644 index ef3816b9..00000000 --- a/src/main/resources/assets/unicopia/models/block/melon.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "minecraft:block/cube_column", - "textures": { - "end": "minecraft:block/melon_top", - "side": "minecraft:block/melon_side" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/pie_corner.json b/src/main/resources/assets/unicopia/models/block/pie_corner.json new file mode 100644 index 00000000..b9094606 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/pie_corner.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 8, 5, 8 ], + "faces": { + "up": { "uv": [ 1, 1, 8, 8 ], "texture": "#top" }, + "down": { "uv": [ 1, 8, 8, 15 ], "texture": "#bottom" }, + "north": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" }, + "south": { "uv": [ 1, 11, 8, 16 ], "texture": "#inner" }, + "west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" }, + "east": { "uv": [ 8, 11, 15, 16 ], "texture": "#inner" } + } + } + ] +} diff --git a/src/main/resources/assets/unicopia/models/block/pie_elbow.json b/src/main/resources/assets/unicopia/models/block/pie_elbow.json new file mode 100644 index 00000000..4059b688 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/pie_elbow.json @@ -0,0 +1,29 @@ +{ + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 5, 8 ], + "faces": { + "up": { "uv": [ 1, 1, 15, 8 ], "texture": "#top" }, + "down": { "uv": [ 1, 8, 15, 15 ], "texture": "#bottom" }, + "north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }, + "south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inner" }, + "west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" }, + "east": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" } + } + }, + { "from": [ 8, 0, 8 ], + "to": [ 15, 5, 15 ], + "faces": { + "up": { "uv": [ 8, 8, 15, 15 ], "texture": "#top" }, + "down": { "uv": [ 8, 1, 15, 8 ], "texture": "#bottom" }, + "north": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" }, + "south": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" }, + "west": { "uv": [ 8, 11, 15, 16 ], "texture": "#inner" }, + "east": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" } + } + } + ] +} diff --git a/src/main/resources/assets/unicopia/models/block/pie_full.json b/src/main/resources/assets/unicopia/models/block/pie_full.json new file mode 100644 index 00000000..15099405 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/pie_full.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 5, 15 ], + "faces": { + "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#top" }, + "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#bottom" }, + "north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }, + "south": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }, + "west": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }, + "east": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" } + } + } + ] +} diff --git a/src/main/resources/assets/unicopia/models/block/pie_straight.json b/src/main/resources/assets/unicopia/models/block/pie_straight.json new file mode 100644 index 00000000..78c39eb5 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/pie_straight.json @@ -0,0 +1,18 @@ +{ + "textures": { + "particle": "#top" + }, + "elements": [ + { "from": [ 1, 0, 1 ], + "to": [ 15, 5, 8 ], + "faces": { + "up": { "uv": [ 1, 1, 15, 8 ], "texture": "#top" }, + "down": { "uv": [ 1, 8, 15, 15 ], "texture": "#bottom" }, + "north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }, + "south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inner" }, + "west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" }, + "east": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" } + } + } + ] +} diff --git a/src/main/resources/assets/unicopia/models/item/apple_pie.json b/src/main/resources/assets/unicopia/models/item/apple_pie.json new file mode 100644 index 00000000..ddbe809f --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/apple_pie.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "unicopia:item/apple_pie" + } +} diff --git a/src/main/resources/assets/unicopia/textures/block/apple_pie_bottom.png b/src/main/resources/assets/unicopia/textures/block/apple_pie_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..014fbfec4c75783bb389e202d3f9c421a5fd42eb GIT binary patch literal 1767 zcmV zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1b@mgFW3{Ld+J1SG!1aWI(oa)TT{1qj^TGrP%d z(w-g|3`kU!${ut7^=CJK;6ph@<3o~|W3>4A>@yd1#6F)}+iYzgeUC5c7@b*U-frw3 z;recz(K@tl4W4*zY~)@R#M9Du;}kx|-3h~Q8Oh#=alMT5Ws`mV$n)*JNynMZnC**? zz$faV_EBaJ6E6Vc=CX(@;TzCT^UAoy7F!K@+ibNLu1cAhobBYPQK3%vY%5iy==tV^ zmbtQfe`9jM_~fIug?#N#U>uJ2F!v37JIENu0W5roS8&B zOblrKTAZ400EiGfAQ^ICz(#U`BH6^8h=8MjpMuQU8P69epb)qrOZLu1kRv=|V@;wt zmjkb1ln{srF1iG2vMb=q``}S)$qO`8f(t%`5JL(QawyS7A47~W#ZikTx#UwwF{LCa zry@?g1c{PFBug=wvqP(;>%tB3Rk?+C0D*mg?y^7p~jl3 z)Le^c++6c5wAfOUmRq^$hLmo9hdbWsmOJ02Lu%c1-$Rc*b?Ld6!`fukym9uGxu3H} z${GkWlQWM=n>7rlw6~yPCt+{~#@G`WPlEvnng?fA$a@~lnZcROjH(EXEW;qD(O?V= z`kOd(I@~?Xec{cZ?thmzer3)K>i!Sr%%JWY=Dzaw4Qp-qdmVLXVQixe2dLJe{4n8` z!h#w6Ypwa!1^>KJ4{db#st)J0vkyFDAdjD#sgE`=hT0s0&&+$l1938QsP20@DL`Br zz?O}3N7})2jhg1{ zHLqH9$c~(6rgqK7GS-C*mYs7#wx7Lg8Oy6h6C%aIgzwrm`?ABx9*#jHFH#%B3 zJ=0ne-P$FK-6^fOASq~6uNf(HMsT8a55HtBxAMc>qUI(&0O}QW0%rzAykVk~K+}wB zS`_n1*3vs%=nN{%gtTte1YIw=%w?JK4M!deP+=*v?qXB97k@WqTu8tyo@{Dccd8%M z{=#hoh-dEV#Go)^E-O!d3Gz{cRiT{2!H1l}8&f9D0&eU#3UpuBIvU>CQmL?~wWUs| zN(*3GIc9rOTjztvUaC{?ZnN_DpY%Reqi~~q@;&8>KN9${w9|>^oqNgq9^PJ+Y@4!uv5yx<`@`sMLfoeKp(lYiygQmb zMR$FDT9{|(-EG|AoA%Dv8*Wq|-11^=0k`G*Jo)-|@~s?so@v`!w7#4*=K-Rx1gO== z_%}>=?c6U1TBZ1B3;%_w=9+`DKg;HK+uz>Eb-b~mPR!p9B&}>M;Z6(y00Co3L_t(I z%dL{jk=rm3L|@O4)NUjW$=SHd;W#Fzu?LAHrhOPtQu%7*LK49Am++5E06)HebGX>c z+(L{p_p^}Uw5bZtaq@Xv`BbqJY@7J`>$etw4~wry;WYQtV37$7*p_IjN*IG(f+(aF zfB-n^z&7B%oIn{QD8TCd5Uc?%{~5R8J%1}nb-s9NqQ7;pJ5%UYf5*_^O@fCdX?OgEEofnZRf(fs`0GWe(uH7 zlVWy%q3cD)fQ)(DZP{-%%7Uy8EP#D7r@DJhWflFdLZMd%ftu8_qK|Af$LQy!EZo1e ziWuih!Q*%knXm=7b!81Rs;DK{&*C2Nbqt2hZ4(h={s7PCxePR0LgxSg002ov JPDHLkV1mfVX+Z!0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/block/apple_pie_inner.png b/src/main/resources/assets/unicopia/textures/block/apple_pie_inner.png new file mode 100644 index 0000000000000000000000000000000000000000..84d3b054cccca9742a43d555a6925beb40b233e1 GIT binary patch literal 1711 zcmV;g22lBlP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U-|ct|TW6{bv>ZvQPfwWAERb-6rrevMGyP!10G>TORa42Noe%E4#B;|Cu>KNPp!#e%A?^d z-V>!3FN?c_+sCVA;NF>gs}RdL-#_bo8}=}{Hy0f}xO-kqTXg>>BQxe!0-aji;Z%^k|-fFN>{^e0zu)r3@e7eP6v}L&dvS;9cuipuan@ zdh8#CLOEJkZSTFXPRba;M|GG@dPi`~+lvDpjyh2VJa4MBEXQ?|ZK}`vMQaMhZmDay zv$p}*nC?xZF1M{8J+~7D2H&M{<3mw}Y>!%UlIzKfGVn#v#%3Fcyo`$LganF6Opaes zst)n*2sv?t&$U!qs&%_(M5Nx?9LfS7hn(|Bl=wKtTG}jaO0^EY1%K`MaF~)$gtaOl z6xy?{(h#u+4vh!jp#+O{d#QUQZ8^%#qc}cmJABFEOi;U^-g`{((rw!`z0K&SUb}|4 z;`fT2eM%eYRFSZDR3l^I#j|UqNjzZ0qW*e4P@nGb)I6nyx_98SSUtK>IZfXFQ+P9N zn1I|Mf;+YcYaR~J=rsft9luVFa`7XSS=LWLpU5_pqepn%afYq=a$}cyzw~zEHlEXE zeH-nB@WD>v#Mh`YZPao`oS!H}jQ8tu!ErcI;AQtW#MH*tDZjh70004&NklRp1TBoE zLjodLSR`T*LP(+*5LB2;9y6mebMJXrOflp?WEFeEg3bEYhGQKI1i7zW_yk6p@@gkHM^aKuk8PZI!?D+%+}NuDe%0kAMP$4=88NjiU0QCnVNzB&m& zZFyxt@N#B?KZlAmQ#}7z=i$w1wCo>t9cVe&0Hx3}Hez}7{#T!%SJHlbOmMps@#gVe zs@EfO>j;&^J4ZM748;MR%#s`w*ob>{jRz1xe`+4QSRihE=0;>OLXhoc6oUX~4siMm zCjCZGnjk1oadq=8ub$NbkN{~j!+!q+rp>;-ggAALFx2?7w`g}1`RGN|mHSB7W^es9 zPPaY={+E=U@y8~j#^(=)R)@|^v5YoNCY#3AvhCmzl*UsJN~U)<~+;KSgFwR`8h zb6}jOSda)QX#F!F1lCv_0`L?g#ZaW^<&HR1JYC!p{{eDzmfoBMp!EO%002ovPDHLk FV1i?GD_{Ts literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/block/apple_pie_side.png b/src/main/resources/assets/unicopia/textures/block/apple_pie_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ce76c9b69f512c34265b9b2c3f18ade6c22ad8fd GIT binary patch literal 1480 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 P00000NkvXXu0mjfe#y!R literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/item/apple_pie.png b/src/main/resources/assets/unicopia/textures/item/apple_pie.png new file mode 100644 index 0000000000000000000000000000000000000000..01520a723f03f929dc76b71ca563b91165bb6892 GIT binary patch literal 2142 zcmV-k2%-0hP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvlI182{O1&N1ds%X<6xGExxpNN5+m%Y>gw*8 z#jf|vlUbz9l%U-B>(A-_z(qcLCoyX(DS2E{q)3N3l>>+-!^Roh1Z>f@i zPqLs+D0d4TF95^$u!K9~6VcB1U2vao_GV{_Fki zM02(UQ9$$uEBHmUXb1~MUf<{iLc%;ciZ{UL{(6B}Od{yDU{(ZJ{k5mKVtBR1?k1Yi zG2$tEaPBq%Ai~-a&IASnJ_U{;1)qs>2*6RnPle~iPUr#!Ax7%(l7u;d9Hq53#^iAK zrAXV16ao>E6K7CUxPmK@D9K3{g@$V6C^5zqbJSR3O`Igflu}MB7i;D$Ip&me)?9K` zR?(6%9mc{stxjK(qc<3H*KX= z*Qs-t9((G!YcIWyFd(HNBaSrk&{0O6klN%aGtM;g)LCYISi4zupE&!GxnHvuj5QGE zZq5Xq4r?&ye5MGioW#W$7$XT_JTC?yXj+_k4I;FdbBi-y2w4#cUdBaE4~sD{C?imu z;oU&#x=uy~K8ZJ;hBmK}}XeC7t z`e#q~PY3+_iH7;u^z!vKdLD>=HLoT?V-Wm7kS*WMh^=E;qW8JgayRo;Q##gPKi$te zU{WCulA@-K(+|64 zudWYQ_Nu6+Zo{@Cu9jDP<|&j{{FJg+9udWb;H`NwC2`l+U(=M^4mV?~V*)u~q!;p| zfmMY~Mw&PFsWe?lyL+~`=c8mbmQrX++t_?G3c?undZbm>n@iDtw~mvytb({eGaGNpm8#_31?U{kRfsZnwyM{DoaYv9*ujvZ+NIgq}>pLlkG^W=iUC{nBnaVrmD^ zC!OY9AwT7lIqSvT4`iS+Rof%v$=D>86jG)W*#K&QNM5~iIG)P#^s-;ndTYrXZK%Wf ztmFJaPR=CNTMRgO+S+8v^X_&noYb|%axkVN+a1^{KAo&`acPKP+re}|?P`fXYB*o_ zc!&2Gs2Z)Fw~N#^ni6KT5{Ei)^8@ zyL>S`-2wC|d#N1>;NK+tBpaf$B7e+39L#NnvISmTKt}GEabBvP%{fnBYcSMjHDaJ1 z;0!oV8KKy>jxPK=VtbM2pD5sGXO&rP^L4XaEMGV3XSSHE-aVy1S@I#Rj&l5F4V9zV zUYkzYUfCljT_F7S`_q>DUyf_Pp9lv|Y!2>k1a0I>^(rf50006-Nkltejg0<_W|&5>LdWO za~S|ehR6R780hb-3(Msa>2!p0In4CS*#^;_o38+PK0SlAJsjM>i_r^%L|Rf(2G^*{j)P%IYFO7Wox^Xr0RDO?9Kc_EVzM3yCF z^Frop(2sT$00IxfVHXid#M{wY@pgF?V}!0m6vx(NS5^Vo+0l;cSS&0R2sKYKH1r?< z#A0m-;MELa*Cv&W(PV2p-{4rf-d8*y-v~cEgE7M6sS^R<*yJe=dQogkQ>oSvRA3^Y zl&L$u=^2cGt)Wu!D3wY9;LutH57gpvK|o#8q=Q^;{m*~l#q{Zhl*OZ6Xss|ts8l=vzOAod+nOW&xA`yi6X6Ez UgEgSIiU0rr07*qoM6N<$f~AxcuK)l5 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/unicopia/advancements/recipes/food/apple_pie.json b/src/main/resources/data/unicopia/advancements/recipes/food/apple_pie.json new file mode 100644 index 00000000..49c42979 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/food/apple_pie.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:apple_pie" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "tag": [ "unicopia:fresh_apples" ] } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:apple_pie" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/food/hay_fries.json b/src/main/resources/data/unicopia/advancements/recipes/food/hay_fries.json index 464543e7..d22ae87a 100644 --- a/src/main/resources/data/unicopia/advancements/recipes/food/hay_fries.json +++ b/src/main/resources/data/unicopia/advancements/recipes/food/hay_fries.json @@ -10,7 +10,7 @@ "trigger": "minecraft:inventory_changed", "conditions": { "items": [ - { "tag": "unicopia:oats" } + { "item": "unicopia:oats" } ] } }, diff --git a/src/main/resources/data/unicopia/recipes/apple_pie.json b/src/main/resources/data/unicopia/recipes/apple_pie.json new file mode 100644 index 00000000..85f86ec6 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/apple_pie.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "***", + "###", + "***" + ], + "key": { + "#": { + "tag": "unicopia:fresh_apples" + }, + "*": { + "item": "minecraft:wheat" + } + }, + "result": { + "item": "unicopia:apple_pie" + } +} \ No newline at end of file