mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-27 07:17:58 +01:00
Added cloud planks, added cloud beds
This commit is contained in:
parent
d307290ec0
commit
2025d5af09
69 changed files with 1540 additions and 66 deletions
1
assets/models/cloud_bed.bbmodel
Normal file
1
assets/models/cloud_bed.bbmodel
Normal file
File diff suppressed because one or more lines are too long
50
assets/models/cloud_bed.java
Normal file
50
assets/models/cloud_bed.java
Normal file
|
@ -0,0 +1,50 @@
|
|||
// Made with Blockbench 4.8.3
|
||||
// Exported for Minecraft version 1.17 or later with Mojang mappings
|
||||
// Paste this class into your mod and generate all required imports
|
||||
|
||||
|
||||
public class cloud_bed<T extends Entity> extends EntityModel<T> {
|
||||
// This layer location should be baked with EntityRendererProvider.Context in the entity renderer and passed into this model's constructor
|
||||
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("modid", "cloud_bed"), "main");
|
||||
private final ModelPart head;
|
||||
private final ModelPart foot;
|
||||
|
||||
public cloud_bed(ModelPart root) {
|
||||
this.head = root.getChild("head");
|
||||
this.foot = root.getChild("foot");
|
||||
}
|
||||
|
||||
public static LayerDefinition createBodyLayer() {
|
||||
MeshDefinition meshdefinition = new MeshDefinition();
|
||||
PartDefinition partdefinition = meshdefinition.getRoot();
|
||||
|
||||
PartDefinition head = partdefinition.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
|
||||
|
||||
PartDefinition main_r1 = head.addOrReplaceChild("main_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-8.0F, -21.0F, -9.0F, 16.0F, 13.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -16.0F, -1.5708F, 0.0F, 0.0F));
|
||||
|
||||
PartDefinition head_board = head.addOrReplaceChild("head_board", CubeListBuilder.create().texOffs(52, 24).addBox(7.0F, -13.0F, -3.0F, 2.0F, 13.0F, 3.0F, new CubeDeformation(0.0F))
|
||||
.texOffs(0, 43).addBox(-6.0F, -15.0F, -2.0F, 13.0F, 15.0F, 3.0F, new CubeDeformation(0.0F))
|
||||
.texOffs(52, 24).addBox(-8.0F, -13.0F, -3.0F, 2.0F, 13.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, 0.0F, 7.0F));
|
||||
|
||||
PartDefinition foot = partdefinition.addOrReplaceChild("foot", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
|
||||
|
||||
PartDefinition main_r2 = foot.addOrReplaceChild("main_r2", CubeListBuilder.create().texOffs(0, 22).addBox(-8.0F, -8.0F, -9.0F, 16.0F, 15.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -1.5708F, 0.0F, 0.0F));
|
||||
|
||||
PartDefinition head_board2 = foot.addOrReplaceChild("head_board2", CubeListBuilder.create().texOffs(52, 40).addBox(6.0F, -13.0F, -2.0F, 3.0F, 10.0F, 3.0F, new CubeDeformation(0.0F))
|
||||
.texOffs(0, 43).addBox(-6.0F, -15.0F, -3.0F, 13.0F, 11.0F, 3.0F, new CubeDeformation(0.0F))
|
||||
.texOffs(52, 40).addBox(-8.0F, -13.0F, -2.0F, 3.0F, 10.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, 3.0F, -7.0F));
|
||||
|
||||
return LayerDefinition.create(meshdefinition, 64, 64);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
|
||||
head.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
|
||||
foot.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
|
||||
}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
package com.minelittlepony.unicopia.block;
|
||||
|
||||
import com.minelittlepony.unicopia.block.cloud.CloudBedBlock;
|
||||
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.block.entity.BlockEntityType.Builder;
|
||||
|
@ -8,6 +10,7 @@ import net.minecraft.registry.Registries;
|
|||
|
||||
public interface UBlockEntities {
|
||||
BlockEntityType<WeatherVaneBlock.WeatherVane> WEATHER_VANE = create("weather_vane", BlockEntityType.Builder.create(WeatherVaneBlock.WeatherVane::new, UBlocks.WEATHER_VANE));
|
||||
BlockEntityType<CloudBedBlock.Tile> CLOUD_BED = create("cloud_bed", BlockEntityType.Builder.create(CloudBedBlock.Tile::new, UBlocks.CLOUD_BED));
|
||||
|
||||
static <T extends BlockEntity> BlockEntityType<T> create(String id, Builder<T> builder) {
|
||||
return Registry.register(Registries.BLOCK_ENTITY_TYPE, id, builder.build(null));
|
||||
|
|
|
@ -10,6 +10,7 @@ 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.CloudBedBlock;
|
||||
import com.minelittlepony.unicopia.block.cloud.CloudBlock;
|
||||
import com.minelittlepony.unicopia.block.cloud.SoggyCloudBlock;
|
||||
import com.minelittlepony.unicopia.block.cloud.SoggyCloudSlabBlock;
|
||||
|
@ -140,17 +141,27 @@ 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), 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,
|
||||
() -> UBlocks.COMPACTED_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 CLOUD_PLANKS = register("cloud_planks", new NaturalCloudBlock(Settings.copy(CLOUD).requiresTool(), false,
|
||||
null,
|
||||
() -> UBlocks.COMPACTED_CLOUD_PLANKS), ItemGroups.BUILDING_BLOCKS);
|
||||
Block CLOUD_PLANKS_SLAB = register("cloud_planks_slab", new CloudSlabBlock(Settings.copy(CLOUD_PLANKS), false, null), ItemGroups.BUILDING_BLOCKS);
|
||||
Block CLOUD_PLANKS_STAIRS = register("cloud_planks_stairs", new CloudStairsBlock(CLOUD_PLANKS.getDefaultState(), Settings.copy(CLOUD_PLANKS), null), ItemGroups.BUILDING_BLOCKS);
|
||||
Block COMPACTED_CLOUD_PLANKS = register("compacted_cloud_planks", new CompactedCloudBlock(Settings.copy(CLOUD_PLANKS)));
|
||||
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));
|
||||
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 DENSE_CLOUD_STAIRS = register("dense_cloud_stairs", new CloudStairsBlock(DENSE_CLOUD.getDefaultState(), Settings.copy(DENSE_CLOUD), 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);
|
||||
Block CLOUD_BED = register("cloud_bed", new CloudBedBlock(CLOUD.getDefaultState(), Settings.copy(Blocks.WHITE_BED).sounds(BlockSoundGroup.WOOL)));
|
||||
|
||||
private static <T extends Block> T register(String name, T item) {
|
||||
return register(Unicopia.id(name), item);
|
||||
|
@ -162,9 +173,7 @@ public interface UBlocks {
|
|||
|
||||
static <T extends Block> T register(Identifier id, T block, RegistryKey<ItemGroup> group) {
|
||||
ItemGroupRegistry.register(id,
|
||||
block instanceof CloudBlock || block instanceof CloudStairsBlock
|
||||
? new CloudBlockItem(block, new Item.Settings())
|
||||
: new BlockItem(block, new Item.Settings()
|
||||
CloudBlock.isCloudBlock(block) ? new CloudBlockItem(block, new Item.Settings()) : new BlockItem(block, new Item.Settings()
|
||||
), group);
|
||||
return register(id, block);
|
||||
}
|
||||
|
@ -176,7 +185,7 @@ 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) {
|
||||
if (CloudBlock.isCloudBlock(block) || block instanceof SlimePustuleBlock || block instanceof PileBlock) {
|
||||
SEMI_TRANSPARENT_BLOCKS.add(block);
|
||||
}
|
||||
return Registry.register(Registries.BLOCK, id, block);
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
package com.minelittlepony.unicopia.block.cloud;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.minelittlepony.unicopia.EquineContext;
|
||||
import com.minelittlepony.unicopia.block.UBlockEntities;
|
||||
|
||||
import net.minecraft.block.BedBlock;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.ShapeContext;
|
||||
import net.minecraft.block.entity.BedBlockEntity;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.ai.pathing.NavigationType;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemPlacementContext;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.DyeColor;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.shape.VoxelShape;
|
||||
import net.minecraft.util.shape.VoxelShapes;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CloudBedBlock extends BedBlock {
|
||||
private final BlockState baseState;
|
||||
private final CloudBlock baseBlock;
|
||||
|
||||
public CloudBedBlock(BlockState baseState, Settings settings) {
|
||||
super(DyeColor.WHITE, settings);
|
||||
this.baseState = baseState;
|
||||
this.baseBlock = (CloudBlock)baseState.getBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public final VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
|
||||
if (!baseBlock.canInteract(baseState, 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 final BlockState getPlacementState(ItemPlacementContext context) {
|
||||
if (!baseBlock.canInteract(baseState, context.getWorld(), context.getBlockPos(), EquineContext.of(context))) {
|
||||
return null;
|
||||
}
|
||||
return super.getPlacementState(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
|
||||
if (!baseBlock.canInteract(baseState, world, pos, EquineContext.of(player))) {
|
||||
return ActionResult.PASS;
|
||||
}
|
||||
return super.onUse(state, world, pos, player, hand, hit);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) {
|
||||
baseState.onEntityCollision(world, pos, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
|
||||
return new Tile(pos, state);
|
||||
}
|
||||
|
||||
public static class Tile extends BedBlockEntity {
|
||||
public Tile(BlockPos pos, BlockState state) {
|
||||
super(pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntityType<?> getType() {
|
||||
return UBlockEntities.CLOUD_BED;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,6 +28,9 @@ import net.minecraft.world.LightType;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class CloudBlock extends Block {
|
||||
public static boolean isCloudBlock(Block block) {
|
||||
return block instanceof CloudBlock || block instanceof CloudStairsBlock || block instanceof CloudBedBlock;
|
||||
}
|
||||
|
||||
protected final boolean meltable;
|
||||
|
||||
|
|
|
@ -4,8 +4,7 @@ import java.util.function.Supplier;
|
|||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.minelittlepony.unicopia.block.UBlocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -21,8 +20,13 @@ import net.minecraft.world.World;
|
|||
|
||||
public class NaturalCloudBlock extends PoreousCloudBlock {
|
||||
|
||||
public NaturalCloudBlock(Settings settings, boolean meltable, @Nullable Supplier<Soakable> soggyBlock) {
|
||||
private final Supplier<Block> compactedBlock;
|
||||
|
||||
public NaturalCloudBlock(Settings settings, boolean meltable,
|
||||
@Nullable Supplier<Soakable> soggyBlock,
|
||||
Supplier<Block> compactedBlock) {
|
||||
super(settings.nonOpaque(), meltable, soggyBlock);
|
||||
this.compactedBlock = compactedBlock;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -31,7 +35,7 @@ public class NaturalCloudBlock extends PoreousCloudBlock {
|
|||
|
||||
if (stack.isIn(ItemTags.SHOVELS)) {
|
||||
BooleanProperty property = CompactedCloudBlock.FACING_PROPERTIES.get(hit.getSide());
|
||||
world.setBlockState(pos, UBlocks.COMPACTED_CLOUD.getDefaultState().with(property, false));
|
||||
world.setBlockState(pos, compactedBlock.get().getDefaultState().with(property, false));
|
||||
stack.damage(1, player, p -> p.sendToolBreakStatus(hand));
|
||||
world.playSound(null, pos, SoundEvents.ITEM_SHOVEL_FLATTEN, SoundCategory.BLOCKS);
|
||||
return ActionResult.SUCCESS;
|
||||
|
|
|
@ -21,6 +21,7 @@ import com.minelittlepony.unicopia.entity.mob.UEntities;
|
|||
import com.minelittlepony.unicopia.item.ChameleonItem;
|
||||
import com.minelittlepony.unicopia.item.EnchantableItem;
|
||||
import com.minelittlepony.unicopia.item.UItems;
|
||||
import com.minelittlepony.unicopia.item.cloud.CloudBedItem;
|
||||
import com.minelittlepony.unicopia.particle.UParticles;
|
||||
import com.terraformersmc.terraform.boat.api.client.TerraformBoatClientHelper;
|
||||
|
||||
|
@ -87,6 +88,7 @@ public interface URenderers {
|
|||
EntityRendererRegistry.register(UEntities.FRIENDLY_CREEPER, FriendlyCreeperEntityRenderer::new);
|
||||
|
||||
BlockEntityRendererFactories.register(UBlockEntities.WEATHER_VANE, WeatherVaneBlockEntityRenderer::new);
|
||||
BlockEntityRendererFactories.register(UBlockEntities.CLOUD_BED, CloudBedBlockEntityRenderer::new);
|
||||
|
||||
ColorProviderRegistry.ITEM.register((stack, i) -> i > 0 ? -1 : ((DyeableItem)stack.getItem()).getColor(stack), UItems.FRIENDSHIP_BRACELET);
|
||||
BuiltinItemRendererRegistry.INSTANCE.register(UItems.FILLED_JAR, (stack, mode, matrices, vertices, light, overlay) -> {
|
||||
|
@ -133,6 +135,9 @@ public interface URenderers {
|
|||
matrices.push();
|
||||
|
||||
});
|
||||
BuiltinItemRendererRegistry.INSTANCE.register(UItems.CLOUD_BED, (stack, mode, matrices, vertices, light, overlay) -> {
|
||||
MinecraftClient.getInstance().getBlockEntityRenderDispatcher().renderEntity(((CloudBedItem)stack.getItem()).getRenderEntity(), matrices, vertices, light, overlay);
|
||||
});
|
||||
PolearmRenderer.register(UItems.WOODEN_POLEARM);
|
||||
PolearmRenderer.register(UItems.STONE_POLEARM);
|
||||
PolearmRenderer.register(UItems.IRON_POLEARM);
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
package com.minelittlepony.unicopia.client.render.entity;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.minelittlepony.unicopia.Unicopia;
|
||||
import com.minelittlepony.unicopia.block.cloud.CloudBedBlock;
|
||||
import com.minelittlepony.unicopia.client.render.RenderLayers;
|
||||
|
||||
import net.minecraft.block.BedBlock;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.ChestBlock;
|
||||
import net.minecraft.block.DoubleBlockProperties;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.block.enums.BedPart;
|
||||
import net.minecraft.client.model.ModelData;
|
||||
import net.minecraft.client.model.ModelPart;
|
||||
import net.minecraft.client.model.ModelPartBuilder;
|
||||
import net.minecraft.client.model.ModelPartData;
|
||||
import net.minecraft.client.model.ModelTransform;
|
||||
import net.minecraft.client.model.TexturedModelData;
|
||||
import net.minecraft.client.render.VertexConsumerProvider;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
|
||||
import net.minecraft.client.render.block.entity.LightmapCoordinatesRetriever;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.RotationAxis;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CloudBedBlockEntityRenderer implements BlockEntityRenderer<CloudBedBlock.Tile> {
|
||||
private static final Identifier TEXTURE = Unicopia.id("textures/entity/cloud_bed/white.png");
|
||||
|
||||
private final ModelPart bedHead;
|
||||
private final ModelPart bedFoot;
|
||||
|
||||
public CloudBedBlockEntityRenderer(BlockEntityRendererFactory.Context ctx) {
|
||||
this.bedHead = getHeadTexturedModelData().createModel();
|
||||
this.bedFoot = getFootTexturedModelData().createModel();
|
||||
}
|
||||
|
||||
public static TexturedModelData getHeadTexturedModelData() {
|
||||
ModelData data = new ModelData();
|
||||
ModelPartData root = data.getRoot();
|
||||
root.addChild("main", ModelPartBuilder.create().uv(0, 0).cuboid(0, 3, 0, 16, 13, 6), ModelTransform.NONE);
|
||||
root.addChild("head_board", ModelPartBuilder.create()
|
||||
.uv(52, 24).cuboid(7, -4, -3, 2, 13, 3)
|
||||
.uv(0, 43).cuboid(-6, -7, -2, 13, 15, 3)
|
||||
.uv(52, 24).cuboid(-8, -4, -3, 2, 13, 3), ModelTransform.of(7.5F, 1, 0, MathHelper.HALF_PI, 0, 0));
|
||||
return TexturedModelData.of(data, 64, 64);
|
||||
}
|
||||
|
||||
public static TexturedModelData getFootTexturedModelData() {
|
||||
ModelData data = new ModelData();
|
||||
ModelPartData root = data.getRoot();
|
||||
root.addChild("main", ModelPartBuilder.create().uv(0, 22).cuboid(0, 0, 0, 16, 15, 6), ModelTransform.NONE);
|
||||
root.addChild("foot_board", ModelPartBuilder.create()
|
||||
.uv(52, 40).cuboid(6, -1, -2, 3, 10, 3)
|
||||
.uv(0, 43).cuboid(-6, -3, -3, 13, 11, 3)
|
||||
.uv(52, 40).cuboid(-8, -1, -2, 3, 10, 3), ModelTransform.of(7.5F, 15, 0, MathHelper.HALF_PI, 0, 0));
|
||||
return TexturedModelData.of(data, 64, 64);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(CloudBedBlock.Tile entity, float f, MatrixStack matrices, VertexConsumerProvider vertices, int light, int overlay) {
|
||||
@Nullable
|
||||
World world = entity.getWorld();
|
||||
if (world == null) {
|
||||
renderModel(matrices, vertices, bedHead, Direction.SOUTH, TEXTURE, light, overlay, false);
|
||||
renderModel(matrices, vertices, bedFoot, Direction.SOUTH, TEXTURE, light, overlay, true);
|
||||
return;
|
||||
}
|
||||
|
||||
BlockState state = entity.getCachedState();
|
||||
|
||||
renderModel(matrices, vertices,
|
||||
state.get(BedBlock.PART) == BedPart.HEAD ? bedHead : bedFoot,
|
||||
state.get(BedBlock.FACING),
|
||||
TEXTURE,
|
||||
getModelLight(entity, light),
|
||||
overlay,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
private int getModelLight(CloudBedBlock.Tile entity, int worldLight) {
|
||||
return DoubleBlockProperties.toPropertySource(
|
||||
BlockEntityType.BED,
|
||||
BedBlock::getBedPart,
|
||||
BedBlock::getOppositePartDirection,
|
||||
ChestBlock.FACING, entity.getCachedState(), entity.getWorld(),
|
||||
entity.getPos(),
|
||||
(w, pos) -> false
|
||||
).apply(new LightmapCoordinatesRetriever<>()).get(worldLight);
|
||||
}
|
||||
|
||||
private void renderModel(MatrixStack matrices, VertexConsumerProvider vertices, ModelPart part, Direction direction, Identifier texture, int light, int overlay, boolean translate) {
|
||||
matrices.push();
|
||||
matrices.translate(0, 0.5625f, translate ? -1 : 0);
|
||||
matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(90));
|
||||
matrices.translate(0.5f, 0.5f, 0.5f);
|
||||
matrices.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(180 + direction.asRotation()));
|
||||
matrices.translate(-0.5f, -0.5f, -0.5f);
|
||||
part.render(matrices, vertices.getBuffer(RenderLayers.getEntityTranslucent(texture)), light, overlay);
|
||||
matrices.pop();
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ 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.CloudBedItem;
|
||||
import com.minelittlepony.unicopia.item.enchantment.UEnchantments;
|
||||
import com.minelittlepony.unicopia.item.group.ItemGroupRegistry;
|
||||
import com.minelittlepony.unicopia.item.group.UItemGroups;
|
||||
|
@ -162,6 +163,7 @@ public interface UItems {
|
|||
|
||||
|
||||
Item CARAPACE = register("carapace", new Item(new Item.Settings()), ItemGroups.INGREDIENTS);
|
||||
Item CLOUD_BED = register("cloud_bed", new CloudBedItem(UBlocks.CLOUD_BED, new Item.Settings().maxCount(1)), ItemGroups.FUNCTIONAL);
|
||||
|
||||
Item ALICORN_BADGE = register(Race.ALICORN);
|
||||
Item PEGASUS_BADGE = register(Race.PEGASUS);
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package com.minelittlepony.unicopia.item.cloud;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import com.google.common.base.Suppliers;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockEntityProvider;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.item.ItemPlacementContext;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public class CloudBedItem extends CloudBlockItem {
|
||||
|
||||
private final Supplier<BlockEntity> renderEntity;
|
||||
|
||||
public CloudBedItem(Block block, Settings settings) {
|
||||
super(block, settings);
|
||||
this.renderEntity = Suppliers.memoize(() -> ((BlockEntityProvider)block).createBlockEntity(BlockPos.ORIGIN, block.getDefaultState()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean place(ItemPlacementContext context, BlockState state) {
|
||||
return context.getWorld().setBlockState(context.getBlockPos(), state, Block.NOTIFY_LISTENERS | Block.REDRAW_ON_MAIN_THREAD | Block.FORCE_STATE);
|
||||
}
|
||||
|
||||
public BlockEntity getRenderEntity() {
|
||||
return renderEntity.get();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/cloud_bed" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/cloud_planks" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=double": { "model": "unicopia:block/cloud_planks" },
|
||||
"type=bottom": { "model": "unicopia:block/cloud_planks_slab" },
|
||||
"type=top": { "model": "unicopia:block/cloud_planks_slab_top" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,209 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner"
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer"
|
||||
},
|
||||
"facing=east,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs"
|
||||
},
|
||||
"facing=east,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner"
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer"
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_planks_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_planks_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,268 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true },
|
||||
"when": { "down": true, "north": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true },
|
||||
"when": { "down": true, "north": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true },
|
||||
"when": { "down": false, "north": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true },
|
||||
"when": { "down": true, "north": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true },
|
||||
"when": { "down": true, "north": false, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true },
|
||||
"when": { "down": false, "north": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true },
|
||||
"when": { "down": false, "north": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true },
|
||||
"when": { "down": false, "north": false, "east": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "y": 90 },
|
||||
"when": { "down": true, "south": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "y": 90 },
|
||||
"when": { "down": true, "south": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "y": 90 },
|
||||
"when": { "down": false, "south": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "y": 90 },
|
||||
"when": { "down": true, "south": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "y": 90 },
|
||||
"when": { "down": true, "south": false, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "y": 90 },
|
||||
"when": { "down": false, "south": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "y": 90 },
|
||||
"when": { "down": false, "south": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "y": 90 },
|
||||
"when": { "down": false, "south": false, "east": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "y": 180 },
|
||||
"when": { "down": true, "south": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "y": 180 },
|
||||
"when": { "down": true, "south": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "y": 180 },
|
||||
"when": { "down": false, "south": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "y": 180 },
|
||||
"when": { "down": true, "south": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "y": 180 },
|
||||
"when": { "down": true, "south": false, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "y": 180 },
|
||||
"when": { "down": false, "south": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "y": 180 },
|
||||
"when": { "down": false, "south": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "y": 180 },
|
||||
"when": { "down": false, "south": false, "west": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "y": 270 },
|
||||
"when": { "down": true, "north": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "y": 270 },
|
||||
"when": { "down": true, "north": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "y": 270 },
|
||||
"when": { "down": false, "north": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "y": 270 },
|
||||
"when": { "down": true, "north": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "y": 270 },
|
||||
"when": { "down": true, "north": false, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "y": 270 },
|
||||
"when": { "down": false, "north": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "y": 270 },
|
||||
"when": { "down": false, "north": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "y": 270 },
|
||||
"when": { "down": false, "north": false, "west": false }
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "x": 180 },
|
||||
"when": { "up": true, "south": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "x": 180 },
|
||||
"when": { "up": true, "south": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "x": 180 },
|
||||
"when": { "up": false, "south": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "x": 180 },
|
||||
"when": { "up": true, "south": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "x": 180 },
|
||||
"when": { "up": true, "south": false, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "x": 180 },
|
||||
"when": { "up": false, "south": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "x": 180 },
|
||||
"when": { "up": false, "south": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "x": 180 },
|
||||
"when": { "up": false, "south": false, "east": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": true, "south": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": true, "south": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": false, "south": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": true, "south": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": true, "south": false, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": false, "south": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": false, "south": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "x": 180, "y": 90 },
|
||||
"when": { "up": false, "south": false, "west": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": true, "north": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": true, "north": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": false, "north": true, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": true, "north": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": true, "north": false, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": false, "north": true, "west": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": false, "north": false, "west": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "x": 180, "y": 180 },
|
||||
"when": { "up": false, "north": false, "west": false }
|
||||
},
|
||||
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_full", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": true, "north": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_z", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": true, "north": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_y", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": false, "north": true, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_x", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": true, "north": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xz", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": true, "north": false, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_yz", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": false, "north": true, "east": false }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xy", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": false, "north": false, "east": true }
|
||||
},
|
||||
{
|
||||
"apply": { "model": "unicopia:block/flattened_cloud_planks_corner_xyz", "uvlock": true, "x": 180, "y": 270 },
|
||||
"when": { "up": false, "north": false, "east": false }
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,209 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner"
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer"
|
||||
},
|
||||
"facing=east,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs"
|
||||
},
|
||||
"facing=east,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner"
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer"
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/dense_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=straight": {
|
||||
"model": "unicopia:block/dense_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -220,13 +220,20 @@
|
|||
"block.unicopia.cloud": "Cloud",
|
||||
"block.unicopia.cloud_slab": "Cloud Slab",
|
||||
"block.unicopia.cloud_stairs": "Cloud Stairs",
|
||||
"block.unicopia.compacted_cloud": "Cloud",
|
||||
"block.unicopia.soggy_cloud": "Soggy Cloud",
|
||||
"block.unicopia.soggy_cloud_slab": "Soggy Cloud Slab",
|
||||
"block.unicopia.soggy_cloud_stairs": "Soggy Cloud Stairs",
|
||||
"block.unicopia.cloud_planks": "Cloud Planks",
|
||||
"block.unicopia.cloud_planks_slab": "Cloud Plank Slab",
|
||||
"block.unicopia.cloud_planks_stairs": "Cloud Plank Stairs",
|
||||
"block.unicopia.compacted_cloud_planks": "Cloud Planks",
|
||||
"block.unicopia.unstable_cloud": "Unstable Cloud",
|
||||
"block.unicopia.cloud_pillar": "Cloud Pillar",
|
||||
"block.unicopia.dense_cloud": "Dense Cloud",
|
||||
"block.unicopia.dense_cloud_slab": "Dense Cloud Slab",
|
||||
"block.unicopia.dense_cloud_stairs": "Dense Cloud Stairs",
|
||||
"block.unicopia.cloud_pillar": "Cloud Pillar",
|
||||
"block.unicopia.cloud_bed": "Cloud Bed",
|
||||
|
||||
"block.unicopia.oats": "Oats",
|
||||
"block.unicopia.oats_stem": "Oats",
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"particle": "unicopia:block/cloud"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "minecraft:block/slab",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "minecraft:block/slab_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [16, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 8, 8], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 8, 8], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [14, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 6, 8], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 6, 8], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 6, 8], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 6, 8], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [14, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 6, 6], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 8, 6], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 6, 8], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 6, 6], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 8, 6], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 6, 8], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [14, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 6, 6], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 6, 6], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 6, 6], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 6, 6], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 6, 6], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 6, 6], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [14, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 6, 8], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 6, 8], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 6, 6], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 6, 8], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 6, 8], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 6, 6], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [16, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 6], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 8, 6], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 8, 8], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 8, 6], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 8, 6], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 8, 8], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [16, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 6], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 6, 6], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 8, 6], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 8, 6], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 6, 6], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 8, 6], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"textures": {
|
||||
"0": "unicopia:block/cloud",
|
||||
"particle": "unicopia:block/cloud"
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -9,9 +9,9 @@
|
|||
"to": [16, 8, 8],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 6, 8], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 8, 6], "texture": "#0"}
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#all"},
|
||||
"east": {"uv": [0, 0, 6, 8], "texture": "#all"},
|
||||
"down": {"uv": [0, 0, 8, 6], "texture": "#all"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_full",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_x",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_xy",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_xyz",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_xz",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_y",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_yz",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "unicopia:block/flattened_cloud_corner_z",
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/template_bed",
|
||||
"textures": {
|
||||
"particle": "minecraft:item/white_wool"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_planks"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_planks_slab"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_planks_stairs"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "unicopia:block/dense_cloud_stairs"
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"unicopia:cloud_planks",
|
||||
"unicopia:cloud_planks_slab",
|
||||
"unicopia:cloud_planks_stairs"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"unicopia:blocks/cloud_plank_slab"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_ingredients": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{ "item": "unicopia:cloud_planks" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "unicopia:blocks/cloud_plank_slab"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_ingredients",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"unicopia:blocks/cloud_plank_stairs"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_ingredients": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{ "item": "unicopia:cloud_planks" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "unicopia:blocks/cloud_plank_stairs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_ingredients",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"unicopia:blocks/cloud_planks"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_ingredients": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{ "item": "unicopia:cloud" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "unicopia:blocks/cloud_planks"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_ingredients",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"functions": [
|
||||
{
|
||||
"function": "minecraft:explosion_decay"
|
||||
}
|
||||
],
|
||||
"pools": [
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"conditions": [
|
||||
{
|
||||
"block": "unicopia:cloud_bed",
|
||||
"condition": "minecraft:block_state_property",
|
||||
"properties": {
|
||||
"part": "head"
|
||||
}
|
||||
}
|
||||
],
|
||||
"name": "unicopia:cloud_bed"
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "unicopia:cloud_planks"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "unicopia:cloud_planks_slab",
|
||||
"functions": [
|
||||
{
|
||||
"add": false,
|
||||
"count": 2,
|
||||
"function": "minecraft:set_count",
|
||||
"conditions": [
|
||||
{
|
||||
"block": "unicopia:cloud_planks_slab",
|
||||
"condition": "minecraft:block_state_property",
|
||||
"properties": {
|
||||
"type": "double"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"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_planks_stairs"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"$$$",
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"$": [
|
||||
{ "item": "unicopia:dense_cloud" }
|
||||
],
|
||||
"#": [
|
||||
{ "item": "unicopia:cloud_planks" }
|
||||
]
|
||||
},
|
||||
"result": { "item": "unicopia:cloud_bed", "count": 1 }
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"#": [
|
||||
{ "item": "unicopia:cloud_planks" }
|
||||
]
|
||||
},
|
||||
"result": { "item": "unicopia:cloud_planks_slab", "count": 6 }
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"# ",
|
||||
"## ",
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"#": [
|
||||
{ "item": "unicopia:cloud_planks" }
|
||||
]
|
||||
},
|
||||
"result": { "item": "unicopia:cloud_planks_stairs", "count": 4 }
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"##",
|
||||
"##"
|
||||
],
|
||||
"key": {
|
||||
"#": [
|
||||
{ "item": "unicopia:cloud" }
|
||||
]
|
||||
},
|
||||
"result": { "item": "unicopia:cloud_planks", "count": 4 }
|
||||
}
|
|
@ -1,8 +1,9 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"##",
|
||||
"##"
|
||||
"###",
|
||||
"###",
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"#": [
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"unicopia:cloud_bed"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"unicopia:cloud_slab",
|
||||
"unicopia:soggy_cloud_slab",
|
||||
"unicopia:dense_cloud_slab",
|
||||
"unicopia:cloud_planks_slab"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"unicopia:cloud_stairs",
|
||||
"unicopia:soggy_cloud_stairs",
|
||||
"unicopia:dense_cloud_stairs",
|
||||
"unicopia:cloud_planks_stairs"
|
||||
]
|
||||
}
|
11
src/main/resources/data/unicopia/tags/blocks/clouds.json
Normal file
11
src/main/resources/data/unicopia/tags/blocks/clouds.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"unicopia:cloud",
|
||||
"unicopia:cloud_planks",
|
||||
"unicopia:dense_cloud",
|
||||
"unicopia:compacted_cloud",
|
||||
"unicopia:unstable_cloud",
|
||||
"unicopia:soggy_cloud"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"#unicopia:clouds",
|
||||
"#unicopia:cloud_slabs",
|
||||
"#unicopia:cloud_stairs",
|
||||
"#unicopia:cloud_beds",
|
||||
"unicopia:cloud_planks_slab",
|
||||
"unicopia:cloud_pillar"
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue