mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-01 11:36:43 +01:00
Added cloud stairs, recipes, and loot tables
This commit is contained in:
parent
b27cbf814b
commit
c3fee217d1
56 changed files with 1346 additions and 33 deletions
|
@ -33,6 +33,9 @@ public interface EquineContext {
|
||||||
}
|
}
|
||||||
|
|
||||||
static EquineContext of(Entity entity) {
|
static EquineContext of(Entity entity) {
|
||||||
|
if (entity instanceof EquineContext c) {
|
||||||
|
return c;
|
||||||
|
}
|
||||||
return MoreObjects.firstNonNull(Equine.of(entity).orElse(null), ABSENT);
|
return MoreObjects.firstNonNull(Equine.of(entity).orElse(null), ABSENT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import java.util.List;
|
||||||
import com.minelittlepony.unicopia.Unicopia;
|
import com.minelittlepony.unicopia.Unicopia;
|
||||||
import com.minelittlepony.unicopia.block.cloud.CloudPillarBlock;
|
import com.minelittlepony.unicopia.block.cloud.CloudPillarBlock;
|
||||||
import com.minelittlepony.unicopia.block.cloud.CloudSlabBlock;
|
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.CompactedCloudBlock;
|
||||||
import com.minelittlepony.unicopia.block.cloud.NaturalCloudBlock;
|
import com.minelittlepony.unicopia.block.cloud.NaturalCloudBlock;
|
||||||
import com.minelittlepony.unicopia.block.cloud.CloudBlock;
|
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.SoggyCloudSlabBlock;
|
||||||
import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock;
|
import com.minelittlepony.unicopia.block.cloud.UnstableCloudBlock;
|
||||||
import com.minelittlepony.unicopia.item.UItems;
|
import com.minelittlepony.unicopia.item.UItems;
|
||||||
|
import com.minelittlepony.unicopia.item.cloud.CloudBlockItem;
|
||||||
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
||||||
import com.minelittlepony.unicopia.server.world.UTreeGen;
|
import com.minelittlepony.unicopia.server.world.UTreeGen;
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
|
@ -35,6 +37,7 @@ import net.minecraft.registry.Registries;
|
||||||
|
|
||||||
public interface UBlocks {
|
public interface UBlocks {
|
||||||
List<Block> TRANSLUCENT_BLOCKS = new ArrayList<>();
|
List<Block> TRANSLUCENT_BLOCKS = new ArrayList<>();
|
||||||
|
List<Block> SEMI_TRANSPARENT_BLOCKS = new ArrayList<>();
|
||||||
|
|
||||||
Block ROCKS = register("rocks", new RockCropBlock(Settings.create()
|
Block ROCKS = register("rocks", new RockCropBlock(Settings.create()
|
||||||
.mapColor(MapColor.STONE_GRAY)
|
.mapColor(MapColor.STONE_GRAY)
|
||||||
|
@ -122,6 +125,10 @@ public interface UBlocks {
|
||||||
() -> UItems.APPLE_PIE_HOOF
|
() -> 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 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 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);
|
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 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 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 = 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));
|
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 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));
|
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));
|
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));
|
CloudStairsBlock SOGGY_CLOUD_STAIRS = register("soggy_cloud_stairs", new CloudStairsBlock(SOGGY_CLOUD.getDefaultState(), Settings.copy(CLOUD), null));
|
||||||
Block DENSE_CLOUD_SLAB = register("dense_cloud_slab", new CloudSlabBlock(Settings.copy(DENSE_CLOUD), false, 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 CLOUD_PILLAR = register("cloud_pillar", new CloudPillarBlock(Settings.create().mapColor(MapColor.GRAY).hardness(0.5F).resistance(0).sounds(BlockSoundGroup.WOOL)));
|
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);
|
||||||
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));
|
|
||||||
|
|
||||||
private static <T extends Block> T register(String name, T item) {
|
private static <T extends Block> T register(String name, T item) {
|
||||||
return register(Unicopia.id(name), item);
|
return register(Unicopia.id(name), item);
|
||||||
|
@ -156,7 +161,11 @@ public interface UBlocks {
|
||||||
}
|
}
|
||||||
|
|
||||||
static <T extends Block> T register(Identifier id, T block, RegistryKey<ItemGroup> group) {
|
static <T extends Block> T register(Identifier id, T block, RegistryKey<ItemGroup> 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);
|
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) {
|
if (block instanceof SaplingBlock || block instanceof SproutBlock || block instanceof FruitBlock || block instanceof CropBlock || block instanceof DoorBlock || block instanceof TrapdoorBlock) {
|
||||||
TRANSLUCENT_BLOCKS.add(block);
|
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);
|
return Registry.register(Registries.BLOCK, id, block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@ import com.minelittlepony.unicopia.EquineContext;
|
||||||
import com.minelittlepony.unicopia.Race;
|
import com.minelittlepony.unicopia.Race;
|
||||||
import com.minelittlepony.unicopia.entity.player.Pony;
|
import com.minelittlepony.unicopia.entity.player.Pony;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.ShapeContext;
|
import net.minecraft.block.ShapeContext;
|
||||||
import net.minecraft.block.TransparentBlock;
|
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.ai.pathing.NavigationType;
|
import net.minecraft.entity.ai.pathing.NavigationType;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
@ -27,7 +27,7 @@ import net.minecraft.world.EmptyBlockView;
|
||||||
import net.minecraft.world.LightType;
|
import net.minecraft.world.LightType;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class CloudBlock extends TransparentBlock {
|
public class CloudBlock extends Block {
|
||||||
|
|
||||||
protected final boolean meltable;
|
protected final boolean meltable;
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public class CloudBlock extends TransparentBlock {
|
||||||
@Override
|
@Override
|
||||||
public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
|
public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
|
||||||
entity.handleFallDamage(fallDistance, 0, world.getDamageSources().fall());
|
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) {
|
if (fallDistance > 7) {
|
||||||
world.breakBlock(pos, true);
|
world.breakBlock(pos, true);
|
||||||
|
@ -65,12 +65,12 @@ public class CloudBlock extends TransparentBlock {
|
||||||
@Override
|
@Override
|
||||||
public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) {
|
public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) {
|
||||||
if (world.random.nextInt(15) == 0) {
|
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) {
|
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;
|
Random rng = world.random;
|
||||||
Box box = shape.getBoundingBox();
|
Box box = shape.getBoundingBox();
|
||||||
|
|
||||||
|
|
|
@ -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<Soakable> soggyBlock;
|
||||||
|
|
||||||
|
public CloudStairsBlock(BlockState baseState, Settings settings, @Nullable Supplier<Soakable> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -172,13 +172,7 @@ public interface URenderers {
|
||||||
}, 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(RenderLayer.getCutout(), UBlocks.TRANSLUCENT_BLOCKS.stream().toArray(Block[]::new));
|
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), UBlocks.TRANSLUCENT_BLOCKS.stream().toArray(Block[]::new));
|
||||||
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getTranslucent(),
|
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getTranslucent(), UBlocks.SEMI_TRANSPARENT_BLOCKS.stream().toArray(Block[]::new));
|
||||||
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
|
|
||||||
);
|
|
||||||
// for lava boats
|
// for lava boats
|
||||||
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.LAVA, Fluids.FLOWING_LAVA);
|
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.LAVA, Fluids.FLOWING_LAVA);
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,8 @@ import java.util.function.Consumer;
|
||||||
import java.util.function.IntFunction;
|
import java.util.function.IntFunction;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import com.minelittlepony.unicopia.EquineContext;
|
||||||
|
import com.minelittlepony.unicopia.Race;
|
||||||
import com.minelittlepony.unicopia.USounds;
|
import com.minelittlepony.unicopia.USounds;
|
||||||
import com.minelittlepony.unicopia.advancement.UCriteria;
|
import com.minelittlepony.unicopia.advancement.UCriteria;
|
||||||
import com.minelittlepony.unicopia.entity.Living;
|
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.minelittlepony.unicopia.server.world.WeatherConditions;
|
||||||
import com.terraformersmc.terraform.boat.api.TerraformBoatType;
|
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<Boolean> ASCENDING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.BOOLEAN);
|
private static final TrackedData<Boolean> ASCENDING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.BOOLEAN);
|
||||||
private static final TrackedData<Integer> BOOSTING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER);
|
private static final TrackedData<Integer> BOOSTING = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER);
|
||||||
private static final TrackedData<Integer> INFLATION = DataTracker.registerData(AirBalloonEntity.class, TrackedDataHandlerRegistry.INTEGER);
|
private static final TrackedData<Integer> 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) {
|
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
|
@Override
|
||||||
public void travel(Vec3d movementInput) {
|
public void travel(Vec3d movementInput) {
|
||||||
if (!this.isAirworthy()) {
|
if (!isAirworthy()) {
|
||||||
super.travel(movementInput);
|
super.travel(movementInput);
|
||||||
} else {
|
} else {
|
||||||
final float speed = 0.02F;
|
final float speed = 0.02F;
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
import com.minelittlepony.unicopia.block.UWoodTypes;
|
import com.minelittlepony.unicopia.block.UWoodTypes;
|
||||||
import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity;
|
import com.minelittlepony.unicopia.entity.mob.AirBalloonEntity;
|
||||||
import com.minelittlepony.unicopia.entity.mob.UEntities;
|
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.enchantment.UEnchantments;
|
||||||
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
||||||
import com.minelittlepony.unicopia.item.group.UItemGroups;
|
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 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()
|
AmuletItem PEGASUS_AMULET = register("pegasus_amulet", new PegasusAmuletItem(new FabricItemSettings()
|
||||||
.maxCount(1)
|
.maxCount(1)
|
||||||
.maxDamage(890)
|
.maxDamage(890)
|
||||||
|
|
209
src/main/resources/assets/unicopia/blockstates/cloud_stairs.json
Normal file
209
src/main/resources/assets/unicopia/blockstates/cloud_stairs.json
Normal file
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -219,8 +219,10 @@
|
||||||
|
|
||||||
"block.unicopia.cloud": "Cloud",
|
"block.unicopia.cloud": "Cloud",
|
||||||
"block.unicopia.cloud_slab": "Cloud Slab",
|
"block.unicopia.cloud_slab": "Cloud Slab",
|
||||||
|
"block.unicopia.cloud_stairs": "Cloud Stairs",
|
||||||
"block.unicopia.soggy_cloud": "Soggy Cloud",
|
"block.unicopia.soggy_cloud": "Soggy Cloud",
|
||||||
"block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab",
|
"block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab",
|
||||||
|
"block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs",
|
||||||
"block.unicopia.unstable_cloud": "Unstable Cloud",
|
"block.unicopia.unstable_cloud": "Unstable Cloud",
|
||||||
"block.unicopia.cloud_pillar": "Cloud Pillar",
|
"block.unicopia.cloud_pillar": "Cloud Pillar",
|
||||||
"block.unicopia.dense_cloud": "Dense Cloud",
|
"block.unicopia.dense_cloud": "Dense Cloud",
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:block/cloud",
|
||||||
|
"side": "unicopia:block/cloud",
|
||||||
|
"top": "unicopia:block/cloud"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/inner_stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:block/cloud",
|
||||||
|
"side": "unicopia:block/cloud",
|
||||||
|
"top": "unicopia:block/cloud"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/outer_stairs",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:block/cloud",
|
||||||
|
"side": "unicopia:block/cloud",
|
||||||
|
"top": "unicopia:block/cloud"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "unicopia:block/cloud_stairs"
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"##",
|
||||||
|
"##",
|
||||||
|
"##"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:cloud_pillar", "count": 3 }
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"###"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:cloud_slab", "count": 6 }
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"# ",
|
||||||
|
"## ",
|
||||||
|
"###"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:cloud_stairs", "count": 4 }
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"##",
|
||||||
|
"##"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:dense_cloud", "count": 4 }
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"###"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:dense_cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:dense_cloud_slab", "count": 6 }
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"# ",
|
||||||
|
"## ",
|
||||||
|
"###"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"#": [
|
||||||
|
{ "item": "unicopia:dense_cloud" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"result": { "item": "unicopia:dense_cloud_stairs", "count": 4 }
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:stonecutting",
|
||||||
|
"ingredient": { "item": "unicopia:chiselled_chitin" },
|
||||||
|
"result": "unicopia:chiselled_chitin_hull",
|
||||||
|
"count": 1
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:stonecutting",
|
||||||
|
"ingredient": { "item": "unicopia:chiselled_chitin" },
|
||||||
|
"result": "unicopia:chiselled_chitin_slab",
|
||||||
|
"count": 2
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:stonecutting",
|
||||||
|
"ingredient": { "item": "unicopia:chiselled_chitin" },
|
||||||
|
"result": "unicopia:chiselled_chitin_stairs",
|
||||||
|
"count": 1
|
||||||
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"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/raw_fish",
|
||||||
"#unicopia:food_types/cooked_fish",
|
"#unicopia:food_types/cooked_fish",
|
||||||
"unicopia:rain_cloud_jar",
|
"unicopia:rain_cloud_jar",
|
||||||
|
|
Loading…
Reference in a new issue