From c3fee217d158b34bb4b33e9f786eb7864d0fc592 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 19 Oct 2023 23:13:41 +0100 Subject: [PATCH] Added cloud stairs, recipes, and loot tables --- .../unicopia/EquineContext.java | 3 + .../unicopia/block/UBlocks.java | 34 ++- .../unicopia/block/cloud/CloudBlock.java | 10 +- .../block/cloud/CloudStairsBlock.java | 106 +++++++++ .../unicopia/client/URenderers.java | 8 +- .../unicopia/entity/mob/AirBalloonEntity.java | 16 +- .../minelittlepony/unicopia/item/UItems.java | 8 - .../unicopia/blockstates/cloud_stairs.json | 209 ++++++++++++++++++ .../blockstates/soggy_cloud_stairs.json | 209 ++++++++++++++++++ .../resources/assets/unicopia/lang/en_us.json | 2 + .../unicopia/models/block/cloud_stairs.json | 8 + .../models/block/cloud_stairs_inner.json | 8 + .../models/block/cloud_stairs_outer.json | 8 + .../models/block/soggy_cloud_stairs.json | 8 + .../block/soggy_cloud_stairs_inner.json | 8 + .../block/soggy_cloud_stairs_outer.json | 8 + .../unicopia/models/item/cloud_stairs.json | 3 + .../recipes/blocks/chiselled_chitin.json | 30 +++ .../recipes/blocks/chiselled_chitin_hull.json | 30 +++ .../recipes/blocks/chiselled_chitin_slab.json | 30 +++ .../blocks/chiselled_chitin_stairs.json | 30 +++ .../recipes/blocks/chitin_spikes.json | 30 +++ .../recipes/blocks/cloud_pillar.json | 30 +++ .../recipes/blocks/cloud_slab.json | 30 +++ .../recipes/blocks/cloud_stairs.json | 30 +++ .../recipes/blocks/dense_cloud.json | 30 +++ .../recipes/blocks/dense_cloud_slab.json | 30 +++ .../recipes/blocks/dense_cloud_stairs.json | 30 +++ .../unicopia/loot_tables/blocks/cloud.json | 20 ++ .../loot_tables/blocks/cloud_pillar.json | 27 +++ .../loot_tables/blocks/cloud_slab.json | 27 +++ .../loot_tables/blocks/cloud_stairs.json | 27 +++ .../loot_tables/blocks/compacted_cloud.json | 20 ++ .../loot_tables/blocks/dense_cloud.json | 20 ++ .../loot_tables/blocks/dense_cloud_slab.json | 27 +++ .../blocks/dense_cloud_stairs.json | 27 +++ .../loot_tables/blocks/soggy_cloud.json | 20 ++ .../loot_tables/blocks/soggy_cloud_slab.json | 27 +++ .../blocks/soggy_cloud_stairs.json | 27 +++ .../loot_tables/blocks/unstable_cloud.json | 20 ++ .../{ => blocks}/chiselled_chitin.json | 0 .../{ => blocks}/chiselled_chitin_hull.json | 0 .../{ => blocks}/chiselled_chitin_slab.json | 0 .../{ => blocks}/chiselled_chitin_stairs.json | 0 .../unicopia/recipes/{ => blocks}/chitin.json | 0 .../recipes/{ => blocks}/chitin_spikes.json | 0 .../unicopia/recipes/blocks/cloud_pillar.json | 14 ++ .../unicopia/recipes/blocks/cloud_slab.json | 12 + .../unicopia/recipes/blocks/cloud_stairs.json | 14 ++ .../unicopia/recipes/blocks/dense_cloud.json | 13 ++ .../recipes/blocks/dense_cloud_slab.json | 12 + .../recipes/blocks/dense_cloud_stairs.json | 14 ++ .../stone_cutting/chiselled_chitin_hull.json | 6 + .../stone_cutting/chiselled_chitin_slab.json | 6 + .../chiselled_chitin_stairs.json | 6 + .../unicopia/tags/items/groups/pegasus.json | 7 + 56 files changed, 1346 insertions(+), 33 deletions(-) create mode 100644 src/main/java/com/minelittlepony/unicopia/block/cloud/CloudStairsBlock.java create mode 100644 src/main/resources/assets/unicopia/blockstates/cloud_stairs.json create mode 100644 src/main/resources/assets/unicopia/blockstates/soggy_cloud_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/block/cloud_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/block/cloud_stairs_inner.json create mode 100644 src/main/resources/assets/unicopia/models/block/cloud_stairs_outer.json create mode 100644 src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs.json create mode 100644 src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_inner.json create mode 100644 src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_outer.json create mode 100644 src/main/resources/assets/unicopia/models/item/cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json create mode 100644 src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/cloud.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/cloud_pillar.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/cloud_slab.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/compacted_cloud.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_slab.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_slab.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/loot_tables/blocks/unstable_cloud.json rename src/main/resources/data/unicopia/recipes/{ => blocks}/chiselled_chitin.json (100%) rename src/main/resources/data/unicopia/recipes/{ => blocks}/chiselled_chitin_hull.json (100%) rename src/main/resources/data/unicopia/recipes/{ => blocks}/chiselled_chitin_slab.json (100%) rename src/main/resources/data/unicopia/recipes/{ => blocks}/chiselled_chitin_stairs.json (100%) rename src/main/resources/data/unicopia/recipes/{ => blocks}/chitin.json (100%) rename src/main/resources/data/unicopia/recipes/{ => blocks}/chitin_spikes.json (100%) create mode 100644 src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json create mode 100644 src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json create mode 100644 src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json create mode 100644 src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json create mode 100644 src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json create mode 100644 src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_hull.json create mode 100644 src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_slab.json create mode 100644 src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_stairs.json diff --git a/src/main/java/com/minelittlepony/unicopia/EquineContext.java b/src/main/java/com/minelittlepony/unicopia/EquineContext.java index ed307b09..e031b81c 100644 --- a/src/main/java/com/minelittlepony/unicopia/EquineContext.java +++ b/src/main/java/com/minelittlepony/unicopia/EquineContext.java @@ -33,6 +33,9 @@ public interface EquineContext { } static EquineContext of(Entity entity) { + if (entity instanceof EquineContext c) { + return c; + } return MoreObjects.firstNonNull(Equine.of(entity).orElse(null), ABSENT); } } diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 1a3e44f1..60da2dfa 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -7,6 +7,7 @@ import java.util.List; import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.block.cloud.CloudPillarBlock; import com.minelittlepony.unicopia.block.cloud.CloudSlabBlock; +import com.minelittlepony.unicopia.block.cloud.CloudStairsBlock; import com.minelittlepony.unicopia.block.cloud.CompactedCloudBlock; import com.minelittlepony.unicopia.block.cloud.NaturalCloudBlock; import com.minelittlepony.unicopia.block.cloud.CloudBlock; @@ -14,6 +15,7 @@ import com.minelittlepony.unicopia.block.cloud.SoggyCloudBlock; import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock; import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock; import com.minelittlepony.unicopia.item.UItems; +import com.minelittlepony.unicopia.item.cloud.CloudBlockItem; import com.minelittlepony.unicopia.item.group.ItemGroupRegistry; import com.minelittlepony.unicopia.server.world.UTreeGen; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -35,6 +37,7 @@ import net.minecraft.registry.Registries; public interface UBlocks { List TRANSLUCENT_BLOCKS = new ArrayList<>(); + List SEMI_TRANSPARENT_BLOCKS = new ArrayList<>(); Block ROCKS = register("rocks", new RockCropBlock(Settings.create() .mapColor(MapColor.STONE_GRAY) @@ -122,6 +125,10 @@ public interface UBlocks { () -> UItems.APPLE_PIE_HOOF )); + SegmentedCropBlock OATS = register("oats", SegmentedCropBlock.create(11, 5, AbstractBlock.Settings.copy(Blocks.WHEAT), () -> UItems.OAT_SEEDS, null, null)); + SegmentedCropBlock OATS_STEM = register("oats_stem", OATS.createNext(5)); + SegmentedCropBlock OATS_CROWN = register("oats_crown", OATS_STEM.createNext(5)); + Block CHITIN = register("chitin", new SnowyBlock(Settings.create().mapColor(MapColor.PALE_PURPLE).hardness(5).requiresTool().ticksRandomly().sounds(BlockSoundGroup.CORAL)), ItemGroups.NATURAL); Block SURFACE_CHITIN = register("surface_chitin", new GrowableBlock(Settings.copy(CHITIN), () -> CHITIN), ItemGroups.NATURAL); Block CHISELLED_CHITIN = register("chiselled_chitin", new Block(Settings.create().mapColor(MapColor.PALE_PURPLE).hardness(5).requiresTool()), ItemGroups.BUILDING_BLOCKS); @@ -133,19 +140,17 @@ public interface UBlocks { Block MYSTERIOUS_EGG = register("mysterious_egg", new PileBlock(Settings.copy(Blocks.SLIME_BLOCK), PileBlock.MYSTERIOUS_EGG_SHAPES), ItemGroups.NATURAL); Block SLIME_PUSTULE = register("slime_pustule", new SlimePustuleBlock(Settings.copy(Blocks.SLIME_BLOCK)), ItemGroups.NATURAL); - Block CLOUD = register("cloud", new NaturalCloudBlock(Settings.create().mapColor(MapColor.OFF_WHITE).hardness(0.3F).resistance(0).sounds(BlockSoundGroup.WOOL), true, () -> UBlocks.SOGGY_CLOUD)); - Block CLOUD_SLAB = register("cloud_slab", new CloudSlabBlock(Settings.copy(CLOUD), true, () -> UBlocks.SOGGY_CLOUD_SLAB)); + Block CLOUD = register("cloud", new NaturalCloudBlock(Settings.create().mapColor(MapColor.OFF_WHITE).hardness(0.3F).resistance(0).sounds(BlockSoundGroup.WOOL), true, () -> UBlocks.SOGGY_CLOUD), ItemGroups.NATURAL); + Block CLOUD_SLAB = register("cloud_slab", new CloudSlabBlock(Settings.copy(CLOUD), true, () -> UBlocks.SOGGY_CLOUD_SLAB), ItemGroups.NATURAL); + Block CLOUD_STAIRS = register("cloud_stairs", new CloudStairsBlock(CLOUD.getDefaultState(), Settings.copy(CLOUD), () -> UBlocks.SOGGY_CLOUD_STAIRS), ItemGroups.NATURAL); Block COMPACTED_CLOUD = register("compacted_cloud", new CompactedCloudBlock(Settings.copy(CLOUD))); - Block UNSTABLE_CLOUD = register("unstable_cloud", new UnstableCloudBlock(Settings.copy(CLOUD))); + Block UNSTABLE_CLOUD = register("unstable_cloud", new UnstableCloudBlock(Settings.copy(CLOUD)), ItemGroups.NATURAL); SoggyCloudBlock SOGGY_CLOUD = register("soggy_cloud", new SoggyCloudBlock(Settings.copy(CLOUD), () -> UBlocks.CLOUD)); SoggyCloudSlabBlock SOGGY_CLOUD_SLAB = register("soggy_cloud_slab", new SoggyCloudSlabBlock(Settings.copy(CLOUD), () -> UBlocks.CLOUD_SLAB)); - Block DENSE_CLOUD = register("dense_cloud", new CloudBlock(Settings.create().mapColor(MapColor.GRAY).hardness(0.5F).resistance(0).sounds(BlockSoundGroup.WOOL), false)); - Block DENSE_CLOUD_SLAB = register("dense_cloud_slab", new CloudSlabBlock(Settings.copy(DENSE_CLOUD), false, null)); - Block CLOUD_PILLAR = register("cloud_pillar", new CloudPillarBlock(Settings.create().mapColor(MapColor.GRAY).hardness(0.5F).resistance(0).sounds(BlockSoundGroup.WOOL))); - - SegmentedCropBlock OATS = register("oats", SegmentedCropBlock.create(11, 5, AbstractBlock.Settings.copy(Blocks.WHEAT), () -> UItems.OAT_SEEDS, null, null)); - SegmentedCropBlock OATS_STEM = register("oats_stem", OATS.createNext(5)); - SegmentedCropBlock OATS_CROWN = register("oats_crown", OATS_STEM.createNext(5)); + CloudStairsBlock SOGGY_CLOUD_STAIRS = register("soggy_cloud_stairs", new CloudStairsBlock(SOGGY_CLOUD.getDefaultState(), Settings.copy(CLOUD), null)); + Block DENSE_CLOUD = register("dense_cloud", new CloudBlock(Settings.create().mapColor(MapColor.GRAY).hardness(0.5F).resistance(0).sounds(BlockSoundGroup.WOOL), false), ItemGroups.NATURAL); + Block DENSE_CLOUD_SLAB = register("dense_cloud_slab", new CloudSlabBlock(Settings.copy(DENSE_CLOUD), false, null), ItemGroups.NATURAL); + Block CLOUD_PILLAR = register("cloud_pillar", new CloudPillarBlock(Settings.create().mapColor(MapColor.GRAY).hardness(0.5F).resistance(0).sounds(BlockSoundGroup.WOOL)), ItemGroups.NATURAL); private static T register(String name, T item) { return register(Unicopia.id(name), item); @@ -156,7 +161,11 @@ public interface UBlocks { } static T register(Identifier id, T block, RegistryKey group) { - ItemGroupRegistry.register(id, new BlockItem(block, new Item.Settings()), group); + ItemGroupRegistry.register(id, + block instanceof CloudBlock || block instanceof CloudStairsBlock + ? new CloudBlockItem(block, new Item.Settings()) + : new BlockItem(block, new Item.Settings() + ), group); return register(id, block); } @@ -167,6 +176,9 @@ public interface UBlocks { if (block instanceof SaplingBlock || block instanceof SproutBlock || block instanceof FruitBlock || block instanceof CropBlock || block instanceof DoorBlock || block instanceof TrapdoorBlock) { TRANSLUCENT_BLOCKS.add(block); } + if (block instanceof CloudBlock || block instanceof CloudStairsBlock || block instanceof SlimePustuleBlock || block instanceof PileBlock) { + SEMI_TRANSPARENT_BLOCKS.add(block); + } return Registry.register(Registries.BLOCK, id, block); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudBlock.java b/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudBlock.java index 1f2b17b0..d4c0237e 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudBlock.java @@ -6,9 +6,9 @@ import com.minelittlepony.unicopia.EquineContext; import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.entity.player.Pony; +import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; -import net.minecraft.block.TransparentBlock; import net.minecraft.entity.Entity; import net.minecraft.entity.ai.pathing.NavigationType; import net.minecraft.entity.player.PlayerEntity; @@ -27,7 +27,7 @@ import net.minecraft.world.EmptyBlockView; import net.minecraft.world.LightType; import net.minecraft.world.World; -public class CloudBlock extends TransparentBlock { +public class CloudBlock extends Block { protected final boolean meltable; @@ -55,7 +55,7 @@ public class CloudBlock extends TransparentBlock { @Override public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { entity.handleFallDamage(fallDistance, 0, world.getDamageSources().fall()); - generateSurfaceParticles(world, state, pos, ShapeContext.of(entity), 9); + generateSurfaceParticles(world, state, pos, ShapeContext.absent(), 9); if (fallDistance > 7) { world.breakBlock(pos, true); @@ -65,12 +65,12 @@ public class CloudBlock extends TransparentBlock { @Override public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) { if (world.random.nextInt(15) == 0) { - generateSurfaceParticles(world, state, pos, ShapeContext.of(entity), 1); + generateSurfaceParticles(world, state, pos, ShapeContext.absent(), 1); } } protected void generateSurfaceParticles(World world, BlockState state, BlockPos pos, ShapeContext context, int count) { - VoxelShape shape = getCollisionShape(state, world, pos, context); + VoxelShape shape = state.getCullingShape(world, pos); Random rng = world.random; Box box = shape.getBoundingBox(); diff --git a/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudStairsBlock.java b/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudStairsBlock.java new file mode 100644 index 00000000..c599ba70 --- /dev/null +++ b/src/main/java/com/minelittlepony/unicopia/block/cloud/CloudStairsBlock.java @@ -0,0 +1,106 @@ +package com.minelittlepony.unicopia.block.cloud; + +import java.util.function.Supplier; + +import org.jetbrains.annotations.Nullable; + +import com.minelittlepony.unicopia.EquineContext; +import net.minecraft.block.BlockState; +import net.minecraft.block.ShapeContext; +import net.minecraft.block.StairsBlock; +import net.minecraft.entity.Entity; +import net.minecraft.entity.ai.pathing.NavigationType; +import net.minecraft.item.ItemPlacementContext; +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; + +public class CloudStairsBlock extends StairsBlock implements Soakable { + + private final CloudBlock baseBlock; + private final @Nullable Supplier soggyBlock; + + public CloudStairsBlock(BlockState baseState, Settings settings, @Nullable Supplier soggyBlock) { + super(baseState, settings); + this.baseBlock = (CloudBlock)baseState.getBlock(); + this.soggyBlock = soggyBlock; + } + + @Override + public void onEntityLand(BlockView world, Entity entity) { + baseBlock.onEntityLand(world, entity); + } + + @Override + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + baseBlock.onLandedUpon(world, state, pos, entity, fallDistance); + } + + @Override + @Deprecated + public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { + baseBlock.onEntityCollision(state, world, pos, entity); + } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + if (!baseBlock.canInteract(state, world, pos, EquineContext.of(context))) { + return VoxelShapes.empty(); + } + return super.getOutlineShape(state, world, pos, context); + } + + @Override + @Deprecated + public final VoxelShape getCullingShape(BlockState state, BlockView world, BlockPos pos) { + return super.getOutlineShape(state, world, pos, ShapeContext.absent()); + } + + @Override + @Deprecated + public VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return this.collidable ? state.getOutlineShape(world, pos, context) : VoxelShapes.empty(); + } + + @Override + @Nullable + public BlockState getPlacementState(ItemPlacementContext context) { + EquineContext equineContext = EquineContext.of(context); + if (!baseBlock.canInteract(getDefaultState(), context.getWorld(), context.getBlockPos(), equineContext)) { + return null; + } + return super.getPlacementState(context); + } + + @Deprecated + @Override + public boolean canReplace(BlockState state, ItemPlacementContext context) { + return baseBlock.canReplace(state, context); + } + + @Deprecated + @Override + public boolean isSideInvisible(BlockState state, BlockState stateFrom, Direction direction) { + return baseBlock.isSideInvisible(state, stateFrom, direction); + } + + @Override + @Deprecated + public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) { + return true; + } + + @Nullable + @Override + public BlockState getSoggyState(int moisture) { + return soggyBlock == null ? (baseBlock instanceof Soakable s ? s.getSoggyState(moisture) : null) : soggyBlock.get().getSoggyState(moisture); + } + + @Override + public int getMoisture(BlockState state) { + return baseBlock instanceof Soakable s ? s.getMoisture(state) : 0; + } +} diff --git a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java index 4cd06f66..f46daa5e 100644 --- a/src/main/java/com/minelittlepony/unicopia/client/URenderers.java +++ b/src/main/java/com/minelittlepony/unicopia/client/URenderers.java @@ -172,13 +172,7 @@ public interface URenderers { }, TintedBlock.REGISTRY.stream().map(Block::asItem).filter(i -> i != Items.AIR).toArray(Item[]::new)); BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), UBlocks.TRANSLUCENT_BLOCKS.stream().toArray(Block[]::new)); - BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getTranslucent(), - UBlocks.MYSTERIOUS_EGG, UBlocks.SLIME_PUSTULE, - UBlocks.CLOUD, UBlocks.DENSE_CLOUD, UBlocks.CLOUD_PILLAR, - UBlocks.CLOUD_SLAB, UBlocks.DENSE_CLOUD_SLAB, - UBlocks.SOGGY_CLOUD, UBlocks.SOGGY_CLOUD_SLAB, - UBlocks.COMPACTED_CLOUD - ); + BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getTranslucent(), UBlocks.SEMI_TRANSPARENT_BLOCKS.stream().toArray(Block[]::new)); // for lava boats BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.LAVA, Fluids.FLOWING_LAVA); diff --git a/src/main/java/com/minelittlepony/unicopia/entity/mob/AirBalloonEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/mob/AirBalloonEntity.java index 4f1be0e9..9e19ef68 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/mob/AirBalloonEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/mob/AirBalloonEntity.java @@ -38,6 +38,8 @@ import java.util.function.Consumer; import java.util.function.IntFunction; import org.jetbrains.annotations.Nullable; +import com.minelittlepony.unicopia.EquineContext; +import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.USounds; import com.minelittlepony.unicopia.advancement.UCriteria; import com.minelittlepony.unicopia.entity.Living; @@ -52,7 +54,7 @@ import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.server.world.WeatherConditions; import com.terraformersmc.terraform.boat.api.TerraformBoatType; -public class AirBalloonEntity extends MobEntity implements EntityCollisions.ComplexCollidable, MultiBoundingBoxEntity, MagicImmune { +public class AirBalloonEntity extends MobEntity implements EntityCollisions.ComplexCollidable, MultiBoundingBoxEntity, MagicImmune, EquineContext { private static final TrackedData ASCENDING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.BOOLEAN); private static final TrackedData BOOSTING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); private static final TrackedData INFLATION = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER); @@ -454,9 +456,19 @@ public class AirBalloonEntity extends MobEntity implements EntityCollisions.Comp protected void fall(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { } + @Override + public Race getSpecies() { + return isAirworthy() && !isAscending() ? Race.PEGASUS : Race.UNSET; + } + + @Override + public float getCloudWalkingStrength() { + return isAirworthy() ? 2 : 0; + } + @Override public void travel(Vec3d movementInput) { - if (!this.isAirworthy()) { + if (!isAirworthy()) { super.travel(movementInput); } else { final float speed = 0.02F; diff --git a/src/main/java/com/minelittlepony/unicopia/item/UItems.java b/src/main/java/com/minelittlepony/unicopia/item/UItems.java index e91f1db4..fd6c80ff 100644 --- a/src/main/java/com/minelittlepony/unicopia/item/UItems.java +++ b/src/main/java/com/minelittlepony/unicopia/item/UItems.java @@ -6,7 +6,6 @@ import com.minelittlepony.unicopia.block.UBlocks; import com.minelittlepony.unicopia.block.UWoodTypes; import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity; import com.minelittlepony.unicopia.entity.mob.UEntities; -import com.minelittlepony.unicopia.item.cloud.CloudBlockItem; import com.minelittlepony.unicopia.item.enchantment.UEnchantments; import com.minelittlepony.unicopia.item.group.ItemGroupRegistry; import com.minelittlepony.unicopia.item.group.UItemGroups; @@ -144,13 +143,6 @@ public interface UItems { Item GIANT_BALLOON = register("giant_balloon", new HotAirBalloonItem(new Item.Settings().maxCount(1)), ItemGroups.TOOLS); - Item CLOUD = register("cloud", new CloudBlockItem(UBlocks.CLOUD, new Item.Settings()), ItemGroups.NATURAL); - Item CLOUD_SLAB = register("cloud_slab", new CloudBlockItem(UBlocks.CLOUD_SLAB, new Item.Settings()), ItemGroups.NATURAL); - Item DENSE_CLOUD = register("dense_cloud", new CloudBlockItem(UBlocks.DENSE_CLOUD, new Item.Settings()), ItemGroups.NATURAL); - Item DENSE_CLOUD_SLAB = register("dense_cloud_slab", new CloudBlockItem(UBlocks.DENSE_CLOUD_SLAB, new Item.Settings()), ItemGroups.NATURAL); - Item CLOUD_PILLAR = register("cloud_pillar", new CloudBlockItem(UBlocks.CLOUD_PILLAR, new Item.Settings()), ItemGroups.NATURAL); - Item UNSTABLE_CLOUD = register("unstable_cloud", new CloudBlockItem(UBlocks.UNSTABLE_CLOUD, new Item.Settings()), ItemGroups.NATURAL); - AmuletItem PEGASUS_AMULET = register("pegasus_amulet", new PegasusAmuletItem(new FabricItemSettings() .maxCount(1) .maxDamage(890) diff --git a/src/main/resources/assets/unicopia/blockstates/cloud_stairs.json b/src/main/resources/assets/unicopia/blockstates/cloud_stairs.json new file mode 100644 index 00000000..f5f2770e --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/cloud_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "unicopia:block/cloud_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "unicopia:block/cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "unicopia:block/cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "unicopia:block/cloud_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/blockstates/soggy_cloud_stairs.json b/src/main/resources/assets/unicopia/blockstates/soggy_cloud_stairs.json new file mode 100644 index 00000000..7ab311d3 --- /dev/null +++ b/src/main/resources/assets/unicopia/blockstates/soggy_cloud_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "unicopia:block/soggy_cloud_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "unicopia:block/soggy_cloud_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "unicopia:block/soggy_cloud_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/lang/en_us.json b/src/main/resources/assets/unicopia/lang/en_us.json index bfcb75d1..70e8ed6e 100644 --- a/src/main/resources/assets/unicopia/lang/en_us.json +++ b/src/main/resources/assets/unicopia/lang/en_us.json @@ -219,8 +219,10 @@ "block.unicopia.cloud": "Cloud", "block.unicopia.cloud_slab": "Cloud Slab", + "block.unicopia.cloud_stairs": "Cloud Stairs", "block.unicopia.soggy_cloud": "Soggy Cloud", "block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab", + "block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs", "block.unicopia.unstable_cloud": "Unstable Cloud", "block.unicopia.cloud_pillar": "Cloud Pillar", "block.unicopia.dense_cloud": "Dense Cloud", diff --git a/src/main/resources/assets/unicopia/models/block/cloud_stairs.json b/src/main/resources/assets/unicopia/models/block/cloud_stairs.json new file mode 100644 index 00000000..9306f833 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/cloud_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/cloud", + "top": "unicopia:block/cloud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/cloud_stairs_inner.json b/src/main/resources/assets/unicopia/models/block/cloud_stairs_inner.json new file mode 100644 index 00000000..c2bfe82b --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/cloud_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/cloud", + "top": "unicopia:block/cloud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/cloud_stairs_outer.json b/src/main/resources/assets/unicopia/models/block/cloud_stairs_outer.json new file mode 100644 index 00000000..fe6696a6 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/cloud_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/cloud", + "top": "unicopia:block/cloud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs.json b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs.json new file mode 100644 index 00000000..0e463894 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "unicopia:block/cloud_stairs", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/soggy_cloud_side", + "top": "unicopia:block/soggy_cloud_top" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_inner.json b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_inner.json new file mode 100644 index 00000000..88488260 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "unicopia:block/cloud_stairs_inner", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/soggy_cloud_side", + "top": "unicopia:block/soggy_cloud_top" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_outer.json b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_outer.json new file mode 100644 index 00000000..1dc71cdb --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/soggy_cloud_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "unicopia:block/cloud_stairs_outer", + "textures": { + "bottom": "unicopia:block/cloud", + "side": "unicopia:block/soggy_cloud_side", + "top": "unicopia:block/soggy_cloud_top" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/cloud_stairs.json b/src/main/resources/assets/unicopia/models/item/cloud_stairs.json new file mode 100644 index 00000000..4073e673 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/item/cloud_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "unicopia:block/cloud_stairs" +} diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json new file mode 100644 index 00000000..1610add8 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/chiselled_chitin" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:chitin" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/chiselled_chitin" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json new file mode 100644 index 00000000..b6b439a9 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_hull.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/chiselled_chitin_hull" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:chiselled_chitin" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/chiselled_chitin_hull" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json new file mode 100644 index 00000000..ba30147f --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_slab.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/chiselled_chitin_slab" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:chiselled_chitin" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/chiselled_chitin_slab" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json new file mode 100644 index 00000000..3e46f0ff --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chiselled_chitin_stairs.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/chiselled_chitin_stairs" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:chiselled_chitin" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/chiselled_chitin_stairs" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json new file mode 100644 index 00000000..449289ef --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/chitin_spikes.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/chitin_spikes" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:chitin" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/chitin_spikes" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json new file mode 100644 index 00000000..8c3e6c27 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_pillar.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/cloud_pillar" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/cloud_pillar" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json new file mode 100644 index 00000000..33614bd3 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_slab.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/cloud_slab" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/cloud_slab" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json new file mode 100644 index 00000000..66b99dab --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/cloud_stairs.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/cloud_stairs" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/cloud_stairs" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json new file mode 100644 index 00000000..ec70a5ce --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/dense_cloud" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/dense_cloud" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json new file mode 100644 index 00000000..5b461912 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_slab.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/dense_cloud_slab" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:dense_cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/dense_cloud_slab" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json new file mode 100644 index 00000000..0551f0e0 --- /dev/null +++ b/src/main/resources/data/unicopia/advancements/recipes/blocks/dense_cloud_stairs.json @@ -0,0 +1,30 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "unicopia:blocks/dense_cloud_stairs" + ] + }, + "criteria": { + "has_ingredients": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { "item": "unicopia:dense_cloud" } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "unicopia:blocks/dense_cloud_stairs" + } + } + }, + "requirements": [ + [ + "has_ingredients", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/cloud.json b/src/main/resources/data/unicopia/loot_tables/blocks/cloud.json new file mode 100644 index 00000000..a63862dc --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/cloud.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/cloud_pillar.json b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_pillar.json new file mode 100644 index 00000000..25c27a93 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_pillar.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud", + "functions": [ + { + "add": false, + "count": 6, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/cloud_slab.json b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_slab.json new file mode 100644 index 00000000..b805f097 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_slab.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud", + "functions": [ + { + "add": false, + "count": 3, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/cloud_stairs.json b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_stairs.json new file mode 100644 index 00000000..25c27a93 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/cloud_stairs.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud", + "functions": [ + { + "add": false, + "count": 6, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/compacted_cloud.json b/src/main/resources/data/unicopia/loot_tables/blocks/compacted_cloud.json new file mode 100644 index 00000000..a63862dc --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/compacted_cloud.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud.json b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud.json new file mode 100644 index 00000000..a63862dc --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_slab.json b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_slab.json new file mode 100644 index 00000000..dcd9199d --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_slab.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:dense_cloud", + "functions": [ + { + "add": false, + "count": 3, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_stairs.json b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_stairs.json new file mode 100644 index 00000000..15b99d8c --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/dense_cloud_stairs.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:dense_cloud", + "functions": [ + { + "add": false, + "count": 6, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud.json b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud.json new file mode 100644 index 00000000..a63862dc --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_slab.json b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_slab.json new file mode 100644 index 00000000..b805f097 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_slab.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud", + "functions": [ + { + "add": false, + "count": 3, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_stairs.json b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_stairs.json new file mode 100644 index 00000000..25c27a93 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/soggy_cloud_stairs.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:cloud", + "functions": [ + { + "add": false, + "count": 6, + "function": "minecraft:set_count" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/loot_tables/blocks/unstable_cloud.json b/src/main/resources/data/unicopia/loot_tables/blocks/unstable_cloud.json new file mode 100644 index 00000000..6955bf13 --- /dev/null +++ b/src/main/resources/data/unicopia/loot_tables/blocks/unstable_cloud.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "unicopia:unstable_cloud" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/unicopia/recipes/chiselled_chitin.json b/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chiselled_chitin.json rename to src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin.json diff --git a/src/main/resources/data/unicopia/recipes/chiselled_chitin_hull.json b/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_hull.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chiselled_chitin_hull.json rename to src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_hull.json diff --git a/src/main/resources/data/unicopia/recipes/chiselled_chitin_slab.json b/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_slab.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chiselled_chitin_slab.json rename to src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_slab.json diff --git a/src/main/resources/data/unicopia/recipes/chiselled_chitin_stairs.json b/src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_stairs.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chiselled_chitin_stairs.json rename to src/main/resources/data/unicopia/recipes/blocks/chiselled_chitin_stairs.json diff --git a/src/main/resources/data/unicopia/recipes/chitin.json b/src/main/resources/data/unicopia/recipes/blocks/chitin.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chitin.json rename to src/main/resources/data/unicopia/recipes/blocks/chitin.json diff --git a/src/main/resources/data/unicopia/recipes/chitin_spikes.json b/src/main/resources/data/unicopia/recipes/blocks/chitin_spikes.json similarity index 100% rename from src/main/resources/data/unicopia/recipes/chitin_spikes.json rename to src/main/resources/data/unicopia/recipes/blocks/chitin_spikes.json diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json b/src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json new file mode 100644 index 00000000..202fc0d8 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/cloud_pillar.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##", + "##", + "##" + ], + "key": { + "#": [ + { "item": "unicopia:cloud" } + ] + }, + "result": { "item": "unicopia:cloud_pillar", "count": 3 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json b/src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json new file mode 100644 index 00000000..0612dbf3 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/cloud_slab.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": [ + { "item": "unicopia:cloud" } + ] + }, + "result": { "item": "unicopia:cloud_slab", "count": 6 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json b/src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json new file mode 100644 index 00000000..d1e30a9f --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/cloud_stairs.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": [ + { "item": "unicopia:cloud" } + ] + }, + "result": { "item": "unicopia:cloud_stairs", "count": 4 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json new file mode 100644 index 00000000..b139f26b --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##", + "##" + ], + "key": { + "#": [ + { "item": "unicopia:cloud" } + ] + }, + "result": { "item": "unicopia:dense_cloud", "count": 4 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json new file mode 100644 index 00000000..54a6f9ba --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_slab.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "###" + ], + "key": { + "#": [ + { "item": "unicopia:dense_cloud" } + ] + }, + "result": { "item": "unicopia:dense_cloud_slab", "count": 6 } +} diff --git a/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json new file mode 100644 index 00000000..1e4392ef --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/blocks/dense_cloud_stairs.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "# ", + "## ", + "###" + ], + "key": { + "#": [ + { "item": "unicopia:dense_cloud" } + ] + }, + "result": { "item": "unicopia:dense_cloud_stairs", "count": 4 } +} diff --git a/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_hull.json b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_hull.json new file mode 100644 index 00000000..296f1c4d --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_hull.json @@ -0,0 +1,6 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { "item": "unicopia:chiselled_chitin" }, + "result": "unicopia:chiselled_chitin_hull", + "count": 1 +} diff --git a/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_slab.json b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_slab.json new file mode 100644 index 00000000..a9392025 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_slab.json @@ -0,0 +1,6 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { "item": "unicopia:chiselled_chitin" }, + "result": "unicopia:chiselled_chitin_slab", + "count": 2 +} diff --git a/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_stairs.json b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_stairs.json new file mode 100644 index 00000000..77707741 --- /dev/null +++ b/src/main/resources/data/unicopia/recipes/stone_cutting/chiselled_chitin_stairs.json @@ -0,0 +1,6 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { "item": "unicopia:chiselled_chitin" }, + "result": "unicopia:chiselled_chitin_stairs", + "count": 1 +} diff --git a/src/main/resources/data/unicopia/tags/items/groups/pegasus.json b/src/main/resources/data/unicopia/tags/items/groups/pegasus.json index 90410143..b06427f9 100644 --- a/src/main/resources/data/unicopia/tags/items/groups/pegasus.json +++ b/src/main/resources/data/unicopia/tags/items/groups/pegasus.json @@ -1,6 +1,13 @@ { "replace": false, "values": [ + "unicopia:cloud", + "unicopia:cloud_slab", + "unicopia:cloud_stairs", + "unicopia:dense_cloud", + "unicopia:dense_cloud_slab", + "unicopia:unstable_cloud", + "unicopia:cloud_pillar", "#unicopia:food_types/raw_fish", "#unicopia:food_types/cooked_fish", "unicopia:rain_cloud_jar",