mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-30 16:28:00 +01:00
Add green apple seeds and recipe
This commit is contained in:
parent
9476b5634c
commit
9e0e03379e
19 changed files with 202 additions and 14 deletions
|
@ -1,6 +1,5 @@
|
||||||
package com.minelittlepony.unicopia.block;
|
package com.minelittlepony.unicopia.block;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.ability.EarthPonyKickAbility.Buckable;
|
import com.minelittlepony.unicopia.ability.EarthPonyKickAbility.Buckable;
|
||||||
|
@ -19,8 +18,6 @@ public class FruitBlock extends Block implements Buckable {
|
||||||
public static final int DEFAULT_FRUIT_SIZE = 8;
|
public static final int DEFAULT_FRUIT_SIZE = 8;
|
||||||
public static final VoxelShape DEFAULT_SHAPE = createFruitShape(DEFAULT_FRUIT_SIZE);
|
public static final VoxelShape DEFAULT_SHAPE = createFruitShape(DEFAULT_FRUIT_SIZE);
|
||||||
|
|
||||||
public static final List<FruitBlock> REGISTRY = new ArrayList<>();
|
|
||||||
|
|
||||||
private final Direction attachmentFace;
|
private final Direction attachmentFace;
|
||||||
private final Block stem;
|
private final Block stem;
|
||||||
private final VoxelShape shape;
|
private final VoxelShape shape;
|
||||||
|
@ -37,7 +34,6 @@ public class FruitBlock extends Block implements Buckable {
|
||||||
this.attachmentFace = attachmentFace;
|
this.attachmentFace = attachmentFace;
|
||||||
this.stem = stem;
|
this.stem = stem;
|
||||||
this.shape = shape;
|
this.shape = shape;
|
||||||
REGISTRY.add(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
package com.minelittlepony.unicopia.block;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import net.minecraft.block.*;
|
||||||
|
import net.minecraft.item.ItemConvertible;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.sound.BlockSoundGroup;
|
||||||
|
import net.minecraft.sound.SoundCategory;
|
||||||
|
import net.minecraft.util.math.*;
|
||||||
|
import net.minecraft.util.math.random.Random;
|
||||||
|
import net.minecraft.util.shape.VoxelShape;
|
||||||
|
import net.minecraft.world.*;
|
||||||
|
|
||||||
|
public class SproutBlock extends CropBlock implements TintedBlock {
|
||||||
|
private static final VoxelShape[] AGE_TO_SHAPE = new VoxelShape[]{
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 2, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 4, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 6, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 8, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 10, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 12, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 14, 9),
|
||||||
|
Block.createCuboidShape(7, 0, 7, 9, 16, 9)
|
||||||
|
};
|
||||||
|
|
||||||
|
private final ItemConvertible seeds;
|
||||||
|
|
||||||
|
private final Supplier<BlockState> matureState;
|
||||||
|
|
||||||
|
private final int overlay;
|
||||||
|
|
||||||
|
public SproutBlock(int overlay, ItemConvertible seeds, Supplier<BlockState> matureState) {
|
||||||
|
super(Settings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.STEM));
|
||||||
|
this.seeds = seeds;
|
||||||
|
this.matureState = matureState;
|
||||||
|
this.overlay = overlay;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
|
||||||
|
return AGE_TO_SHAPE[state.get(getAgeProperty())];
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) {
|
||||||
|
super.randomTick(state, world, pos, random);
|
||||||
|
onGrow(world, world.getBlockState(pos), pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyGrowth(World world, BlockPos pos, BlockState state) {
|
||||||
|
super.applyGrowth(world, pos, state);
|
||||||
|
onGrow(world, world.getBlockState(pos), pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ItemConvertible getSeedsItem() {
|
||||||
|
return seeds;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getPickStack(BlockView world, BlockPos pos, BlockState state) {
|
||||||
|
return new ItemStack(seeds.asItem());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void onGrow(World world, BlockState state, BlockPos pos) {
|
||||||
|
if (isMature(state)) {
|
||||||
|
mature(world, state, pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void mature(World world, BlockState state, BlockPos pos) {
|
||||||
|
state = matureState.get();
|
||||||
|
world.setBlockState(pos, matureState.get());
|
||||||
|
BlockSoundGroup group = state.getSoundGroup();
|
||||||
|
world.playSound(null, pos, group.getPlaceSound(), SoundCategory.BLOCKS, group.getVolume(), group.getPitch());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getTint(BlockState state, @Nullable BlockRenderView world, @Nullable BlockPos pos, int foliageColor) {
|
||||||
|
return TintedBlock.blend(foliageColor, overlay);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
package com.minelittlepony.unicopia.block;
|
package com.minelittlepony.unicopia.block;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import com.minelittlepony.unicopia.Unicopia;
|
import com.minelittlepony.unicopia.Unicopia;
|
||||||
import com.minelittlepony.unicopia.item.UItems;
|
import com.minelittlepony.unicopia.item.UItems;
|
||||||
|
|
||||||
|
@ -18,6 +21,8 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.world.BlockView;
|
import net.minecraft.world.BlockView;
|
||||||
|
|
||||||
public interface UBlocks {
|
public interface UBlocks {
|
||||||
|
List<Block> TRANSLUCENT_BLOCKS = new ArrayList<>();
|
||||||
|
|
||||||
Block ROCKS = register("rocks", new RockCropBlock(FabricBlockSettings.of(
|
Block ROCKS = register("rocks", new RockCropBlock(FabricBlockSettings.of(
|
||||||
new FabricMaterialBuilder(MapColor.STONE_GRAY).allowsMovement().lightPassesThrough().notSolid().destroyedByPiston().build()
|
new FabricMaterialBuilder(MapColor.STONE_GRAY).allowsMovement().lightPassesThrough().notSolid().destroyedByPiston().build()
|
||||||
)
|
)
|
||||||
|
@ -29,10 +34,10 @@ public interface UBlocks {
|
||||||
Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly()));
|
Block FROSTED_OBSIDIAN = register("frosted_obsidian", new FrostedObsidianBlock(FabricBlockSettings.copy(Blocks.OBSIDIAN).ticksRandomly()));
|
||||||
|
|
||||||
Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroup.MATERIALS);
|
Block ZAP_LOG = register("zap_log", new ZapAppleLogBlock(Blocks.OAK_LOG, MapColor.GRAY, MapColor.DEEPSLATE_GRAY), ItemGroup.MATERIALS);
|
||||||
Block ZAP_WOOD = register("zap_wood", new ZapBlock(AbstractBlock.Settings.of(Material.WOOD, MapColor.DEEPSLATE_GRAY).sounds(BlockSoundGroup.WOOD), Blocks.OAK_WOOD), ItemGroup.MATERIALS);
|
Block ZAP_WOOD = register("zap_wood", new ZapAppleLogBlock(Blocks.OAK_WOOD, MapColor.DEEPSLATE_GRAY, MapColor.DEEPSLATE_GRAY), ItemGroup.MATERIALS);
|
||||||
|
|
||||||
Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroup.MATERIALS);
|
Block STRIPPED_ZAP_LOG = register("stripped_zap_log", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_LOG, MapColor.LIGHT_GRAY, MapColor.GRAY), ItemGroup.MATERIALS);
|
||||||
Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapBlock(AbstractBlock.Settings.of(Material.WOOD, MapColor.DEEPSLATE_GRAY).sounds(BlockSoundGroup.WOOD), Blocks.STRIPPED_OAK_WOOD), ItemGroup.MATERIALS);
|
Block STRIPPED_ZAP_WOOD = register("stripped_zap_wood", new ZapAppleLogBlock(Blocks.STRIPPED_OAK_WOOD, MapColor.GRAY, MapColor.GRAY), ItemGroup.MATERIALS);
|
||||||
|
|
||||||
Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroup.DECORATIONS);
|
Block ZAP_LEAVES = register("zap_leaves", new ZapAppleLeavesBlock(), ItemGroup.DECORATIONS);
|
||||||
Block ZAP_BULB = register("zap_bulb", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE));
|
Block ZAP_BULB = register("zap_bulb", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GRAY).strength(500, 1200).sounds(BlockSoundGroup.AZALEA_LEAVES), Direction.DOWN, ZAP_LEAVES, FruitBlock.DEFAULT_SHAPE));
|
||||||
|
@ -44,6 +49,7 @@ public interface UBlocks {
|
||||||
() -> UItems.GREEN_APPLE.getDefaultStack()
|
() -> UItems.GREEN_APPLE.getDefaultStack()
|
||||||
), ItemGroup.DECORATIONS);
|
), ItemGroup.DECORATIONS);
|
||||||
Block GREEN_APPLE = register("green_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, GREEN_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE));
|
Block GREEN_APPLE = register("green_apple", new FruitBlock(FabricBlockSettings.of(Material.GOURD, MapColor.GREEN).sounds(BlockSoundGroup.WOOD), Direction.DOWN, GREEN_APPLE_LEAVES, FruitBlock.DEFAULT_SHAPE));
|
||||||
|
Block GREEN_APPLE_SPROUT = register("green_apple_sprout", new SproutBlock(0xE5FFFF88, () -> UItems.GREEN_APPLE_SEEDS, () -> UTreeGen.GREEN_APPLE_TREE.sapling().map(Block::getDefaultState).get()));
|
||||||
|
|
||||||
static <T extends Block> T register(String name, T item) {
|
static <T extends Block> T register(String name, T item) {
|
||||||
return register(Unicopia.id(name), item);
|
return register(Unicopia.id(name), item);
|
||||||
|
@ -62,6 +68,9 @@ public interface UBlocks {
|
||||||
if (block instanceof TintedBlock) {
|
if (block instanceof TintedBlock) {
|
||||||
TintedBlock.REGISTRY.add(block);
|
TintedBlock.REGISTRY.add(block);
|
||||||
}
|
}
|
||||||
|
if (block instanceof SaplingBlock || block instanceof SproutBlock || block instanceof FruitBlock) {
|
||||||
|
TRANSLUCENT_BLOCKS.add(block);
|
||||||
|
}
|
||||||
return Registry.register(Registry.BLOCK, id, block);
|
return Registry.register(Registry.BLOCK, id, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,9 +35,7 @@ import net.minecraft.client.color.world.FoliageColors;
|
||||||
import net.minecraft.client.item.ModelPredicateProviderRegistry;
|
import net.minecraft.client.item.ModelPredicateProviderRegistry;
|
||||||
import net.minecraft.client.particle.Particle;
|
import net.minecraft.client.particle.Particle;
|
||||||
import net.minecraft.client.particle.SpriteProvider;
|
import net.minecraft.client.particle.SpriteProvider;
|
||||||
import net.minecraft.client.render.DiffuseLighting;
|
import net.minecraft.client.render.*;
|
||||||
import net.minecraft.client.render.OverlayTexture;
|
|
||||||
import net.minecraft.client.render.VertexConsumerProvider;
|
|
||||||
import net.minecraft.client.render.entity.FlyingItemEntityRenderer;
|
import net.minecraft.client.render.entity.FlyingItemEntityRenderer;
|
||||||
import net.minecraft.client.render.item.ItemRenderer;
|
import net.minecraft.client.render.item.ItemRenderer;
|
||||||
import net.minecraft.client.render.model.json.ModelTransformation;
|
import net.minecraft.client.render.model.json.ModelTransformation;
|
||||||
|
@ -135,14 +133,12 @@ public interface URenderers {
|
||||||
|
|
||||||
ColorProviderRegistry.BLOCK.register(tintedProvider, TintedBlock.REGISTRY.stream().toArray(Block[]::new));
|
ColorProviderRegistry.BLOCK.register(tintedProvider, TintedBlock.REGISTRY.stream().toArray(Block[]::new));
|
||||||
ColorProviderRegistry.ITEM.register((stack, i) -> {
|
ColorProviderRegistry.ITEM.register((stack, i) -> {
|
||||||
Block block = Block.getBlockFromItem(stack.getItem());
|
return tintedProvider.getColor(Block.getBlockFromItem(stack.getItem()).getDefaultState(), null, null, i);
|
||||||
return block instanceof TintedBlock ? tintedProvider.getColor(block.getDefaultState(), null, null, i) : FoliageColors.getDefaultColor();
|
|
||||||
}, TintedBlock.REGISTRY.stream().map(Block::asItem).filter(i -> i != Items.AIR).toArray(Item[]::new));
|
}, TintedBlock.REGISTRY.stream().map(Block::asItem).filter(i -> i != Items.AIR).toArray(Item[]::new));
|
||||||
|
|
||||||
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayers.getTranslucent(), FruitBlock.REGISTRY.stream().toArray(FruitBlock[]::new));
|
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), UBlocks.TRANSLUCENT_BLOCKS.stream().toArray(Block[]::new));
|
||||||
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayers.getTranslucent(), Tree.REGISTRY.stream().flatMap(tree -> tree.sapling().stream()).toArray(Block[]::new));
|
|
||||||
// for lava boats
|
// for lava boats
|
||||||
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayers.getTranslucent(), Fluids.LAVA, Fluids.FLOWING_LAVA);
|
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.LAVA, Fluids.FLOWING_LAVA);
|
||||||
}
|
}
|
||||||
|
|
||||||
static <T extends ParticleEffect> PendingParticleFactory<T> createFactory(ParticleSupplier<T> supplier) {
|
static <T extends ParticleEffect> PendingParticleFactory<T> createFactory(ParticleSupplier<T> supplier) {
|
||||||
|
|
|
@ -79,6 +79,8 @@ public interface UItems {
|
||||||
Item WEIRD_ROCK = register("weird_rock", new Item(new Item.Settings().group(ItemGroup.MATERIALS)));
|
Item WEIRD_ROCK = register("weird_rock", new Item(new Item.Settings().group(ItemGroup.MATERIALS)));
|
||||||
Item ROCK_STEW = register("rock_stew", new Item(new Item.Settings().group(ItemGroup.FOOD).food(FoodComponents.MUSHROOM_STEW)));
|
Item ROCK_STEW = register("rock_stew", new Item(new Item.Settings().group(ItemGroup.FOOD).food(FoodComponents.MUSHROOM_STEW)));
|
||||||
|
|
||||||
|
Item GREEN_APPLE_SEEDS = register("green_apple_seeds", new AliasedBlockItem(UBlocks.GREEN_APPLE_SPROUT, new Item.Settings().group(ItemGroup.MATERIALS)));
|
||||||
|
|
||||||
Item MUG = register("mug", new Item(new Settings().group(ItemGroup.MATERIALS).maxCount(16)));
|
Item MUG = register("mug", new Item(new Settings().group(ItemGroup.MATERIALS).maxCount(16)));
|
||||||
Item CIDER = register("cider", new DrinkableItem(new Item.Settings().group(ItemGroup.FOOD).food(UFoodComponents.CIDER).maxCount(1).recipeRemainder(MUG)));
|
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 JUICE = register("juice", new DrinkableItem(new Item.Settings().group(ItemGroup.FOOD).recipeRemainder(Items.GLASS_BOTTLE).maxCount(1).food(UFoodComponents.JUICE)));
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"age=0": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage0"
|
||||||
|
},
|
||||||
|
"age=1": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage1"
|
||||||
|
},
|
||||||
|
"age=2": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage2"
|
||||||
|
},
|
||||||
|
"age=3": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage3"
|
||||||
|
},
|
||||||
|
"age=4": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage4"
|
||||||
|
},
|
||||||
|
"age=5": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage5"
|
||||||
|
},
|
||||||
|
"age=6": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage6"
|
||||||
|
},
|
||||||
|
"age=7": {
|
||||||
|
"model": "unicopia:block/green_apple_sprout_stage7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,6 +57,7 @@
|
||||||
"item.unicopia.rock": "Rock",
|
"item.unicopia.rock": "Rock",
|
||||||
"item.unicopia.weird_rock": "Weird Rock",
|
"item.unicopia.weird_rock": "Weird Rock",
|
||||||
"item.unicopia.rock_stew": "Rock Stew",
|
"item.unicopia.rock_stew": "Rock Stew",
|
||||||
|
"item.unicopia.green_apple_seeds": "Granny Smith Apple Seeds",
|
||||||
|
|
||||||
"item.unicopia.daffodil_daisy_sandwich": "Daffodil Daisy Sandwich",
|
"item.unicopia.daffodil_daisy_sandwich": "Daffodil Daisy Sandwich",
|
||||||
"item.unicopia.hay_burger": "Hay Burger",
|
"item.unicopia.hay_burger": "Hay Burger",
|
||||||
|
@ -98,6 +99,7 @@
|
||||||
"block.unicopia.zap_bulb": "Unripened Zap Apple",
|
"block.unicopia.zap_bulb": "Unripened Zap Apple",
|
||||||
"block.unicopia.green_apple_leaves": "Granny Smith Leaves",
|
"block.unicopia.green_apple_leaves": "Granny Smith Leaves",
|
||||||
"block.unicopia.green_apple_sapling": "Granny Smith Sapling",
|
"block.unicopia.green_apple_sapling": "Granny Smith Sapling",
|
||||||
|
"block.unicopia.green_apple_sprout": "Granny Smith Sprout",
|
||||||
|
|
||||||
"entity.unicopia.butterfly": "Butterfly",
|
"entity.unicopia.butterfly": "Butterfly",
|
||||||
"entity.unicopia.twittermite": "Twittermite",
|
"entity.unicopia.twittermite": "Twittermite",
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth0",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth1",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth2",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth3",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth4",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth5",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth6",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stem_growth7",
|
||||||
|
"textures": {
|
||||||
|
"stem": "minecraft:block/melon_stem"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_column",
|
||||||
|
"textures": {
|
||||||
|
"end": "minecraft:block/melon_top",
|
||||||
|
"side": "minecraft:block/melon_side"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "unicopia:item/green_apple_seeds"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shapeless",
|
||||||
|
"ingredients": [
|
||||||
|
{ "item": "unicopia:green_apple" }
|
||||||
|
],
|
||||||
|
"result": { "item": "unicopia:green_apple_seeds", "count": 3 }
|
||||||
|
}
|
Loading…
Reference in a new issue