mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-11-23 21:38:00 +01:00
Datagen the rest of the blocks and fix some texturing on soggy cloud blocks
This commit is contained in:
parent
9db67f6727
commit
956b55dc30
145 changed files with 621 additions and 2471 deletions
|
@ -40,7 +40,7 @@ import net.minecraft.world.WorldAccess;
|
|||
import net.minecraft.world.WorldView;
|
||||
|
||||
public class SlimePustuleBlock extends Block {
|
||||
private static final EnumProperty<Shape> SHAPE = EnumProperty.of("shape", Shape.class);
|
||||
public static final EnumProperty<Shape> SHAPE = EnumProperty.of("shape", Shape.class);
|
||||
private static final BooleanProperty POWERED = Properties.POWERED;
|
||||
private static final Direction[] DIRECTIONS = Arrays.stream(Direction.values())
|
||||
.filter(direction -> direction != Direction.UP)
|
||||
|
|
|
@ -1,47 +1,39 @@
|
|||
package com.minelittlepony.unicopia.datagen.providers;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.IntStream;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import com.google.gson.JsonElement;
|
||||
import com.minelittlepony.unicopia.Unicopia;
|
||||
import com.minelittlepony.unicopia.block.EdibleBlock;
|
||||
import com.minelittlepony.unicopia.block.FruitBearingBlock;
|
||||
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock;
|
||||
import com.minelittlepony.unicopia.server.world.ZapAppleStageStore;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.data.client.BlockStateModelGenerator;
|
||||
import net.minecraft.data.client.BlockStateSupplier;
|
||||
import net.minecraft.data.client.BlockStateVariant;
|
||||
import net.minecraft.data.client.BlockStateVariantMap;
|
||||
import net.minecraft.data.client.Model;
|
||||
import net.minecraft.data.client.ModelIds;
|
||||
import net.minecraft.data.client.Models;
|
||||
import net.minecraft.data.client.MultipartBlockStateSupplier;
|
||||
import net.minecraft.data.client.TextureKey;
|
||||
import net.minecraft.data.client.TextureMap;
|
||||
import net.minecraft.data.client.TexturedModel;
|
||||
import net.minecraft.data.client.VariantSettings;
|
||||
import net.minecraft.data.client.VariantsBlockStateSupplier;
|
||||
import net.minecraft.data.client.When;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.state.property.BooleanProperty;
|
||||
import net.minecraft.state.property.EnumProperty;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.state.property.Property;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Pair;
|
||||
import net.minecraft.util.StringIdentifiable;
|
||||
import net.minecraft.util.math.Direction;
|
||||
|
||||
public interface BlockModels {
|
||||
TextureKey SHELL = TextureKey.of("shell");
|
||||
TextureKey STEP = TextureKey.of("step");
|
||||
|
||||
Model FRUIT = block("fruit", TextureKey.CROSS);
|
||||
Model STRAIGHT_STAIRS = block("seethrough_stairs", TextureKey.BOTTOM, TextureKey.TOP, TextureKey.SIDE, STEP);
|
||||
Model INNER_STAIRS = block("inner_seethrough_stairs", "_inner", TextureKey.BOTTOM, TextureKey.TOP, TextureKey.SIDE, STEP);
|
||||
Model OUTER_STAIRS = block("outer_seethrough_stairs", "_outer", TextureKey.BOTTOM, TextureKey.TOP, TextureKey.SIDE, STEP);
|
||||
|
||||
Factory CROP = Factory.of(TextureMap::crop, Models.CROP);
|
||||
Factory CUBE_ALL = Factory.of(TextureMap::all, Models.CUBE_ALL);
|
||||
TexturedModel.Factory SPIKES = TexturedModel.makeFactory(b -> TextureMap.crop(ModelIds.getBlockModelId(b)), Models.CROP);
|
||||
|
||||
String[] FLATTENED_MODEL_SUFFEXES = {"xyz", "yz", "xy", "y", "xz", "z", "x", "full"};
|
||||
String[] FLATTENED_MODEL_SUFFEXES_ROT = {"xyz", "xy", "yz", "y", "xz", "x", "z", "full"};
|
||||
|
@ -53,6 +45,12 @@ public interface BlockModels {
|
|||
Model[] FLATTENED_MODELS = Arrays.stream(FLATTENED_MODEL_SUFFEXES)
|
||||
.map(variant -> block("flattened_corner_" + variant, "_corner_" + variant, TextureKey.ALL))
|
||||
.toArray(Model[]::new);
|
||||
Model[] SHELL_MODELS = IntStream.range(1, 5)
|
||||
.mapToObj(i -> block("template_shell_" + i, "_" + i, SHELL))
|
||||
.toArray(Model[]::new);
|
||||
Model[] PIE_MODELS = Stream.of("_full", "_elbow", "_straight", "_corner")
|
||||
.map(variant -> block("pie" + variant, variant, TextureKey.TOP, TextureKey.BOTTOM, TextureKey.SIDE, TextureKey.INSIDE))
|
||||
.toArray(Model[]::new);
|
||||
@SuppressWarnings("unchecked")
|
||||
Pair<Model, String>[] BALE_MODELS = Stream.of("bnw", "bne", "bsw", "bse", "tnw", "tne", "tsw", "tse")
|
||||
.map(suffex -> new Pair<>(block("template_bale_" + suffex, "_" + suffex, TextureKey.TOP, TextureKey.SIDE), "_" + suffex))
|
||||
|
@ -74,124 +72,15 @@ public interface BlockModels {
|
|||
return new Model(Optional.of(parent.withPrefixedPath("block/")), Optional.of(variant), requiredTextureKeys);
|
||||
}
|
||||
|
||||
static void registerCompactedBlock(BlockStateModelGenerator modelGenerator, Block block) {
|
||||
for (Model model : FLATTENED_MODELS) {
|
||||
model.upload(block, TextureMap.all(ModelIds.getBlockModelId(block).withPath(p -> p.replace("compacted_", ""))), modelGenerator.modelCollector);
|
||||
}
|
||||
modelGenerator.blockStateCollector.accept(createCompactedBlockState(block));
|
||||
}
|
||||
|
||||
private static BlockStateSupplier createCompactedBlockState(Block block) {
|
||||
MultipartBlockStateSupplier supplier = MultipartBlockStateSupplier.create(block);
|
||||
for (byte i = 0; i < FLATTENED_MODEL_ROTATIONS.length; i++) {
|
||||
final BooleanProperty yAxis = (i & 0b100) == 0 ? Properties.DOWN : Properties.UP;
|
||||
final BooleanProperty xAxis = (i & 0b010) == 0 ? Properties.NORTH: Properties.SOUTH;
|
||||
final BooleanProperty zAxis = (i & 0b001) == 0 ? Properties.EAST : Properties.WEST;
|
||||
final VariantSettings.Rotation xRot = yAxis == Properties.DOWN ? VariantSettings.Rotation.R0 : VariantSettings.Rotation.R180;
|
||||
final VariantSettings.Rotation yRot = FLATTENED_MODEL_ROTATIONS[i];
|
||||
final String[] suffexes = yRot.ordinal() % 2 == 0 ? FLATTENED_MODEL_SUFFEXES : FLATTENED_MODEL_SUFFEXES_ROT;
|
||||
for (byte v = 0; v < suffexes.length; v++) {
|
||||
supplier.with(When.create()
|
||||
.set(yAxis, (v & 0b100) != 0)
|
||||
.set(xAxis, (v & 0b010) != 0)
|
||||
.set(zAxis, (v & 0b001) != 0), BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, ModelIds.getBlockSubModelId(block, "_corner_" + suffexes[v]))
|
||||
.put(VariantSettings.UVLOCK, true)
|
||||
.put(VariantSettings.X, xRot)
|
||||
.put(VariantSettings.Y, yRot)
|
||||
);
|
||||
}
|
||||
}
|
||||
return supplier;
|
||||
}
|
||||
|
||||
static void registerChest(BlockStateModelGenerator modelGenerator, Block chest, Block particleSource) {
|
||||
modelGenerator.registerBuiltin(ModelIds.getBlockModelId(chest), particleSource).includeWithoutItem(chest);
|
||||
ItemModels.CHEST.upload(ModelIds.getItemModelId(chest.asItem()), TextureMap.particle(particleSource), modelGenerator.modelCollector);
|
||||
}
|
||||
|
||||
static void registerBed(BlockStateModelGenerator modelGenerator, Block bed, Block particleSource) {
|
||||
modelGenerator.registerBuiltinWithParticle(bed, ModelIds.getBlockModelId(particleSource));
|
||||
modelGenerator.registerBed(bed, particleSource);
|
||||
}
|
||||
|
||||
static void registerBale(BlockStateModelGenerator modelGenerator, Identifier blockId, Identifier baseBlockId, String endSuffex) {
|
||||
Identifier top = baseBlockId.withPath(p -> "block/" + p + endSuffex);
|
||||
Identifier side = baseBlockId.withPath(p -> "block/" + p + "_side");
|
||||
TextureMap textures = new TextureMap().put(TextureKey.TOP, top).put(TextureKey.SIDE, side);
|
||||
|
||||
MultipartBlockStateSupplier supplier = MultipartBlockStateSupplier.create(Registries.BLOCK.getOrEmpty(blockId).orElseGet(() -> {
|
||||
return Registry.register(Registries.BLOCK, blockId, new EdibleBlock(blockId, blockId, false));
|
||||
}));
|
||||
Map<Integer, Identifier> uploadedModels = new HashMap<>();
|
||||
|
||||
for (Direction.Axis axis : Direction.Axis.VALUES) {
|
||||
for (int i = 0; i < EdibleBlock.SEGMENTS.length; i++) {
|
||||
BooleanProperty segment = EdibleBlock.SEGMENTS[i];
|
||||
segment.getName();
|
||||
supplier.with(When.create().set(EdibleBlock.AXIS, axis).set(segment, true), BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, uploadedModels.computeIfAbsent(i, ii -> {
|
||||
return BALE_MODELS[ii].getLeft().upload(blockId.withPath(p -> "block/" + p + BALE_MODELS[ii].getRight()), textures, modelGenerator.modelCollector);
|
||||
}))
|
||||
.put(VariantSettings.X, axis == Direction.Axis.Y ? VariantSettings.Rotation.R0 : VariantSettings.Rotation.R90)
|
||||
.put(VariantSettings.Y, axis == Direction.Axis.X ? VariantSettings.Rotation.R90 : VariantSettings.Rotation.R0)
|
||||
);
|
||||
}
|
||||
public interface Factory {
|
||||
static Factory of(Function<Identifier, TextureMap> textureFunc, Model model) {
|
||||
return (block, suffix) -> TexturedModel.makeFactory(b -> textureFunc.apply(ModelIds.getBlockSubModelId(b, suffix)), model).get(block);
|
||||
}
|
||||
|
||||
modelGenerator.blockStateCollector.accept(supplier);
|
||||
}
|
||||
TexturedModel get(Block block, String suffix);
|
||||
|
||||
static void registerCropWithoutItem(BlockStateModelGenerator modelGenerator, Block crop, Property<Integer> ageProperty, int ... stages) {
|
||||
if (ageProperty.getValues().size() != stages.length) {
|
||||
throw new IllegalArgumentException();
|
||||
default Identifier upload(Block block, String suffix, BiConsumer<Identifier, Supplier<JsonElement>> writer) {
|
||||
return get(block, suffix).upload(block, suffix, writer);
|
||||
}
|
||||
Int2ObjectOpenHashMap<Identifier> uploadedModels = new Int2ObjectOpenHashMap<>();
|
||||
modelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(crop).coordinate(BlockStateVariantMap.create(ageProperty).register(integer -> {
|
||||
Identifier identifier = uploadedModels.computeIfAbsent(stages[integer], stage -> modelGenerator.createSubModel(crop, "_stage" + stage, Models.CROP, TextureMap::crop));
|
||||
return BlockStateVariant.create().put(VariantSettings.MODEL, identifier);
|
||||
})));
|
||||
}
|
||||
|
||||
static <T extends Enum<T> & StringIdentifiable> void registerTallCrop(BlockStateModelGenerator modelGenerator, Block crop,
|
||||
Property<Integer> ageProperty,
|
||||
EnumProperty<T> partProperty,
|
||||
int[] ... ageTextureIndices) {
|
||||
Map<String, Identifier> uploadedModels = new HashMap<>();
|
||||
modelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(crop).coordinate(BlockStateVariantMap.create(partProperty, ageProperty).register((part, age) -> {
|
||||
int i = ageTextureIndices[part.ordinal()][age];
|
||||
Identifier identifier = uploadedModels.computeIfAbsent("_" + part.asString() + "_stage" + i, variant -> modelGenerator.createSubModel(crop, variant, Models.CROSS, TextureMap::cross));
|
||||
return BlockStateVariant.create().put(VariantSettings.MODEL, identifier);
|
||||
})));
|
||||
}
|
||||
|
||||
static void registerFloweringLeaves(BlockStateModelGenerator modelGenerator, Block block) {
|
||||
Identifier baseModel = TexturedModel.LEAVES.upload(block, modelGenerator.modelCollector);
|
||||
Identifier floweringModel = Models.CUBE_ALL.upload(block, "_flowering", TextureMap.of(TextureKey.ALL, ModelIds.getBlockSubModelId(block, "_flowering")), modelGenerator.modelCollector);
|
||||
modelGenerator.blockStateCollector.accept(MultipartBlockStateSupplier.create(block)
|
||||
.with(BlockStateVariant.create().put(VariantSettings.MODEL, baseModel))
|
||||
.with(When.create().set(FruitBearingBlock.STAGE, FruitBearingBlock.Stage.FLOWERING), BlockStateVariant.create().put(VariantSettings.MODEL, floweringModel)));
|
||||
}
|
||||
|
||||
static void registerZapLeaves(BlockStateModelGenerator modelGenerator, Block block) {
|
||||
Identifier baseModel = TexturedModel.LEAVES.upload(block, modelGenerator.modelCollector);
|
||||
Identifier floweringModel = Registries.BLOCK.getId(block).withPrefixedPath("block/flowering_");
|
||||
modelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(block)
|
||||
.coordinate(BlockStateVariantMap.create(ZapAppleLeavesBlock.STAGE)
|
||||
.register(stage -> BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, stage == ZapAppleStageStore.Stage.FLOWERING ? floweringModel : baseModel))));
|
||||
}
|
||||
|
||||
static void createSproutStages(BlockStateModelGenerator modelGenerator) {
|
||||
for (int i = 0; i < Models.STEM_GROWTH_STAGES.length; i++) {
|
||||
Models.STEM_GROWTH_STAGES[i].upload(Unicopia.id("block/apple_sprout_stage" + i), TextureMap.stem(Blocks.MELON_STEM), modelGenerator.modelCollector);
|
||||
}
|
||||
}
|
||||
|
||||
static void registerSprout(BlockStateModelGenerator modelGenerator, Block block) {
|
||||
modelGenerator.blockStateCollector.accept(VariantsBlockStateSupplier.create(block)
|
||||
.coordinate(BlockStateVariantMap.create(Properties.AGE_7)
|
||||
.register(age -> BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, Unicopia.id("block/apple_sprout_stage" + age)))));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
package com.minelittlepony.unicopia.datagen.providers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.UnaryOperator;
|
||||
import java.util.stream.IntStream;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.data.client.BlockStateModelGenerator;
|
||||
import net.minecraft.data.client.ModelIds;
|
||||
import net.minecraft.data.client.MultipartBlockStateSupplier;
|
||||
import net.minecraft.data.client.VariantSettings;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
final class FireModels {
|
||||
static void registerSoulFire(BlockStateModelGenerator modelGenerator, Block fire, Block texture) {
|
||||
List<Identifier> floorModels = getFireModels(modelGenerator, texture, "_floor").toList();
|
||||
List<Identifier> sideModels = Stream.concat(
|
||||
getFireModels(modelGenerator, texture, "_side"),
|
||||
getFireModels(modelGenerator, texture, "_side_alt")
|
||||
).toList();
|
||||
modelGenerator.blockStateCollector.accept(MultipartBlockStateSupplier.create(fire)
|
||||
.with(BlockStateModelGenerator.buildBlockStateVariants(floorModels, UnaryOperator.identity()))
|
||||
.with(BlockStateModelGenerator.buildBlockStateVariants(sideModels, UnaryOperator.identity()))
|
||||
.with(BlockStateModelGenerator.buildBlockStateVariants(sideModels, blockStateVariant -> blockStateVariant.put(VariantSettings.Y, VariantSettings.Rotation.R90)))
|
||||
.with(BlockStateModelGenerator.buildBlockStateVariants(sideModels, blockStateVariant -> blockStateVariant.put(VariantSettings.Y, VariantSettings.Rotation.R180)))
|
||||
.with(BlockStateModelGenerator.buildBlockStateVariants(sideModels, blockStateVariant -> blockStateVariant.put(VariantSettings.Y, VariantSettings.Rotation.R270))));
|
||||
}
|
||||
|
||||
private static Stream<Identifier> getFireModels(BlockStateModelGenerator modelGenerator, Block texture, String midfix) {
|
||||
return IntStream.range(0, 2).mapToObj(i -> ModelIds.getBlockSubModelId(texture, midfix + i));
|
||||
}
|
||||
}
|
|
@ -19,7 +19,9 @@ import net.minecraft.util.Identifier;
|
|||
interface ItemModels {
|
||||
Model GENERATED = net.minecraft.data.client.Models.GENERATED;
|
||||
Model CHEST = item(new Identifier("chest"), TextureKey.PARTICLE);
|
||||
Model BUILTIN_ENTITY = new Model(Optional.of(new Identifier("builtin/entity")), Optional.empty());
|
||||
Model TEMPLATE_AMULET = item("template_amulet", TextureKey.LAYER0);
|
||||
Model TEMPLATE_EYEWEAR = item("template_eyewear", TextureKey.LAYER0);
|
||||
Model TEMPLATE_SPAWN_EGG = item(new Identifier("template_spawn_egg"));
|
||||
Model TEMPLATE_MUG = item("template_mug", TextureKey.LAYER0);
|
||||
Model HANDHELD_STAFF = item("handheld_staff", TextureKey.LAYER0);
|
||||
|
|
|
@ -0,0 +1,447 @@
|
|||
package com.minelittlepony.unicopia.datagen.providers;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiConsumer;
|
||||
import com.minelittlepony.unicopia.Unicopia;
|
||||
import com.minelittlepony.unicopia.block.EdibleBlock;
|
||||
import com.minelittlepony.unicopia.block.FruitBearingBlock;
|
||||
import com.minelittlepony.unicopia.block.PieBlock;
|
||||
import com.minelittlepony.unicopia.block.PileBlock;
|
||||
import com.minelittlepony.unicopia.block.ShellsBlock;
|
||||
import com.minelittlepony.unicopia.block.SlimePustuleBlock;
|
||||
import com.minelittlepony.unicopia.block.UBlocks;
|
||||
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock;
|
||||
import com.minelittlepony.unicopia.item.UItems;
|
||||
import com.minelittlepony.unicopia.server.world.Tree;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.data.client.BlockStateModelGenerator;
|
||||
import net.minecraft.data.client.BlockStateVariant;
|
||||
import net.minecraft.data.client.BlockStateVariantMap;
|
||||
import net.minecraft.data.client.Model;
|
||||
import net.minecraft.data.client.ModelIds;
|
||||
import net.minecraft.data.client.Models;
|
||||
import net.minecraft.data.client.MultipartBlockStateSupplier;
|
||||
import net.minecraft.data.client.TextureKey;
|
||||
import net.minecraft.data.client.TextureMap;
|
||||
import net.minecraft.data.client.TexturedModel;
|
||||
import net.minecraft.data.client.VariantSettings;
|
||||
import net.minecraft.data.client.VariantsBlockStateSupplier;
|
||||
import net.minecraft.data.client.When;
|
||||
import net.minecraft.data.family.BlockFamily;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.state.property.BooleanProperty;
|
||||
import net.minecraft.state.property.EnumProperty;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.state.property.Property;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Pair;
|
||||
import net.minecraft.util.StringIdentifiable;
|
||||
import net.minecraft.util.math.Direction;
|
||||
|
||||
public class UBlockStateModelGenerator extends BlockStateModelGenerator {
|
||||
static final Identifier AIR_BLOCK_ID = new Identifier("block/air");
|
||||
static final Identifier AIR_ITEM_ID = new Identifier("item/air");
|
||||
|
||||
static UBlockStateModelGenerator create(BlockStateModelGenerator modelGenerator) {
|
||||
return new UBlockStateModelGenerator(modelGenerator);
|
||||
}
|
||||
|
||||
private UBlockStateModelGenerator(BlockStateModelGenerator modelGenerator) {
|
||||
super(modelGenerator.blockStateCollector,
|
||||
(id, jsonSupplier) -> {
|
||||
if (AIR_BLOCK_ID.equals(id) || AIR_ITEM_ID.equals(id)) {
|
||||
throw new IllegalStateException("Registered air id for block model: " + jsonSupplier.get().toString());
|
||||
}
|
||||
modelGenerator.modelCollector.accept(id, jsonSupplier);
|
||||
},
|
||||
item -> modelGenerator.excludeFromSimpleItemModelGeneration(Block.getBlockFromItem(item))
|
||||
);
|
||||
|
||||
for (int i = 0; i < Models.STEM_GROWTH_STAGES.length; i++) {
|
||||
Models.STEM_GROWTH_STAGES[i].upload(Unicopia.id("block/apple_sprout_stage" + i), TextureMap.stem(Blocks.MELON_STEM), modelCollector);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
// handmade
|
||||
registerAll((g, block) -> g.registerParentedItemModel(block, ModelIds.getBlockModelId(block)), UBlocks.SHAPING_BENCH, UBlocks.SURFACE_CHITIN);
|
||||
registerAll(UBlockStateModelGenerator::registerSimpleState, UBlocks.SHAPING_BENCH, UBlocks.BANANAS);
|
||||
// doors
|
||||
registerAll(UBlockStateModelGenerator::registerDoor, UBlocks.STABLE_DOOR, UBlocks.DARK_OAK_DOOR, UBlocks.CRYSTAL_DOOR, UBlocks.CLOUD_DOOR);
|
||||
|
||||
// cloud blocks
|
||||
createCustomTexturePool(UBlocks.CLOUD, TexturedModel.CUBE_ALL).same(UBlocks.UNSTABLE_CLOUD).slab(UBlocks.CLOUD_SLAB).stairs(UBlocks.CLOUD_STAIRS);
|
||||
createCustomTexturePool(UBlocks.ETCHED_CLOUD, TexturedModel.CUBE_ALL).slab(UBlocks.ETCHED_CLOUD_SLAB).stairs(UBlocks.ETCHED_CLOUD_STAIRS);
|
||||
createCustomTexturePool(UBlocks.DENSE_CLOUD, TexturedModel.CUBE_ALL).slab(UBlocks.DENSE_CLOUD_SLAB).stairs(UBlocks.DENSE_CLOUD_STAIRS);
|
||||
createCustomTexturePool(UBlocks.CLOUD_PLANKS, TexturedModel.CUBE_ALL).slab(UBlocks.CLOUD_PLANK_SLAB).stairs(UBlocks.CLOUD_PLANK_STAIRS);
|
||||
createCustomTexturePool(UBlocks.CLOUD_BRICKS, TexturedModel.CUBE_ALL).slab(UBlocks.CLOUD_BRICK_SLAB).stairs(UBlocks.CLOUD_BRICK_STAIRS);
|
||||
createTwoStepTexturePool(UBlocks.SOGGY_CLOUD, TexturedModel.CUBE_BOTTOM_TOP.andThen(textures -> textures.put(TextureKey.BOTTOM, ModelIds.getBlockModelId(UBlocks.CLOUD)))).slab(UBlocks.SOGGY_CLOUD_SLAB).stairs(UBlocks.SOGGY_CLOUD_STAIRS);
|
||||
registerRotated(UBlocks.CARVED_CLOUD, TexturedModel.CUBE_COLUMN);
|
||||
|
||||
registerAll(UBlockStateModelGenerator::registerCompactedBlock, UBlocks.COMPACTED_CLOUD, UBlocks.COMPACTED_CLOUD_BRICKS, UBlocks.COMPACTED_CLOUD_PLANKS, UBlocks.COMPACTED_DENSE_CLOUD, UBlocks.COMPACTED_ETCHED_CLOUD);
|
||||
registerChest(UBlocks.CLOUD_CHEST, UBlocks.CLOUD);
|
||||
registerFancyBed(UBlocks.CLOUD_BED, UBlocks.CLOUD);
|
||||
registerFancyBed(UBlocks.CLOTH_BED, Blocks.SPRUCE_PLANKS);
|
||||
|
||||
// chitin blocks
|
||||
registerTopsoil(UBlocks.SURFACE_CHITIN, UBlocks.CHITIN);
|
||||
registerHollow(UBlocks.CHITIN);
|
||||
registerCubeAllModelTexturePool(UBlocks.CHISELLED_CHITIN).stairs(UBlocks.CHISELLED_CHITIN_STAIRS).slab(UBlocks.CHISELLED_CHITIN_SLAB);
|
||||
registerHiveBlock(UBlocks.HIVE);
|
||||
registerRotated(UBlocks.CHITIN_SPIKES, BlockModels.SPIKES);
|
||||
registerHull(UBlocks.CHISELLED_CHITIN_HULL, UBlocks.CHITIN, UBlocks.CHISELLED_CHITIN);
|
||||
registerParentedItemModel(UBlocks.SLIME_PUSTULE, ModelIds.getBlockSubModelId(UBlocks.SLIME_PUSTULE, "_pod"));
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(UBlocks.SLIME_PUSTULE)
|
||||
.coordinate(BlockStateVariantMap.create(SlimePustuleBlock.SHAPE)
|
||||
.register(state -> BlockStateVariant.create().put(VariantSettings.MODEL, ModelIds.getBlockSubModelId(UBlocks.SLIME_PUSTULE, "_" + state.asString())))));
|
||||
registerPie(UBlocks.APPLE_PIE);
|
||||
|
||||
// palm wood
|
||||
registerLog(UBlocks.PALM_LOG).log(UBlocks.PALM_LOG).wood(UBlocks.PALM_WOOD);
|
||||
registerLog(UBlocks.STRIPPED_PALM_LOG).log(UBlocks.STRIPPED_PALM_LOG).wood(UBlocks.STRIPPED_PALM_WOOD);
|
||||
registerCubeAllModelTexturePool(UBlocks.PALM_PLANKS).family(new BlockFamily.Builder(UBlocks.PALM_PLANKS)
|
||||
.slab(UBlocks.PALM_SLAB).stairs(UBlocks.PALM_STAIRS).fence(UBlocks.PALM_FENCE).fenceGate(UBlocks.PALM_FENCE_GATE)
|
||||
.button(UBlocks.PALM_BUTTON).pressurePlate(UBlocks.PALM_PRESSURE_PLATE).sign(UBlocks.PALM_SIGN, UBlocks.PALM_WALL_SIGN)
|
||||
.door(UBlocks.PALM_DOOR).trapdoor(UBlocks.PALM_TRAPDOOR)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build());
|
||||
registerHangingSign(UBlocks.STRIPPED_PALM_LOG, UBlocks.PALM_HANGING_SIGN, UBlocks.PALM_WALL_HANGING_SIGN);
|
||||
registerSimpleCubeAll(UBlocks.PALM_LEAVES);
|
||||
|
||||
// zap wood
|
||||
registerLog(UBlocks.ZAP_LOG)
|
||||
.log(UBlocks.ZAP_LOG).wood(UBlocks.ZAP_WOOD)
|
||||
.log(UBlocks.WAXED_ZAP_LOG).wood(UBlocks.WAXED_ZAP_WOOD);
|
||||
registerLog(UBlocks.STRIPPED_ZAP_LOG)
|
||||
.log(UBlocks.STRIPPED_ZAP_LOG).wood(UBlocks.STRIPPED_ZAP_WOOD)
|
||||
.log(UBlocks.WAXED_STRIPPED_ZAP_LOG).wood(UBlocks.WAXED_STRIPPED_ZAP_WOOD);
|
||||
registerCubeAllModelTexturePool(UBlocks.ZAP_PLANKS)
|
||||
.family(new BlockFamily.Builder(UBlocks.ZAP_PLANKS)
|
||||
.slab(UBlocks.ZAP_SLAB).stairs(UBlocks.ZAP_STAIRS).fence(UBlocks.ZAP_FENCE).fenceGate(UBlocks.ZAP_FENCE_GATE)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build())
|
||||
.same(UBlocks.WAXED_ZAP_PLANKS).family(new BlockFamily.Builder(UBlocks.WAXED_ZAP_PLANKS)
|
||||
.slab(UBlocks.WAXED_ZAP_SLAB).stairs(UBlocks.WAXED_ZAP_STAIRS).fence(UBlocks.WAXED_ZAP_FENCE).fenceGate(UBlocks.WAXED_ZAP_FENCE_GATE)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build());
|
||||
registerZapLeaves(UBlocks.ZAP_LEAVES);
|
||||
registerSingleton(UBlocks.FLOWERING_ZAP_LEAVES, TexturedModel.LEAVES);
|
||||
registerStateWithModelReference(UBlocks.ZAP_LEAVES_PLACEHOLDER, Blocks.AIR);
|
||||
|
||||
// golden oak wood
|
||||
registerSimpleCubeAll(UBlocks.GOLDEN_OAK_LEAVES);
|
||||
registerLog(UBlocks.GOLDEN_OAK_LOG).log(UBlocks.GOLDEN_OAK_LOG);
|
||||
|
||||
// plants
|
||||
Tree.REGISTRY.stream().filter(tree -> tree.sapling().isPresent()).forEach(tree -> registerFlowerPotPlant(tree.sapling().get(), tree.pot().get(), TintType.NOT_TINTED));
|
||||
registerTintableCross(UBlocks.CURING_JOKE, TintType.NOT_TINTED);
|
||||
registerWithStages(UBlocks.GOLD_ROOT, Properties.AGE_7, BlockModels.CROP, 0, 0, 1, 1, 2, 2, 2, 3);
|
||||
registerWithStages(UBlocks.OATS, UBlocks.OATS.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
||||
registerWithStages(UBlocks.OATS_STEM, UBlocks.OATS_STEM.getAgeProperty(), BlockModels.CROP, 0, 1, 2, 3, 4, 5, 6);
|
||||
registerWithStages(UBlocks.OATS_CROWN, UBlocks.OATS_CROWN.getAgeProperty(), BlockModels.CROP, 0, 1);
|
||||
registerTallCrop(UBlocks.PINEAPPLE, Properties.AGE_7, Properties.BLOCK_HALF,
|
||||
new int[] { 0, 1, 2, 3, 4, 5, 5, 6 },
|
||||
new int[] { 0, 0, 1, 2, 3, 4, 5, 6 }
|
||||
);
|
||||
registerParentedItemModel(UBlocks.PLUNDER_VINE_BUD, ModelIds.getBlockModelId(UBlocks.PLUNDER_VINE_BUD));
|
||||
|
||||
// leaves
|
||||
registerAll(UBlockStateModelGenerator::registerFloweringLeaves, UBlocks.GREEN_APPLE_LEAVES, UBlocks.SOUR_APPLE_LEAVES, UBlocks.SWEET_APPLE_LEAVES);
|
||||
registerAll(UBlockStateModelGenerator::registerSprout, UBlocks.GREEN_APPLE_SPROUT, UBlocks.SOUR_APPLE_SPROUT, UBlocks.SWEET_APPLE_SPROUT, UBlocks.GOLDEN_OAK_SPROUT);
|
||||
registerStateWithModelReference(UBlocks.MANGO_LEAVES, Blocks.JUNGLE_LEAVES);
|
||||
registerParentedItemModel(UBlocks.MANGO_LEAVES, ModelIds.getBlockModelId(Blocks.JUNGLE_LEAVES));
|
||||
|
||||
// fruit
|
||||
Map.of(UBlocks.GREEN_APPLE, UItems.GREEN_APPLE,
|
||||
UBlocks.GOLDEN_APPLE, Items.GOLDEN_APPLE,
|
||||
UBlocks.MANGO, UItems.MANGO,
|
||||
UBlocks.SOUR_APPLE, UItems.SOUR_APPLE,
|
||||
UBlocks.SWEET_APPLE, UItems.SWEET_APPLE,
|
||||
UBlocks.ZAP_APPLE, UItems.ZAP_APPLE,
|
||||
UBlocks.ZAP_BULB, UItems.ZAP_BULB
|
||||
).forEach((block, item) -> registerSingleton(block, TextureMap.cross(ModelIds.getItemModelId(item)), BlockModels.FRUIT));
|
||||
|
||||
// bales
|
||||
registerAll((g, block) -> g.registerBale(Unicopia.id(block.getLeft().getPath().replace("bale", "block")), block.getLeft(), block.getRight()),
|
||||
new Pair<>(new Identifier("hay_block"), "_top"),
|
||||
new Pair<>(new Identifier("farmersdelight", "rice_bale"), "_top"),
|
||||
new Pair<>(new Identifier("farmersdelight", "straw_bale"), "_end")
|
||||
);
|
||||
// shells
|
||||
registerAll(UBlockStateModelGenerator::registerShell, UBlocks.CLAM_SHELL, UBlocks.TURRET_SHELL, UBlocks.SCALLOP_SHELL);
|
||||
// other
|
||||
registerBuiltinWithParticle(UBlocks.WEATHER_VANE, UBlocks.WEATHER_VANE.asItem());
|
||||
registerWithStages(UBlocks.FROSTED_OBSIDIAN, Properties.AGE_3, BlockModels.CUBE_ALL, 0, 1, 2, 3);
|
||||
registerWithStagesBuiltinModels(UBlocks.ROCKS, Properties.AGE_7, 0, 1, 2, 3, 4, 5, 6, 7);
|
||||
registerWithStagesBuiltinModels(UBlocks.MYSTERIOUS_EGG, PileBlock.COUNT, 1, 2, 3);
|
||||
excludeFromSimpleItemModelGeneration(UBlocks.MYSTERIOUS_EGG);
|
||||
FireModels.registerSoulFire(this, UBlocks.SPECTRAL_FIRE, Blocks.SOUL_FIRE);
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
public final <T> UBlockStateModelGenerator registerAll(BiConsumer<? super UBlockStateModelGenerator, T> register, T... blocks) {
|
||||
for (T block : blocks) {
|
||||
register.accept(this, block);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerParentedItemModel(Block block, Identifier parentModelId) {
|
||||
Item item = block.asItem();
|
||||
if (item != Items.AIR) {
|
||||
registerParentedItemModel(item, parentModelId);
|
||||
}
|
||||
}
|
||||
|
||||
public BlockTexturePool createCustomTexturePool(Block block, TexturedModel.Factory modelFactory) {
|
||||
final TexturedModel texturedModel = modelFactory.get(block);
|
||||
final TextureMap textures = texturedModel.getTextures();
|
||||
return (new BlockTexturePool(textures) {
|
||||
@Override
|
||||
public BlockTexturePool stairs(Block block) {
|
||||
TextureMap textMap = textures.copyAndAdd(BlockModels.STEP, textures.getTexture(TextureKey.SIDE));
|
||||
Identifier inner = BlockModels.INNER_STAIRS.upload(block, textMap, modelCollector);
|
||||
Identifier straight = BlockModels.STRAIGHT_STAIRS.upload(block, textMap, modelCollector);
|
||||
Identifier outer = BlockModels.OUTER_STAIRS.upload(block, textMap, modelCollector);
|
||||
blockStateCollector.accept(BlockStateModelGenerator.createStairsBlockState(block, inner, straight, outer));
|
||||
registerParentedItemModel(block, straight);
|
||||
return this;
|
||||
}
|
||||
}).base(block, texturedModel.getModel());
|
||||
}
|
||||
|
||||
public BlockTexturePool createTwoStepTexturePool(Block block, TexturedModel.Factory modelFactory) {
|
||||
final TexturedModel texturedModel = modelFactory.get(block);
|
||||
final TextureMap textures = texturedModel.getTextures();
|
||||
final Identifier baseModelId = ModelIds.getBlockModelId(block);
|
||||
final Identifier twoStepTexture = ModelIds.getBlockSubModelId(block, "_slab_side");
|
||||
return (new BlockTexturePool(textures) {
|
||||
@Override
|
||||
public BlockTexturePool stairs(Block block) {
|
||||
TextureMap textMap = textures.copyAndAdd(BlockModels.STEP, twoStepTexture);
|
||||
Identifier inner = BlockModels.INNER_STAIRS.upload(block, textMap, modelCollector);
|
||||
Identifier straight = BlockModels.STRAIGHT_STAIRS.upload(block, textMap, modelCollector);
|
||||
Identifier outer = BlockModels.OUTER_STAIRS.upload(block, textMap, modelCollector);
|
||||
blockStateCollector.accept(BlockStateModelGenerator.createStairsBlockState(block, inner, straight, outer));
|
||||
registerParentedItemModel(block, straight);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockTexturePool slab(Block block) {
|
||||
TextureMap textMap = textures.copyAndAdd(TextureKey.SIDE, twoStepTexture);
|
||||
Identifier lower = Models.SLAB.upload(block, textMap, modelCollector);
|
||||
Identifier upper = Models.SLAB_TOP.upload(block, textMap, modelCollector);
|
||||
blockStateCollector.accept(BlockStateModelGenerator.createSlabBlockState(block, lower, upper, baseModelId));
|
||||
registerParentedItemModel(block, lower);
|
||||
return this;
|
||||
}
|
||||
}).base(block, texturedModel.getModel());
|
||||
}
|
||||
|
||||
public void registerTopsoil(Block block, Block dirt) {
|
||||
TexturedModel model = TexturedModel.CUBE_BOTTOM_TOP.get(dirt);
|
||||
registerTopSoil(block,
|
||||
model.upload(block, modelCollector),
|
||||
BlockStateVariant.create().put(VariantSettings.MODEL, Models.CUBE_BOTTOM_TOP.upload(dirt, "_snow", model.getTextures()
|
||||
.copyAndAdd(TextureKey.SIDE, ModelIds.getBlockSubModelId(dirt, "_side_snow_covered")
|
||||
), modelCollector))
|
||||
);
|
||||
}
|
||||
|
||||
public void registerHollow(Block block) {
|
||||
Identifier outside = ModelIds.getBlockModelId(UBlocks.CHITIN);
|
||||
Identifier inside = ModelIds.getBlockSubModelId(UBlocks.CHITIN, "_bottom");
|
||||
registerSingleton(UBlocks.CHITIN, new TextureMap()
|
||||
.put(TextureKey.SIDE, outside)
|
||||
.put(TextureKey.TOP, outside)
|
||||
.put(TextureKey.BOTTOM, inside), Models.CUBE_BOTTOM_TOP);
|
||||
}
|
||||
|
||||
public void registerRotated(Block block, TexturedModel.Factory modelFactory) {
|
||||
Identifier modelId = modelFactory.get(block).upload(block, modelCollector);
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(block, BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, modelId))
|
||||
.coordinate(createUpDefaultFacingVariantMap()));
|
||||
}
|
||||
|
||||
public void registerCompactedBlock(Block block) {
|
||||
for (Model model : BlockModels.FLATTENED_MODELS) {
|
||||
model.upload(block, TextureMap.all(ModelIds.getBlockModelId(block).withPath(p -> p.replace("compacted_", ""))), modelCollector);
|
||||
}
|
||||
MultipartBlockStateSupplier supplier = MultipartBlockStateSupplier.create(block);
|
||||
for (byte i = 0; i < BlockModels.FLATTENED_MODEL_ROTATIONS.length; i++) {
|
||||
final BooleanProperty yAxis = (i & 0b100) == 0 ? Properties.DOWN : Properties.UP;
|
||||
final BooleanProperty xAxis = (i & 0b010) == 0 ? Properties.NORTH: Properties.SOUTH;
|
||||
final BooleanProperty zAxis = (i & 0b001) == 0 ? Properties.EAST : Properties.WEST;
|
||||
final VariantSettings.Rotation xRot = yAxis == Properties.DOWN ? VariantSettings.Rotation.R0 : VariantSettings.Rotation.R180;
|
||||
final VariantSettings.Rotation yRot = BlockModels.FLATTENED_MODEL_ROTATIONS[i];
|
||||
final String[] suffexes = yRot.ordinal() % 2 == 0 ? BlockModels.FLATTENED_MODEL_SUFFEXES : BlockModels.FLATTENED_MODEL_SUFFEXES_ROT;
|
||||
for (byte v = 0; v < suffexes.length; v++) {
|
||||
supplier.with(When.create()
|
||||
.set(yAxis, (v & 0b100) != 0)
|
||||
.set(xAxis, (v & 0b010) != 0)
|
||||
.set(zAxis, (v & 0b001) != 0), BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, ModelIds.getBlockSubModelId(block, "_corner_" + suffexes[v]))
|
||||
.put(VariantSettings.UVLOCK, true)
|
||||
.put(VariantSettings.X, xRot)
|
||||
.put(VariantSettings.Y, yRot)
|
||||
);
|
||||
}
|
||||
}
|
||||
blockStateCollector.accept(supplier);
|
||||
}
|
||||
|
||||
public void registerChest(Block chest, Block particleSource) {
|
||||
registerBuiltin(ModelIds.getBlockModelId(chest), particleSource).includeWithoutItem(chest);
|
||||
ItemModels.CHEST.upload(ModelIds.getItemModelId(chest.asItem()), TextureMap.particle(particleSource), modelCollector);
|
||||
}
|
||||
|
||||
public void registerFancyBed(Block bed, Block particleSource) {
|
||||
registerBuiltinWithParticle(bed, ModelIds.getBlockModelId(particleSource));
|
||||
super.registerBed(bed, particleSource);
|
||||
}
|
||||
|
||||
public void registerHiveBlock(Block hive) {
|
||||
Identifier core = ModelIds.getBlockSubModelId(hive, "_core");
|
||||
Identifier side = ModelIds.getBlockSubModelId(hive, "_side");
|
||||
blockStateCollector.accept(MultipartBlockStateSupplier.create(hive)
|
||||
.with(BlockStateVariant.create().put(VariantSettings.MODEL, core))
|
||||
.with(When.create().set(Properties.NORTH, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true))
|
||||
.with(When.create().set(Properties.EAST, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true).put(VariantSettings.Y, VariantSettings.Rotation.R90))
|
||||
.with(When.create().set(Properties.SOUTH, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true).put(VariantSettings.Y, VariantSettings.Rotation.R180))
|
||||
.with(When.create().set(Properties.WEST, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true).put(VariantSettings.Y, VariantSettings.Rotation.R270))
|
||||
.with(When.create().set(Properties.DOWN, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true).put(VariantSettings.X, VariantSettings.Rotation.R90))
|
||||
.with(When.create().set(Properties.UP, true), BlockStateVariant.create().put(VariantSettings.MODEL, side).put(VariantSettings.UVLOCK, true).put(VariantSettings.X, VariantSettings.Rotation.R270)));
|
||||
Models.CUBE_ALL.upload(ModelIds.getItemModelId(hive.asItem()), TextureMap.all(ModelIds.getBlockSubModelId(hive, "_side")), modelCollector);
|
||||
}
|
||||
|
||||
public void registerBale(Identifier blockId, Identifier baseBlockId, String endSuffex) {
|
||||
Identifier top = baseBlockId.withPath(p -> "block/" + p + endSuffex);
|
||||
Identifier side = baseBlockId.withPath(p -> "block/" + p + "_side");
|
||||
TextureMap textures = new TextureMap().put(TextureKey.TOP, top).put(TextureKey.SIDE, side);
|
||||
|
||||
MultipartBlockStateSupplier supplier = MultipartBlockStateSupplier.create(Registries.BLOCK.getOrEmpty(blockId).orElseGet(() -> {
|
||||
return Registry.register(Registries.BLOCK, blockId, new EdibleBlock(blockId, blockId, false));
|
||||
}));
|
||||
Map<Integer, Identifier> uploadedModels = new HashMap<>();
|
||||
|
||||
for (Direction.Axis axis : Direction.Axis.VALUES) {
|
||||
for (int i = 0; i < EdibleBlock.SEGMENTS.length; i++) {
|
||||
BooleanProperty segment = EdibleBlock.SEGMENTS[i];
|
||||
segment.getName();
|
||||
supplier.with(When.create().set(EdibleBlock.AXIS, axis).set(segment, true), BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, uploadedModels.computeIfAbsent(i, ii -> {
|
||||
return BlockModels.BALE_MODELS[ii].getLeft().upload(blockId.withPath(p -> "block/" + p + BlockModels.BALE_MODELS[ii].getRight()), textures, modelCollector);
|
||||
}))
|
||||
.put(VariantSettings.X, axis == Direction.Axis.Y ? VariantSettings.Rotation.R0 : VariantSettings.Rotation.R90)
|
||||
.put(VariantSettings.Y, axis == Direction.Axis.X ? VariantSettings.Rotation.R90 : VariantSettings.Rotation.R0)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
blockStateCollector.accept(supplier);
|
||||
}
|
||||
|
||||
public void registerWithStages(Block crop, Property<Integer> ageProperty, BlockModels.Factory modelFactory, int ... stages) {
|
||||
if (ageProperty.getValues().size() != stages.length) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
int offset = ageProperty.getValues().iterator().next();
|
||||
Int2ObjectOpenHashMap<Identifier> uploadedModels = new Int2ObjectOpenHashMap<>();
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(crop)
|
||||
.coordinate(BlockStateVariantMap.create(ageProperty)
|
||||
.register(age -> BlockStateVariant.create().put(VariantSettings.MODEL, uploadedModels.computeIfAbsent(stages[age - offset], stage -> {
|
||||
return modelFactory.upload(crop, "_stage" + stage, modelCollector);
|
||||
})))));
|
||||
}
|
||||
|
||||
public void registerWithStagesBuiltinModels(Block crop, Property<Integer> ageProperty, int ... stages) {
|
||||
if (ageProperty.getValues().size() != stages.length) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
int offset = ageProperty.getValues().iterator().next();
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(crop)
|
||||
.coordinate(BlockStateVariantMap.create(ageProperty)
|
||||
.register(age -> BlockStateVariant.create().put(VariantSettings.MODEL, ModelIds.getBlockSubModelId(crop, "_stage" + stages[age - offset])))));
|
||||
}
|
||||
|
||||
public <T extends Enum<T> & StringIdentifiable> void registerTallCrop(Block crop,
|
||||
Property<Integer> ageProperty,
|
||||
EnumProperty<T> partProperty,
|
||||
int[] ... ageTextureIndices) {
|
||||
Map<String, Identifier> uploadedModels = new HashMap<>();
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(crop).coordinate(BlockStateVariantMap.create(partProperty, ageProperty).register((part, age) -> {
|
||||
int i = ageTextureIndices[part.ordinal()][age];
|
||||
Identifier identifier = uploadedModels.computeIfAbsent("_" + part.asString() + "_stage" + i, variant -> createSubModel(crop, variant, Models.CROSS, TextureMap::cross));
|
||||
return BlockStateVariant.create().put(VariantSettings.MODEL, identifier);
|
||||
})));
|
||||
}
|
||||
|
||||
public void registerPie(Block pie) {
|
||||
TextureMap textures = new TextureMap()
|
||||
.put(TextureKey.TOP, ModelIds.getBlockSubModelId(pie, "_top"))
|
||||
.put(TextureKey.BOTTOM, ModelIds.getBlockSubModelId(pie, "_bottom"))
|
||||
.put(TextureKey.SIDE, ModelIds.getBlockSubModelId(pie, "_side"))
|
||||
.put(TextureKey.INSIDE, ModelIds.getBlockSubModelId(pie, "_inside"));
|
||||
TextureMap stompedTextures = textures.copyAndAdd(TextureKey.TOP, ModelIds.getBlockSubModelId(pie, "_top_stomped"));
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(pie).coordinate(BlockStateVariantMap.create(PieBlock.BITES, PieBlock.STOMPED).register((bites, stomped) -> {
|
||||
return BlockStateVariant.create().put(VariantSettings.MODEL, BlockModels.PIE_MODELS[bites].upload(pie, (stomped ? "_stomped" : ""), stomped ? stompedTextures : textures, modelCollector));
|
||||
})));
|
||||
}
|
||||
|
||||
public void registerFloweringLeaves(Block block) {
|
||||
Identifier baseModel = TexturedModel.LEAVES.upload(block, modelCollector);
|
||||
Identifier floweringModel = Models.CUBE_ALL.upload(block, "_flowering", TextureMap.of(TextureKey.ALL, ModelIds.getBlockSubModelId(block, "_flowering")), modelCollector);
|
||||
blockStateCollector.accept(MultipartBlockStateSupplier.create(block)
|
||||
.with(BlockStateVariant.create().put(VariantSettings.MODEL, baseModel))
|
||||
.with(When.create().set(FruitBearingBlock.STAGE, FruitBearingBlock.Stage.FLOWERING), BlockStateVariant.create().put(VariantSettings.MODEL, floweringModel)));
|
||||
}
|
||||
|
||||
public void registerZapLeaves(Block block) {
|
||||
Identifier baseModel = TexturedModel.LEAVES.upload(block, modelCollector);
|
||||
Identifier floweringModel = Registries.BLOCK.getId(block).withPrefixedPath("block/flowering_");
|
||||
Identifier airModel = ModelIds.getBlockModelId(Blocks.AIR);
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(block)
|
||||
.coordinate(BlockStateVariantMap.create(ZapAppleLeavesBlock.STAGE)
|
||||
.register(stage -> BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, switch (stage) {
|
||||
case HIBERNATING -> airModel;
|
||||
case FLOWERING -> floweringModel;
|
||||
default -> baseModel;
|
||||
}))));
|
||||
}
|
||||
|
||||
public void registerSprout(Block sprout) {
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(sprout)
|
||||
.coordinate(BlockStateVariantMap.create(Properties.AGE_7)
|
||||
.register(age -> BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, Unicopia.id("block/apple_sprout_stage" + age)))));
|
||||
}
|
||||
|
||||
public void registerShell(Block shell) {
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(shell)
|
||||
.coordinate(BlockStateVariantMap.create(ShellsBlock.COUNT)
|
||||
.register(count -> BlockStateVariant.create()
|
||||
.put(VariantSettings.MODEL, BlockModels.SHELL_MODELS[count - 1].upload(shell, TextureMap.of(BlockModels.SHELL, Registries.BLOCK.getId(shell).withPrefixedPath("item/")), modelCollector)))));
|
||||
}
|
||||
|
||||
public void registerHull(Block block, Block core, Block shell) {
|
||||
blockStateCollector.accept(VariantsBlockStateSupplier.create(
|
||||
block,
|
||||
BlockStateVariant.create().put(VariantSettings.MODEL, Models.CUBE_BOTTOM_TOP.upload(block, new TextureMap()
|
||||
.put(TextureKey.BOTTOM, ModelIds.getBlockModelId(core))
|
||||
.put(TextureKey.TOP, ModelIds.getBlockModelId(shell))
|
||||
.put(TextureKey.SIDE, ModelIds.getBlockSubModelId(shell, "_half")), modelCollector))
|
||||
).coordinate(createUpDefaultFacingVariantMap()));
|
||||
}
|
||||
}
|
|
@ -1,32 +1,19 @@
|
|||
package com.minelittlepony.unicopia.datagen.providers;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.minelittlepony.unicopia.Race;
|
||||
import com.minelittlepony.unicopia.Unicopia;
|
||||
import com.minelittlepony.unicopia.block.UBlocks;
|
||||
import com.minelittlepony.unicopia.item.BedsheetsItem;
|
||||
import com.minelittlepony.unicopia.item.UItems;
|
||||
import com.minelittlepony.unicopia.server.world.Tree;
|
||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.data.client.BlockStateModelGenerator;
|
||||
import net.minecraft.data.client.BlockStateModelGenerator.TintType;
|
||||
import net.minecraft.data.family.BlockFamily;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Pair;
|
||||
import net.minecraft.data.client.ItemModelGenerator;
|
||||
import net.minecraft.data.client.ModelIds;
|
||||
import net.minecraft.data.client.TextureKey;
|
||||
import net.minecraft.data.client.TextureMap;
|
||||
import net.minecraft.data.client.TexturedModel;
|
||||
|
||||
public class UModelProvider extends FabricModelProvider {
|
||||
public UModelProvider(FabricDataOutput output) {
|
||||
|
@ -34,106 +21,8 @@ public class UModelProvider extends FabricModelProvider {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void generateBlockStateModels(BlockStateModelGenerator modelGenerator) {
|
||||
// cloud blocks
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.CLOUD).slab(UBlocks.CLOUD_SLAB);//.stairs(UBlocks.CLOUD_STAIRS);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.ETCHED_CLOUD).slab(UBlocks.ETCHED_CLOUD_SLAB);//.stairs(UBlocks.ETCHED_CLOUD_STAIRS);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.DENSE_CLOUD).slab(UBlocks.DENSE_CLOUD_SLAB);//.stairs(UBlocks.DENSE_CLOUD_STAIRS);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.CLOUD_PLANKS).slab(UBlocks.CLOUD_PLANK_SLAB);//.stairs(UBlocks.CLOUD_PLANK_STAIRS);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.CLOUD_BRICKS).slab(UBlocks.CLOUD_BRICK_SLAB);//.stairs(UBlocks.CLOUD_PLANK_STAIRS);
|
||||
|
||||
List.of(UBlocks.COMPACTED_CLOUD, UBlocks.COMPACTED_CLOUD_BRICKS, UBlocks.COMPACTED_CLOUD_PLANKS, UBlocks.COMPACTED_DENSE_CLOUD, UBlocks.COMPACTED_ETCHED_CLOUD).forEach(block -> {
|
||||
BlockModels.registerCompactedBlock(modelGenerator, block);
|
||||
});
|
||||
BlockModels.registerChest(modelGenerator, UBlocks.CLOUD_CHEST, UBlocks.CLOUD);
|
||||
BlockModels.registerBed(modelGenerator, UBlocks.CLOUD_BED, UBlocks.CLOUD);
|
||||
BlockModels.registerBed(modelGenerator, UBlocks.CLOTH_BED, Blocks.SPRUCE_PLANKS);
|
||||
|
||||
// doors
|
||||
List.of(UBlocks.STABLE_DOOR, UBlocks.DARK_OAK_DOOR, UBlocks.CRYSTAL_DOOR, UBlocks.CLOUD_DOOR).forEach(modelGenerator::registerDoor);
|
||||
|
||||
// chitin blocks
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.CHISELLED_CHITIN).stairs(UBlocks.CHISELLED_CHITIN_STAIRS).slab(UBlocks.CHISELLED_CHITIN_SLAB);
|
||||
|
||||
// palm wood
|
||||
registerLogSet(modelGenerator, UBlocks.PALM_LOG, UBlocks.PALM_WOOD);
|
||||
registerLogSet(modelGenerator, UBlocks.STRIPPED_PALM_LOG, UBlocks.STRIPPED_PALM_WOOD);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.PALM_PLANKS).family(new BlockFamily.Builder(UBlocks.PALM_PLANKS)
|
||||
.slab(UBlocks.PALM_SLAB).stairs(UBlocks.PALM_STAIRS).fence(UBlocks.PALM_FENCE).fenceGate(UBlocks.PALM_FENCE_GATE)
|
||||
.button(UBlocks.PALM_BUTTON).pressurePlate(UBlocks.PALM_PRESSURE_PLATE).sign(UBlocks.PALM_SIGN, UBlocks.PALM_WALL_SIGN)
|
||||
.door(UBlocks.PALM_DOOR).trapdoor(UBlocks.PALM_TRAPDOOR)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build());
|
||||
modelGenerator.registerHangingSign(UBlocks.STRIPPED_PALM_LOG, UBlocks.PALM_HANGING_SIGN, UBlocks.PALM_WALL_HANGING_SIGN);
|
||||
modelGenerator.registerSimpleCubeAll(UBlocks.PALM_LEAVES);
|
||||
|
||||
// zap wood
|
||||
modelGenerator.registerLog(UBlocks.ZAP_LOG)
|
||||
.log(UBlocks.ZAP_LOG).wood(UBlocks.ZAP_WOOD)
|
||||
.log(UBlocks.WAXED_ZAP_LOG).wood(UBlocks.WAXED_ZAP_WOOD);
|
||||
modelGenerator.registerLog(UBlocks.STRIPPED_ZAP_LOG)
|
||||
.log(UBlocks.STRIPPED_ZAP_LOG).wood(UBlocks.STRIPPED_ZAP_WOOD)
|
||||
.log(UBlocks.WAXED_STRIPPED_ZAP_LOG).wood(UBlocks.WAXED_STRIPPED_ZAP_WOOD);
|
||||
modelGenerator.registerCubeAllModelTexturePool(UBlocks.ZAP_PLANKS)
|
||||
.family(new BlockFamily.Builder(UBlocks.ZAP_PLANKS)
|
||||
.slab(UBlocks.ZAP_SLAB).stairs(UBlocks.ZAP_STAIRS).fence(UBlocks.ZAP_FENCE).fenceGate(UBlocks.ZAP_FENCE_GATE)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build())
|
||||
.same(UBlocks.WAXED_ZAP_PLANKS).family(new BlockFamily.Builder(UBlocks.WAXED_ZAP_PLANKS)
|
||||
.slab(UBlocks.WAXED_ZAP_SLAB).stairs(UBlocks.WAXED_ZAP_STAIRS).fence(UBlocks.WAXED_ZAP_FENCE).fenceGate(UBlocks.WAXED_ZAP_FENCE_GATE)
|
||||
.group("wooden").unlockCriterionName("has_planks")
|
||||
.build());
|
||||
BlockModels.registerZapLeaves(modelGenerator, UBlocks.ZAP_LEAVES);
|
||||
modelGenerator.registerSingleton(UBlocks.FLOWERING_ZAP_LEAVES, TexturedModel.LEAVES);
|
||||
|
||||
// golden oak wood
|
||||
modelGenerator.registerSimpleCubeAll(UBlocks.GOLDEN_OAK_LEAVES);
|
||||
modelGenerator.registerLog(UBlocks.GOLDEN_OAK_LOG)
|
||||
.log(UBlocks.GOLDEN_OAK_LOG);
|
||||
|
||||
// plants
|
||||
Tree.REGISTRY.stream().filter(tree -> tree.sapling().isPresent()).forEach(tree -> {
|
||||
modelGenerator.registerFlowerPotPlant(tree.sapling().get(), tree.pot().get(), TintType.NOT_TINTED);
|
||||
});
|
||||
modelGenerator.registerTintableCross(UBlocks.CURING_JOKE, TintType.NOT_TINTED);
|
||||
modelGenerator.registerCrop(UBlocks.GOLD_ROOT, Properties.AGE_7, 0, 0, 1, 1, 2, 2, 2, 3);
|
||||
BlockModels.registerCropWithoutItem(modelGenerator, UBlocks.OATS, UBlocks.OATS.getAgeProperty(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
||||
BlockModels.registerCropWithoutItem(modelGenerator, UBlocks.OATS_STEM, UBlocks.OATS_STEM.getAgeProperty(), 0, 1, 2, 3, 4, 5, 6);
|
||||
BlockModels.registerCropWithoutItem(modelGenerator, UBlocks.OATS_CROWN, UBlocks.OATS_CROWN.getAgeProperty(), 0, 1);
|
||||
BlockModels.registerTallCrop(modelGenerator, UBlocks.PINEAPPLE, Properties.AGE_7, Properties.BLOCK_HALF,
|
||||
new int[] { 0, 1, 2, 3, 4, 5, 5, 6 },
|
||||
new int[] { 0, 0, 1, 2, 3, 4, 5, 6 }
|
||||
);
|
||||
|
||||
// leaves
|
||||
List.of(UBlocks.GREEN_APPLE_LEAVES, UBlocks.SOUR_APPLE_LEAVES, UBlocks.SWEET_APPLE_LEAVES).forEach(block -> {
|
||||
BlockModels.registerFloweringLeaves(modelGenerator, block);
|
||||
});
|
||||
BlockModels.createSproutStages(modelGenerator);
|
||||
List.of(UBlocks.GREEN_APPLE_SPROUT, UBlocks.SOUR_APPLE_SPROUT, UBlocks.SWEET_APPLE_SPROUT, UBlocks.GOLDEN_OAK_SPROUT).forEach(block -> {
|
||||
BlockModels.registerSprout(modelGenerator, block);
|
||||
});
|
||||
|
||||
// fruit
|
||||
Map.of(UBlocks.GREEN_APPLE, UItems.GREEN_APPLE,
|
||||
UBlocks.GOLDEN_APPLE, Items.GOLDEN_APPLE,
|
||||
UBlocks.MANGO, UItems.MANGO,
|
||||
UBlocks.SOUR_APPLE, UItems.SOUR_APPLE,
|
||||
UBlocks.SWEET_APPLE, UItems.SWEET_APPLE,
|
||||
UBlocks.ZAP_APPLE, UItems.ZAP_APPLE,
|
||||
UBlocks.ZAP_BULB, UItems.ZAP_BULB
|
||||
).forEach((block, item) -> {
|
||||
modelGenerator.registerSingleton(block, TextureMap.cross(Registries.ITEM.getId(item).withPrefixedPath("item/")), BlockModels.FRUIT);
|
||||
});
|
||||
|
||||
// bales
|
||||
List.of(
|
||||
new Pair<>(new Identifier("hay_block"), "_top"),
|
||||
new Pair<>(new Identifier("farmersdelight", "rice_bale"), "_top"),
|
||||
new Pair<>(new Identifier("farmersdelight", "straw_bale"), "_end")
|
||||
).forEach(block -> {
|
||||
BlockModels.registerBale(modelGenerator, Unicopia.id(block.getLeft().getPath().replace("bale", "block")), block.getLeft(), block.getRight());
|
||||
});
|
||||
public void generateBlockStateModels(BlockStateModelGenerator modelGenerator0) {
|
||||
UBlockStateModelGenerator.create(modelGenerator0).register();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -141,7 +30,7 @@ public class UModelProvider extends FabricModelProvider {
|
|||
ItemModels.register(itemModelGenerator,
|
||||
UItems.ACORN, UItems.APPLE_PIE_HOOF, UItems.APPLE_PIE_SLICE, UItems.APPLE_PIE,
|
||||
UItems.BANANA, UItems.BOTCHED_GEM, UItems.BROKEN_SUNGLASSES, UItems.BURNED_JUICE, UItems.BURNED_TOAST,
|
||||
UItems.CARAPACE, UItems.CLAM_SHELL, UItems.COOKED_ZAP_APPLE, UItems.CRISPY_HAY_FRIES, UItems.CRYSTAL_HEART, UItems.CRYSTAL_SHARD,
|
||||
UItems.CARAPACE, UItems.CLAM_SHELL, UItems.COOKED_ZAP_APPLE, UItems.CLOUD_LUMP, UItems.CRISPY_HAY_FRIES, UItems.CRYSTAL_HEART, UItems.CRYSTAL_SHARD,
|
||||
UItems.DAFFODIL_DAISY_SANDWICH, UItems.DRAGON_BREATH_SCROLL,
|
||||
UItems.EMPTY_JAR,
|
||||
UItems.FRIENDSHIP_BRACELET,
|
||||
|
@ -158,52 +47,37 @@ public class UModelProvider extends FabricModelProvider {
|
|||
UItems.SALT_CUBE, UItems.SCALLOP_SHELL, UItems.SHELLY, UItems.SOUR_APPLE_SEEDS, UItems.SOUR_APPLE, UItems.SPELLBOOK, UItems.STORM_CLOUD_JAR,
|
||||
UItems.SWEET_APPLE_SEEDS, UItems.SWEET_APPLE,
|
||||
UItems.TOAST, UItems.TOM, UItems.TURRET_SHELL,
|
||||
UItems.WEIRD_ROCK, UItems.WHEAT_WORMS,
|
||||
UItems.WEIRD_ROCK, UItems.WHEAT_WORMS, UBlocks.WEATHER_VANE.asItem(),
|
||||
UItems.ZAP_APPLE_JAM_JAR, UItems.ZAP_APPLE, UItems.ZAP_BULB,
|
||||
|
||||
// discs
|
||||
UItems.MUSIC_DISC_CRUSADE, UItems.MUSIC_DISC_FUNK, UItems.MUSIC_DISC_PET, UItems.MUSIC_DISC_POPULAR,
|
||||
|
||||
// baskets
|
||||
UItems.ACACIA_BASKET, UItems.BAMBOO_BASKET, UItems.BIRCH_BASKET, UItems.CHERRY_BASKET,
|
||||
UItems.DARK_OAK_BASKET, UItems.JUNGLE_BASKET, UItems.MANGROVE_BASKET, UItems.OAK_BASKET, UItems.SPRUCE_BASKET,
|
||||
UItems.PALM_BASKET,
|
||||
|
||||
// boats
|
||||
UItems.PALM_BOAT, UItems.PALM_CHEST_BOAT,
|
||||
|
||||
// horseshoes
|
||||
UItems.COPPER_HORSE_SHOE, UItems.GOLDEN_HORSE_SHOE, UItems.IRON_HORSE_SHOE, UItems.NETHERITE_HORSE_SHOE
|
||||
);
|
||||
|
||||
// spawn eggs
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_SPAWN_EGG,
|
||||
UItems.BUTTERFLY_SPAWN_EGG, UItems.LOOT_BUG_SPAWN_EGG
|
||||
);
|
||||
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_SPAWN_EGG, UItems.BUTTERFLY_SPAWN_EGG, UItems.LOOT_BUG_SPAWN_EGG);
|
||||
// amulets
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_AMULET,
|
||||
UItems.ALICORN_AMULET, UItems.BROKEN_ALICORN_AMULET, UItems.PEARL_NECKLACE, UItems.PEGASUS_AMULET, UItems.UNICORN_AMULET
|
||||
);
|
||||
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_AMULET, UItems.ALICORN_AMULET, UItems.BROKEN_ALICORN_AMULET, UItems.PEARL_NECKLACE, UItems.PEGASUS_AMULET, UItems.UNICORN_AMULET);
|
||||
// mugs
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_MUG,
|
||||
UItems.CIDER, UItems.LOVE_BOTTLE, UItems.LOVE_BUCKET, UItems.LOVE_MUG, UItems.MUG
|
||||
);
|
||||
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_MUG, UItems.CIDER, UItems.LOVE_BOTTLE, UItems.LOVE_BUCKET, UItems.LOVE_MUG, UItems.MUG);
|
||||
// jars
|
||||
ItemModels.register(itemModelGenerator, ItemModels.BUILTIN_ENTITY, UItems.FILLED_JAR);
|
||||
// eyewear
|
||||
ItemModels.register(itemModelGenerator, ItemModels.TEMPLATE_EYEWEAR, UItems.SUNGLASSES);
|
||||
// staffs
|
||||
ItemModels.register(itemModelGenerator, ItemModels.HANDHELD_STAFF,
|
||||
UItems.MEADOWBROOKS_STAFF
|
||||
);
|
||||
ItemModels.register(itemModelGenerator, ItemModels.HANDHELD_STAFF, UItems.MEADOWBROOKS_STAFF);
|
||||
ItemModels.item("handheld_staff", TextureKey.LAYER0, TextureKey.LAYER1).upload(ModelIds.getItemModelId(UItems.MAGIC_STAFF), new TextureMap()
|
||||
.put(TextureKey.LAYER0, ModelIds.getItemSubModelId(UItems.MAGIC_STAFF, "_base"))
|
||||
.put(TextureKey.LAYER1, ModelIds.getItemSubModelId(UItems.MAGIC_STAFF, "_magic")), itemModelGenerator.writer);
|
||||
|
||||
// polearms
|
||||
List.of(UItems.DIAMOND_POLEARM, UItems.GOLDEN_POLEARM, UItems.NETHERITE_POLEARM, UItems.STONE_POLEARM, UItems.WOODEN_POLEARM, UItems.IRON_POLEARM).forEach(item -> {
|
||||
ItemModels.registerPolearm(itemModelGenerator, item);
|
||||
});
|
||||
|
||||
List.of(UItems.DIAMOND_POLEARM, UItems.GOLDEN_POLEARM, UItems.NETHERITE_POLEARM, UItems.STONE_POLEARM, UItems.WOODEN_POLEARM, UItems.IRON_POLEARM).forEach(item -> ItemModels.registerPolearm(itemModelGenerator, item));
|
||||
// sheets
|
||||
ItemModels.register(itemModelGenerator, BedsheetsItem.ITEMS.values().stream().toArray(Item[]::new));
|
||||
// badges
|
||||
|
@ -212,6 +86,7 @@ public class UModelProvider extends FabricModelProvider {
|
|||
.flatMap(id -> Registries.ITEM.getOrEmpty(id).stream())
|
||||
.toArray(Item[]::new));
|
||||
|
||||
// butterflies
|
||||
ItemModels.registerButterfly(itemModelGenerator, UItems.BUTTERFLY);
|
||||
ItemModels.registerSpectralBlock(itemModelGenerator, UItems.SPECTRAL_CLOCK);
|
||||
ModelOverrides.of(ItemModels.GENERATED)
|
||||
|
@ -224,16 +99,11 @@ public class UModelProvider extends FabricModelProvider {
|
|||
.addOverride(ModelIds.getItemSubModelId(item, "_bite2"), "damage", 0.6F)
|
||||
.upload(item, itemModelGenerator);
|
||||
});
|
||||
}
|
||||
|
||||
private void registerLogSet(BlockStateModelGenerator modelGenerator, Block log, Block wood) {
|
||||
modelGenerator.registerLog(log).log(log).wood(wood);
|
||||
}
|
||||
|
||||
public void registerParentedAxisRotatedCubeColumn(BlockStateModelGenerator modelGenerator, Block modelSource, Block child) {
|
||||
Identifier vertical = ModelIds.getBlockModelId(modelSource);
|
||||
Identifier horizontal = ModelIds.getBlockSubModelId(modelSource, "_horizontal");
|
||||
modelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createAxisRotatedBlockState(child, vertical, horizontal));
|
||||
modelGenerator.registerParentedItemModel(child, vertical);
|
||||
// gemstone
|
||||
ModelOverrides.of(ItemModels.GENERATED)
|
||||
.addOverride(ModelIds.getItemSubModelId(UItems.GEMSTONE, "_pure"), "affinity", 0)
|
||||
.addOverride(ModelIds.getItemSubModelId(UItems.GEMSTONE, "_corrupted"), "affinity", 1)
|
||||
.upload(UItems.GEMSTONE, itemModelGenerator);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"bites=0,stomped=false": { "model": "unicopia:block/apple_pie" },
|
||||
"bites=1,stomped=false": { "model": "unicopia:block/apple_pie_elbow" },
|
||||
"bites=2,stomped=false": { "model": "unicopia:block/apple_pie_straight" },
|
||||
"bites=3,stomped=false": { "model": "unicopia:block/apple_pie_corner" },
|
||||
"bites=0,stomped=true": { "model": "unicopia:block/stomped_apple_pie" },
|
||||
"bites=1,stomped=true": { "model": "unicopia:block/stomped_apple_pie_elbow" },
|
||||
"bites=2,stomped=true": { "model": "unicopia:block/stomped_apple_pie_straight" },
|
||||
"bites=3,stomped=true": { "model": "unicopia:block/stomped_apple_pie_corner" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "unicopia:block/bananas"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=up": { "model": "unicopia:block/carved_cloud" },
|
||||
"facing=down": { "model": "unicopia:block/carved_cloud", "x": 180 },
|
||||
"facing=north": { "model": "unicopia:block/carved_cloud", "x": 90 },
|
||||
"facing=south": { "model": "unicopia:block/carved_cloud", "x": -90 },
|
||||
"facing=east": { "model": "unicopia:block/carved_cloud", "x": 90, "y": 90 },
|
||||
"facing=west": { "model": "unicopia:block/carved_cloud", "x": 90, "y": -90 }
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=up": { "model": "unicopia:block/chiselled_chitin_hull" },
|
||||
"facing=down": { "model": "unicopia:block/chiselled_chitin_hull", "x": 180 },
|
||||
"facing=north": { "model": "unicopia:block/chiselled_chitin_hull", "x": 90 },
|
||||
"facing=south": { "model": "unicopia:block/chiselled_chitin_hull", "x": -90 },
|
||||
"facing=east": { "model": "unicopia:block/chiselled_chitin_hull", "x": 90, "y": 90 },
|
||||
"facing=west": { "model": "unicopia:block/chiselled_chitin_hull", "x": 90, "y": -90 }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/chitin" }
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=up": { "model": "unicopia:block/chitin_spikes" },
|
||||
"facing=down": { "model": "unicopia:block/chitin_spikes", "x": 180 },
|
||||
"facing=north": { "model": "unicopia:block/chitin_spikes", "x": 90 },
|
||||
"facing=south": { "model": "unicopia:block/chitin_spikes", "x": -90 },
|
||||
"facing=east": { "model": "unicopia:block/chitin_spikes", "x": 90, "y": 90 },
|
||||
"facing=west": { "model": "unicopia:block/chitin_spikes", "x": 90, "y": -90 }
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"count=1": { "model": "unicopia:block/clam_shell_1" },
|
||||
"count=2": { "model": "unicopia:block/clam_shell_2" },
|
||||
"count=3": { "model": "unicopia:block/clam_shell_3" },
|
||||
"count=4": { "model": "unicopia:block/clam_shell_4" }
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner"
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer"
|
||||
},
|
||||
"facing=east,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs"
|
||||
},
|
||||
"facing=east,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner"
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer"
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_brick_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_brick_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner"
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer"
|
||||
},
|
||||
"facing=east,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs"
|
||||
},
|
||||
"facing=east,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner"
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer"
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/cloud_plank_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=straight": {
|
||||
"model": "unicopia:block/cloud_plank_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner"
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer"
|
||||
},
|
||||
"facing=east,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs"
|
||||
},
|
||||
"facing=east,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=east,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=top,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180
|
||||
},
|
||||
"facing=north,half=top,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner"
|
||||
},
|
||||
"facing=south,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer"
|
||||
},
|
||||
"facing=south,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=top,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=bottom,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=bottom,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=inner_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_inner",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=outer_left": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=top,shape=outer_right": {
|
||||
"model": "unicopia:block/etched_cloud_stairs_outer",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=top,shape=straight": {
|
||||
"model": "unicopia:block/etched_cloud_stairs",
|
||||
"uvlock": true,
|
||||
"x": 180,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"age=0": {
|
||||
"model": "unicopia:block/frosted_obsidian_0"
|
||||
},
|
||||
"age=1": {
|
||||
"model": "unicopia:block/frosted_obsidian_1"
|
||||
},
|
||||
"age=2": {
|
||||
"model": "unicopia:block/frosted_obsidian_2"
|
||||
},
|
||||
"age=3": {
|
||||
"model": "unicopia:block/frosted_obsidian_3"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_core"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true
|
||||
},
|
||||
"when": {
|
||||
"north": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true,
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"east": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true,
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"south": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true,
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"west": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true,
|
||||
"x": 90
|
||||
},
|
||||
"when": {
|
||||
"down": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "unicopia:block/hive_side",
|
||||
"uvlock": true,
|
||||
"x": 270
|
||||
},
|
||||
"when": {
|
||||
"up": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "minecraft:block/jungle_leaves"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"count=1": { "model": "unicopia:block/mysterious_egg_1" },
|
||||
"count=2": { "model": "unicopia:block/mysterious_egg_2" },
|
||||
"count=3": { "model": "unicopia:block/mysterious_egg_3" }
|
||||
}
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"age=0": {
|
||||
"model": "unicopia:block/rocks_stage0"
|
||||
},
|
||||
"age=1": {
|
||||
"model": "unicopia:block/rocks_stage1"
|
||||
},
|
||||
"age=2": {
|
||||
"model": "unicopia:block/rocks_stage2"
|
||||
},
|
||||
"age=3": {
|
||||
"model": "unicopia:block/rocks_stage3"
|
||||
},
|
||||
"age=4": {
|
||||
"model": "unicopia:block/rocks_stage4"
|
||||
},
|
||||
"age=5": {
|
||||
"model": "unicopia:block/rocks_stage5"
|
||||
},
|
||||
"age=6": {
|
||||
"model": "unicopia:block/rocks_stage6"
|
||||
},
|
||||
"age=7": {
|
||||
"model": "unicopia:block/rocks_stage7"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"count=1": { "model": "unicopia:block/scallop_shell_1" },
|
||||
"count=2": { "model": "unicopia:block/scallop_shell_2" },
|
||||
"count=3": { "model": "unicopia:block/scallop_shell_3" },
|
||||
"count=4": { "model": "unicopia:block/scallop_shell_4" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "unicopia:block/shaping_bench"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"shape=drip": { "model": "unicopia:block/slime_pustule_drip" },
|
||||
"shape=cap": { "model": "unicopia:block/slime_pustule_cap" },
|
||||
"shape=string": { "model": "unicopia:block/slime_pustule_rope" },
|
||||
"shape=pod": { "model": "unicopia:block/slime_pustule_pod" }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/soggy_cloud" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=double": { "model": "unicopia:block/soggy_cloud" },
|
||||
"type=bottom": { "model": "unicopia:block/soggy_cloud_slab" },
|
||||
"type=top": { "model": "unicopia:block/soggy_cloud_slab_top" }
|
||||
}
|
||||
}
|
|
@ -1,209 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,90 +0,0 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": [
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_floor0"
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_floor1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apply": [
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side0"
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side1"
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt0"
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apply": [
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side0",
|
||||
"y": 90
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side1",
|
||||
"y": 90
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt0",
|
||||
"y": 90
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt1",
|
||||
"y": 90
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apply": [
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side0",
|
||||
"y": 180
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side1",
|
||||
"y": 180
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt0",
|
||||
"y": 180
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt1",
|
||||
"y": 180
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apply": [
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side0",
|
||||
"y": 270
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side1",
|
||||
"y": 270
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt0",
|
||||
"y": 270
|
||||
},
|
||||
{
|
||||
"model": "minecraft:block/soul_fire_side_alt1",
|
||||
"y": 270
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"snowy=false": { "model": "unicopia:block/surface_chitin" },
|
||||
"snowy=true": { "model": "unicopia:block/surface_chitin_snowy" }
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"count=1": { "model": "unicopia:block/turret_shell_1" },
|
||||
"count=2": { "model": "unicopia:block/turret_shell_2" },
|
||||
"count=3": { "model": "unicopia:block/turret_shell_3" },
|
||||
"count=4": { "model": "unicopia:block/turret_shell_4" }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/cloud" }
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": { "model": "unicopia:block/weather_vane" }
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "minecraft:block/air"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_full",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_corner",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_elbow",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_straight",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/carved_cloud_top",
|
||||
"top": "unicopia:block/carved_cloud_top",
|
||||
"side": "unicopia:block/carved_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/chitin",
|
||||
"top": "unicopia:block/chiselled_chitin",
|
||||
"side": "unicopia:block/chiselled_chitin_half"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/chitin_bottom",
|
||||
"top": "unicopia:block/chitin",
|
||||
"side": "unicopia:block/chitin"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/crop",
|
||||
"textures": {
|
||||
"crop": "unicopia:block/chitin_spikes"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_bricks",
|
||||
"side": "unicopia:block/cloud_bricks",
|
||||
"top": "unicopia:block/cloud_bricks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_bricks",
|
||||
"side": "unicopia:block/cloud_bricks",
|
||||
"top": "unicopia:block/cloud_bricks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_bricks",
|
||||
"side": "unicopia:block/cloud_bricks",
|
||||
"top": "unicopia:block/cloud_bricks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud_planks",
|
||||
"side": "unicopia:block/cloud_planks",
|
||||
"top": "unicopia:block/cloud_planks"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/dense_cloud",
|
||||
"side": "unicopia:block/dense_cloud",
|
||||
"top": "unicopia:block/dense_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/etched_cloud",
|
||||
"side": "unicopia:block/etched_cloud",
|
||||
"top": "unicopia:block/etched_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/etched_cloud",
|
||||
"side": "unicopia:block/etched_cloud",
|
||||
"top": "unicopia:block/etched_cloud"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/etched_cloud",
|
||||
"side": "unicopia:block/etched_cloud",
|
||||
"top": "unicopia:block/etched_cloud"
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"textures": {
|
||||
"all": "unicopia:block/cloud",
|
||||
"particle": "#all"
|
||||
},
|
||||
"elements": [
|
||||
|
@ -15,4 +14,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "unicopia:block/frosted_obsidian_0"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "unicopia:block/frosted_obsidian_1"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "unicopia:block/frosted_obsidian_2"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_all",
|
||||
"textures": {
|
||||
"all": "unicopia:block/frosted_obsidian_3"
|
||||
}
|
||||
}
|
|
@ -1,10 +1,5 @@
|
|||
{
|
||||
"parent": "minecraft:block/inner_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/cloud",
|
||||
"top": "unicopia:block/cloud"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 8],
|
||||
|
@ -29,8 +24,8 @@
|
|||
"from": [0, 0, 0],
|
||||
"to": [8, 8, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8, 16, 16], "texture": "#side", "cullface": "north"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#side", "cullface": "west"},
|
||||
"north": {"uv": [8, 8, 16, 16], "texture": "#step", "cullface": "north"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#step", "cullface": "west"},
|
||||
"up": {"uv": [0, 0, 8, 8], "texture": "#top"},
|
||||
"down": {"uv": [0, 8, 8, 16], "texture": "#bottom", "cullface": "down"}
|
||||
}
|
||||
|
@ -39,9 +34,9 @@
|
|||
"from": [8, 8, 0],
|
||||
"to": [16, 16, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [8, 0, 16, 8], "texture": "#side", "cullface": "east"},
|
||||
"west": {"uv": [0, 0, 8, 8], "texture": "#side"},
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#step", "cullface": "north"},
|
||||
"east": {"uv": [8, 0, 16, 8], "texture": "#step", "cullface": "east"},
|
||||
"west": {"uv": [0, 0, 8, 8], "texture": "#step"},
|
||||
"up": {"uv": [8, 0, 16, 8], "texture": "#top", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
|
@ -49,8 +44,8 @@
|
|||
"from": [8, 8, 8],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#side", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#side", "cullface": "south"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#step", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#step", "cullface": "south"},
|
||||
"up": {"uv": [8, 8, 16, 16], "texture": "#top", "cullface": "up"}
|
||||
}
|
||||
},
|
||||
|
@ -58,9 +53,9 @@
|
|||
"from": [0, 8, 8],
|
||||
"to": [8, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 0, 16, 8], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 8, 8], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [8, 0, 16, 8], "texture": "#side", "cullface": "west"},
|
||||
"north": {"uv": [8, 0, 16, 8], "texture": "#step"},
|
||||
"south": {"uv": [0, 0, 8, 8], "texture": "#step", "cullface": "south"},
|
||||
"west": {"uv": [8, 0, 16, 8], "texture": "#step", "cullface": "west"},
|
||||
"up": {"uv": [0, 8, 8, 16], "texture": "#top", "cullface": "up"}
|
||||
}
|
||||
}
|
|
@ -1,18 +1,13 @@
|
|||
{
|
||||
"parent": "minecraft:block/outer_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/cloud",
|
||||
"top": "unicopia:block/cloud"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 8, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 8, 16, 16], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [8, 8, 16, 16], "texture": "#side", "cullface": "east"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#side", "cullface": "west"},
|
||||
"north": {"uv": [0, 8, 16, 16], "texture": "#step", "cullface": "north"},
|
||||
"east": {"uv": [8, 8, 16, 16], "texture": "#step", "cullface": "east"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#step", "cullface": "west"},
|
||||
"up": {"uv": [0, 0, 16, 8], "texture": "#top"},
|
||||
"down": {"uv": [0, 8, 16, 16], "texture": "#bottom", "cullface": "down"}
|
||||
}
|
||||
|
@ -21,8 +16,8 @@
|
|||
"from": [0, 0, 8],
|
||||
"to": [8, 8, 16],
|
||||
"faces": {
|
||||
"south": {"uv": [0, 8, 8, 16], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [8, 8, 16, 16], "texture": "#side", "cullface": "west"},
|
||||
"south": {"uv": [0, 8, 8, 16], "texture": "#step", "cullface": "south"},
|
||||
"west": {"uv": [8, 8, 16, 16], "texture": "#step", "cullface": "west"},
|
||||
"up": {"uv": [0, 8, 8, 16], "texture": "#top"},
|
||||
"down": {"uv": [0, 0, 8, 8], "texture": "#bottom", "cullface": "down"}
|
||||
}
|
||||
|
@ -31,11 +26,8 @@
|
|||
"from": [8, 0, 8],
|
||||
"to": [16, 8, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 8, 16, 16], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [0, 8, 8, 16], "texture": "#side", "cullface": "east"},
|
||||
"south": {"uv": [8, 8, 16, 16], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [0, 8, 16, 16], "texture": "#side", "cullface": "west"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#top"},
|
||||
"down": {"uv": [8, 0, 16, 8], "texture": "#bottom", "cullface": "down"}
|
||||
}
|
||||
},
|
||||
|
@ -43,10 +35,10 @@
|
|||
"from": [8, 8, 8],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#side"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#side", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [8, 0, 16, 8], "texture": "#side"},
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#step"},
|
||||
"east": {"uv": [0, 0, 8, 8], "texture": "#step", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#step", "cullface": "south"},
|
||||
"west": {"uv": [8, 0, 16, 8], "texture": "#step"},
|
||||
"up": {"uv": [8, 8, 16, 16], "texture": "#top", "cullface": "up"}
|
||||
}
|
||||
}
|
|
@ -8,10 +8,10 @@
|
|||
"faces": {
|
||||
"up": { "uv": [ 1, 1, 8, 8 ], "texture": "#top" },
|
||||
"down": { "uv": [ 1, 8, 8, 15 ], "texture": "#bottom" },
|
||||
"north": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" },
|
||||
"south": { "uv": [ 1, 11, 8, 16 ], "texture": "#inner" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#inner" }
|
||||
"north": { "uv": [ 8, 11, 15, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 1, 11, 8, 16 ], "texture": "#inside" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#inside" }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
"faces": {
|
||||
"up": { "uv": [ 1, 1, 15, 8 ], "texture": "#top" },
|
||||
"down": { "uv": [ 1, 8, 15, 15 ], "texture": "#bottom" },
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inner" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" }
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inside" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#side" }
|
||||
}
|
||||
},
|
||||
{ "from": [ 8, 0, 8 ],
|
||||
|
@ -19,10 +19,10 @@
|
|||
"faces": {
|
||||
"up": { "uv": [ 8, 8, 15, 15 ], "texture": "#top" },
|
||||
"down": { "uv": [ 8, 1, 15, 8 ], "texture": "#bottom" },
|
||||
"north": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" },
|
||||
"south": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" },
|
||||
"west": { "uv": [ 8, 11, 15, 16 ], "texture": "#inner" },
|
||||
"east": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" }
|
||||
"north": { "uv": [ 1, 11, 8, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 8, 11, 15, 16 ], "texture": "#side" },
|
||||
"west": { "uv": [ 8, 11, 15, 16 ], "texture": "#inside" },
|
||||
"east": { "uv": [ 1, 11, 8, 16 ], "texture": "#side" }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
"faces": {
|
||||
"up": { "uv": [ 1, 1, 15, 15 ], "texture": "#top" },
|
||||
"down": { "uv": [ 1, 1, 15, 15 ], "texture": "#bottom" },
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" },
|
||||
"west": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" },
|
||||
"east": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" }
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" },
|
||||
"west": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
"faces": {
|
||||
"up": { "uv": [ 1, 1, 15, 8 ], "texture": "#top" },
|
||||
"down": { "uv": [ 1, 8, 15, 15 ], "texture": "#bottom" },
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#sides" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inner" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#sides" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#sides" }
|
||||
"north": { "uv": [ 1, 11, 15, 16 ], "texture": "#side" },
|
||||
"south": { "uv": [ 1, 11, 15, 16 ], "texture": "#inside" },
|
||||
"west": { "uv": [ 1, 11, 8, 16 ], "texture": "#side" },
|
||||
"east": { "uv": [ 8, 11, 15, 16 ], "texture": "#side" }
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/clam_shell_1",
|
||||
"textures": {
|
||||
"shell": "unicopia:item/scallop_shell"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/clam_shell_2",
|
||||
"textures": {
|
||||
"shell": "unicopia:item/scallop_shell"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/clam_shell_3",
|
||||
"textures": {
|
||||
"shell": "unicopia:item/scallop_shell"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/clam_shell_4",
|
||||
"textures": {
|
||||
"shell": "unicopia:item/scallop_shell"
|
||||
}
|
||||
}
|
|
@ -1,10 +1,5 @@
|
|||
{
|
||||
"parent": "minecraft:block/stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/cloud",
|
||||
"top": "unicopia:block/cloud"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [8, 0, 0],
|
||||
|
@ -20,9 +15,9 @@
|
|||
"from": [0, 0, 0],
|
||||
"to": [8, 8, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8, 16, 16], "texture": "#side", "cullface": "north"},
|
||||
"south": {"uv": [0, 8, 8, 16], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [0, 8, 16, 16], "texture": "#side", "cullface": "west"},
|
||||
"north": {"uv": [8, 8, 16, 16], "texture": "#step", "cullface": "north"},
|
||||
"south": {"uv": [0, 8, 8, 16], "texture": "#step", "cullface": "south"},
|
||||
"west": {"uv": [0, 8, 16, 16], "texture": "#step", "cullface": "west"},
|
||||
"up": {"uv": [0, 0, 8, 16], "texture": "#top"},
|
||||
"down": {"uv": [0, 0, 8, 16], "texture": "#bottom", "cullface": "down"}
|
||||
}
|
||||
|
@ -31,10 +26,10 @@
|
|||
"from": [8, 8, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [0, 0, 16, 8], "texture": "#side", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [0, 0, 16, 8], "texture": "#side"},
|
||||
"north": {"uv": [0, 0, 8, 8], "texture": "#step", "cullface": "north"},
|
||||
"east": {"uv": [0, 0, 16, 8], "texture": "#step", "cullface": "east"},
|
||||
"south": {"uv": [8, 0, 16, 8], "texture": "#step", "cullface": "south"},
|
||||
"west": {"uv": [0, 0, 16, 8], "texture": "#step"},
|
||||
"up": {"uv": [8, 0, 16, 16], "texture": "#top", "cullface": "up"}
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"top": "unicopia:block/soggy_cloud_top",
|
||||
"side": "unicopia:block/soggy_cloud_side"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/slab",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/soggy_cloud_slab_side",
|
||||
"top": "unicopia:block/soggy_cloud_top"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/slab_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/soggy_cloud_slab_side",
|
||||
"top": "unicopia:block/soggy_cloud_top"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/soggy_cloud_side",
|
||||
"top": "unicopia:block/soggy_cloud_top"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_inner",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/soggy_cloud_side",
|
||||
"top": "unicopia:block/soggy_cloud_top"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/cloud_stairs_outer",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/cloud",
|
||||
"side": "unicopia:block/soggy_cloud_side",
|
||||
"top": "unicopia:block/soggy_cloud_top"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_full",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top_stomped",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_corner",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top_stomped",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_elbow",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top_stomped",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"parent": "unicopia:block/pie_straight",
|
||||
"textures": {
|
||||
"top": "unicopia:block/apple_pie_top_stomped",
|
||||
"bottom": "unicopia:block/apple_pie_bottom",
|
||||
"sides": "unicopia:block/apple_pie_side",
|
||||
"inner": "unicopia:block/apple_pie_inner"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/chitin_bottom",
|
||||
"top": "unicopia:block/chitin_top",
|
||||
"side": "unicopia:block/chitin_side"
|
||||
}
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "unicopia:block/chitin",
|
||||
"top": "unicopia:block/chitin_top",
|
||||
"side": "unicopia:block/chitin_side_snow_covered"
|
||||
}
|
||||
}
|
|
@ -1,22 +1,20 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "bottom_north_east",
|
||||
"from": [8, 0, 0],
|
||||
"to": [16, 8, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 8, 8, 16], "texture": "#side"},
|
||||
"east": {"uv": [8, 8, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [8, 8, 16, 16], "texture": "#top"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#top"},
|
||||
"up": {"uv": [8, 0, 16, 8], "texture": "#top"},
|
||||
"down": {"uv": [8, 8, 16, 16], "texture": "#top"}
|
||||
{
|
||||
"name": "bottom_north_east",
|
||||
"from": [8, 0, 0],
|
||||
"to": [16, 8, 8],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 8, 8, 16], "texture": "#side"},
|
||||
"east": {"uv": [8, 8, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [8, 8, 16, 16], "texture": "#top"},
|
||||
"west": {"uv": [0, 8, 8, 16], "texture": "#top"},
|
||||
"up": {"uv": [8, 0, 16, 8], "texture": "#top"},
|
||||
"down": {"uv": [8, 8, 16, 16], "texture": "#top"}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -19,4 +17,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -19,4 +17,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -19,4 +17,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -19,4 +17,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{
|
||||
"textures": {
|
||||
"top": "block/hay_block_top",
|
||||
"particle": "block/hay_block_side",
|
||||
"side": "block/hay_block_side"
|
||||
"particle": "#side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
@ -19,4 +17,4 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue