Compare commits
No commits in common. "1a3d94f94ec21c69172200c3b45241e5b8aa55b8" and "f63ec89953475e9d9e1898091c783ef5e13de63f" have entirely different histories.
1a3d94f94e
...
f63ec89953
10 changed files with 265 additions and 189 deletions
|
@ -105,9 +105,8 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.minecraft_version}:api"
|
compileOnly "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.minecraft_version}"
|
||||||
runtimeOnly "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.minecraft_version}"
|
runtimeOnly "top.theillusivec4.curios:curios-neoforge:${project.curios_version}+${project.minecraft_version}"
|
||||||
|
|
||||||
// Example optional mod dependency with JEI
|
// Example optional mod dependency with JEI
|
||||||
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
||||||
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
|
// compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
package fr.sushi.charmsnfabrics.client;
|
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
|
||||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
|
|
||||||
public class CharmsAndFabricsLayers
|
|
||||||
{
|
|
||||||
public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation(
|
|
||||||
ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID,
|
|
||||||
"flower_crown_model"), "crown");
|
|
||||||
}
|
|
|
@ -1,16 +1,15 @@
|
||||||
package fr.sushi.charmsnfabrics.client;
|
package fr.sushi.charmsnfabrics.client;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
|
||||||
import fr.sushi.charmsnfabrics.client.renderer.FlowerCrownRenderer;
|
import fr.sushi.charmsnfabrics.client.renderer.FlowerCrownRenderer;
|
||||||
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
||||||
import net.neoforged.api.distmarker.Dist;
|
import net.neoforged.api.distmarker.Dist;
|
||||||
|
import net.neoforged.bus.api.IEventBus;
|
||||||
import net.neoforged.bus.api.SubscribeEvent;
|
import net.neoforged.bus.api.SubscribeEvent;
|
||||||
import net.neoforged.fml.ModContainer;
|
import net.neoforged.fml.ModContainer;
|
||||||
import net.neoforged.fml.common.EventBusSubscriber;
|
import net.neoforged.fml.common.EventBusSubscriber;
|
||||||
import net.neoforged.fml.common.Mod;
|
import net.neoforged.fml.common.Mod;
|
||||||
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
|
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.neoforged.neoforge.client.event.EntityRenderersEvent;
|
|
||||||
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
|
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
|
||||||
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
||||||
import top.theillusivec4.curios.api.client.ICurioRenderer;
|
import top.theillusivec4.curios.api.client.ICurioRenderer;
|
||||||
|
@ -32,12 +31,4 @@ public class CharmsFabricsClient
|
||||||
CharmsAndFabricRegistries.Items.FLOWER_CROWN.get(),
|
CharmsAndFabricRegistries.Items.FLOWER_CROWN.get(),
|
||||||
FlowerCrownRenderer::new);
|
FlowerCrownRenderer::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
|
||||||
private static void onRegisterLayerDefinitions(
|
|
||||||
final EntityRenderersEvent.RegisterLayerDefinitions event)
|
|
||||||
{
|
|
||||||
event.registerLayerDefinition(CharmsAndFabricsLayers.CROWN_LAYER,
|
|
||||||
FlowerCrownModel::createLayer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,111 +1,6 @@
|
||||||
package fr.sushi.charmsnfabrics.client.model;
|
package fr.sushi.charmsnfabrics.client.model;
|
||||||
|
|
||||||
import net.minecraft.client.model.HumanoidModel;
|
public class FlowerCrownModel
|
||||||
import net.minecraft.client.model.geom.ModelPart;
|
|
||||||
import net.minecraft.client.model.geom.PartPose;
|
|
||||||
import net.minecraft.client.model.geom.builders.*;
|
|
||||||
import net.minecraft.client.renderer.entity.state.HumanoidRenderState;
|
|
||||||
|
|
||||||
public class FlowerCrownModel extends HumanoidModel<HumanoidRenderState>
|
|
||||||
{
|
{
|
||||||
private final ModelPart crown;
|
|
||||||
private final ModelPart flowers;
|
|
||||||
|
|
||||||
public FlowerCrownModel(ModelPart root)
|
|
||||||
{
|
|
||||||
super(root);
|
|
||||||
this.crown = this.getHead().getChild("crown");
|
|
||||||
this.flowers = this.getHead().getChild("flowers");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static LayerDefinition createLayer()
|
|
||||||
{
|
|
||||||
MeshDefinition meshdefinition =
|
|
||||||
HumanoidModel.createMesh(CubeDeformation.NONE, 0.0f);
|
|
||||||
PartDefinition partdefinition = meshdefinition.getRoot();
|
|
||||||
PartDefinition partDefinition1 = partdefinition.clearChild("head");
|
|
||||||
partDefinition1.clearChild("hat");
|
|
||||||
partdefinition.clearChild("body");
|
|
||||||
partdefinition.clearChild("left_arm");
|
|
||||||
partdefinition.clearChild("right_arm");
|
|
||||||
partdefinition.clearChild("left_leg");
|
|
||||||
partdefinition.clearChild("right_leg");
|
|
||||||
PartDefinition crown = partDefinition1.addOrReplaceChild("crown",
|
|
||||||
CubeListBuilder.create().texOffs(0, 0)
|
|
||||||
.addBox(-4.0F, -2.0F, -4.0F, 8.0F, 2.0F, 8.0F),
|
|
||||||
PartPose.offset(0.0F, -6.0F, 0.0F));
|
|
||||||
PartDefinition cube_r1 = crown.addOrReplaceChild("cube_r1",
|
|
||||||
CubeListBuilder.create().texOffs(0, 7)
|
|
||||||
.addBox(0.0F, -2.0F, -5.0F, 0.0F, 3.0F, 10.0F),
|
|
||||||
PartPose.offsetAndRotation(4.0F, -1.5F, 0.0F, -3.1416F, 0.0F,
|
|
||||||
-2.7489F));
|
|
||||||
PartDefinition cube_r2 = crown.addOrReplaceChild("cube_r2",
|
|
||||||
CubeListBuilder.create().texOffs(0, 7)
|
|
||||||
.addBox(0.0F, -2.0F, -5.0F, 0.0F, 3.0F, 10.0F),
|
|
||||||
PartPose.offsetAndRotation(4.0F, -0.5F, 0.0F, 0.0F, 0.0F,
|
|
||||||
2.7489F));
|
|
||||||
PartDefinition cube_r3 = crown.addOrReplaceChild("cube_r3",
|
|
||||||
CubeListBuilder.create().texOffs(0, 1)
|
|
||||||
.addBox(0.0F, -2.0F, -5.0F, 0.0F, 3.0F, 10.0F),
|
|
||||||
PartPose.offsetAndRotation(-4.0F, -1.5F, 0.0F, -3.1416F, 0.0F,
|
|
||||||
2.7489F));
|
|
||||||
PartDefinition cube_r4 = crown.addOrReplaceChild("cube_r4",
|
|
||||||
CubeListBuilder.create().texOffs(0, 1)
|
|
||||||
.addBox(0.0F, -2.0F, -5.0F, 0.0F, 3.0F, 10.0F),
|
|
||||||
PartPose.offsetAndRotation(-4.0F, -0.5F, 0.0F, 0.0F, 0.0F,
|
|
||||||
-2.7489F));
|
|
||||||
PartDefinition cube_r5 = crown.addOrReplaceChild("cube_r5",
|
|
||||||
CubeListBuilder.create().texOffs(0, 20)
|
|
||||||
.addBox(-5.0F, -2.0F, 0.0F, 10.0F, 3.0F, 0.0F),
|
|
||||||
PartPose.offsetAndRotation(0.0F, -1.5F, 4.0F, -0.3927F, 0.0F,
|
|
||||||
0.0F));
|
|
||||||
PartDefinition cube_r6 = crown.addOrReplaceChild("cube_r6",
|
|
||||||
CubeListBuilder.create().texOffs(0, 20)
|
|
||||||
.addBox(-5.0F, -2.0F, 0.0F, 10.0F, 3.0F, 0.0F),
|
|
||||||
PartPose.offsetAndRotation(0.0F, -0.5F, 4.0F, -0.3927F, 0.0F,
|
|
||||||
-3.1416F));
|
|
||||||
PartDefinition cube_r7 = crown.addOrReplaceChild("cube_r7",
|
|
||||||
CubeListBuilder.create().texOffs(0, 14)
|
|
||||||
.addBox(-5.0F, -2.0F, 0.0F, 10.0F, 3.0F, 0.0F),
|
|
||||||
PartPose.offsetAndRotation(0.0F, -1.5F, -4.0F, 2.7489F, 0.0F,
|
|
||||||
3.1416F));
|
|
||||||
PartDefinition cube_r8 = crown.addOrReplaceChild("cube_r8",
|
|
||||||
CubeListBuilder.create().texOffs(0, 14)
|
|
||||||
.addBox(-5.0F, -2.0F, 0.0F, 10.0F, 3.0F, 0.0F),
|
|
||||||
PartPose.offsetAndRotation(0.0F, -0.5F, -4.0F, 2.7489F, 0.0F,
|
|
||||||
0.0F));
|
|
||||||
PartDefinition flowers = partDefinition1.addOrReplaceChild("flowers",
|
|
||||||
CubeListBuilder.create().texOffs(0, 23)
|
|
||||||
.addBox(0.0F, -4.0F, -5.0F, 4.0F, 4.0F, 0.0F)
|
|
||||||
.texOffs(8, 23)
|
|
||||||
.addBox(5.0F, -2.0F, -4.0F, 0.0F, 3.0F, 3.0F)
|
|
||||||
.texOffs(0, 19)
|
|
||||||
.addBox(5.0F, -3.0F, 0.0F, 0.0F, 4.0F, 4.0F)
|
|
||||||
.texOffs(0, 27)
|
|
||||||
.addBox(-5.0F, -3.0F, -5.0F, 4.0F, 4.0F, 0.0F)
|
|
||||||
.texOffs(8, 26)
|
|
||||||
.addBox(2.0F, -4.0F, 4.5F, 3.0F, 3.0F, 0.0F)
|
|
||||||
.texOffs(8, 23)
|
|
||||||
.addBox(-1.0F, -2.0F, 4.5F, 3.0F, 3.0F, 0.0F)
|
|
||||||
.texOffs(0, 27)
|
|
||||||
.addBox(-5.0F, -4.0F, 4.5F, 4.0F, 4.0F, 0.0F)
|
|
||||||
.texOffs(8, 20)
|
|
||||||
.addBox(-4.5F, -2.0F, 1.25F, 0.0F, 3.0F, 3.0F)
|
|
||||||
.texOffs(0, 19)
|
|
||||||
.addBox(-5.0F, -4.0F, -3.75F, 0.0F, 4.0F, 4.0F),
|
|
||||||
PartPose.offset(0.0F, -6.0F, 0.0F));
|
|
||||||
return LayerDefinition.create(meshdefinition, 32, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setupAnim(HumanoidRenderState renderState)
|
|
||||||
{
|
|
||||||
super.setupAnim(renderState);
|
|
||||||
this.flowers.xScale = 1.2f;
|
|
||||||
this.flowers.yScale = 1.2f;
|
|
||||||
this.flowers.zScale = 1.2f;
|
|
||||||
this.crown.xScale = 1.2f;
|
|
||||||
this.crown.yScale = 1.2f;
|
|
||||||
this.crown.zScale = 1.2f;
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,20 +1,11 @@
|
||||||
package fr.sushi.charmsnfabrics.client.renderer;
|
package fr.sushi.charmsnfabrics.client.renderer;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import fr.sushi.charmsnfabrics.client.CharmsAndFabricsLayers;
|
|
||||||
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
|
||||||
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.model.EntityModel;
|
import net.minecraft.client.model.EntityModel;
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||||
import net.minecraft.client.renderer.entity.ItemRenderer;
|
|
||||||
import net.minecraft.client.renderer.entity.RenderLayerParent;
|
import net.minecraft.client.renderer.entity.RenderLayerParent;
|
||||||
import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;
|
import net.minecraft.client.renderer.entity.state.LivingEntityRenderState;
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import top.theillusivec4.curios.api.SlotContext;
|
import top.theillusivec4.curios.api.SlotContext;
|
||||||
|
@ -22,32 +13,9 @@ import top.theillusivec4.curios.api.client.ICurioRenderer;
|
||||||
|
|
||||||
public class FlowerCrownRenderer implements ICurioRenderer
|
public class FlowerCrownRenderer implements ICurioRenderer
|
||||||
{
|
{
|
||||||
private final FlowerCrownModel model;
|
|
||||||
|
|
||||||
public FlowerCrownRenderer()
|
|
||||||
{
|
|
||||||
this.model = new FlowerCrownModel(
|
|
||||||
Minecraft.getInstance().getEntityModels()
|
|
||||||
.bakeLayer(CharmsAndFabricsLayers.CROWN_LAYER));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <S extends LivingEntityRenderState, M extends EntityModel<? super S>> void render(
|
public <S extends LivingEntityRenderState, M extends EntityModel<? super S>> void render(ItemStack stack, SlotContext slotContext, PoseStack poseStack, @NotNull MultiBufferSource renderTypeBuffer, int packedLight, S renderState, RenderLayerParent<S, M> renderLayerParent, EntityRendererProvider.Context context, float yRotation, float xRotation)
|
||||||
ItemStack stack, SlotContext slotContext, PoseStack poseStack,
|
|
||||||
@NotNull MultiBufferSource renderTypeBuffer, int packedLight,
|
|
||||||
S renderState, RenderLayerParent<S, M> renderLayerParent,
|
|
||||||
EntityRendererProvider.Context context, float yRotation,
|
|
||||||
float xRotation)
|
|
||||||
{
|
{
|
||||||
FlowerCrown item = (FlowerCrown) stack.getItem();
|
System.out.println("UwU");
|
||||||
ResourceLocation texture = item.getModelTexture();
|
|
||||||
VertexConsumer vertexconsumer =
|
|
||||||
ItemRenderer.getArmorFoilBuffer(renderTypeBuffer,
|
|
||||||
RenderType.entityCutout(
|
|
||||||
texture),
|
|
||||||
stack.hasFoil());
|
|
||||||
ICurioRenderer.setupHumanoidAnimations(this.model, renderState);
|
|
||||||
this.model.renderToBuffer(poseStack, vertexconsumer, packedLight,
|
|
||||||
OverlayTexture.NO_OVERLAY);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
package fr.sushi.charmsnfabrics.common.item;
|
package fr.sushi.charmsnfabrics.common.item;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.world.entity.EquipmentSlot;
|
|
||||||
import net.minecraft.world.entity.LivingEntity;
|
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import top.theillusivec4.curios.api.SlotContext;
|
import top.theillusivec4.curios.api.SlotContext;
|
||||||
|
@ -21,16 +17,4 @@ public class FlowerCrown extends Item implements ICurioItem
|
||||||
{
|
{
|
||||||
return slotContext.identifier().contains("head");
|
return slotContext.identifier().contains("head");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canEquip(SlotContext slotContext, ItemStack stack)
|
|
||||||
{
|
|
||||||
return slotContext.identifier().contains("head");
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceLocation getModelTexture()
|
|
||||||
{
|
|
||||||
return ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID,
|
|
||||||
"textures/models/accessory/flower_crown.png");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,248 @@
|
||||||
|
{
|
||||||
|
"format_version": "1.12.0",
|
||||||
|
"minecraft:geometry": [
|
||||||
|
{
|
||||||
|
"description": {
|
||||||
|
"identifier": "geometry.flower_crown",
|
||||||
|
"texture_width": 64,
|
||||||
|
"texture_height": 64,
|
||||||
|
"visible_bounds_width": 2,
|
||||||
|
"visible_bounds_height": 3.5,
|
||||||
|
"visible_bounds_offset": [0, 1.25, 0]
|
||||||
|
},
|
||||||
|
"bones": [
|
||||||
|
{
|
||||||
|
"name": "bipedHead",
|
||||||
|
"pivot": [0, 24, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorHead",
|
||||||
|
"parent": "bipedHead",
|
||||||
|
"pivot": [0, 29, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ring",
|
||||||
|
"parent": "armorHead",
|
||||||
|
"pivot": [0, 31, 4.2],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-4.1, 31, 4.1], "size": [8.2, 2, 0], "uv": [48, 28]},
|
||||||
|
{"origin": [-4.1, 31, -4.1], "size": [8.2, 2, 0], "uv": [48, 14]},
|
||||||
|
{"origin": [4.1, 31, -4.1], "size": [0, 2, 8.2], "uv": [48, -1]},
|
||||||
|
{"origin": [-4.1, 31, -4.1], "size": [0, 2, 8.2], "uv": [48, 13]},
|
||||||
|
{"origin": [1, 33, 4.1], "size": [2, 1, 0], "uv": [49, 27]},
|
||||||
|
{"origin": [4.1, 33, -3], "size": [0, 1, 5], "uv": [49, 1]},
|
||||||
|
{"origin": [-4.1, 33, -1], "size": [0, 1, 3], "uv": [50, 17]},
|
||||||
|
{"origin": [-4.1, 34, -1], "size": [0, 1, 1], "uv": [52, 18]},
|
||||||
|
{"origin": [-4.1, 34, 1], "size": [0, 1, 1], "uv": [50, 18]},
|
||||||
|
{"origin": [-4.1, 33, -4.1], "size": [0, 1, 2.1], "uv": [54, 18]},
|
||||||
|
{"origin": [-4.1, 34, -4.1], "size": [0, 2, 1.1], "uv": [55, 17]},
|
||||||
|
{"origin": [-4.1, 33, 3], "size": [0, 1, 1.1], "uv": [48, 19]},
|
||||||
|
{"origin": [4.1, 34, -2], "size": [0, 1, 1], "uv": [50, 4]},
|
||||||
|
{"origin": [4.1, 33, 2], "size": [0, 2, 1], "uv": [54, 4]},
|
||||||
|
{"origin": [4.1, 34, 0], "size": [0, 2, 1], "uv": [52, 3]},
|
||||||
|
{"origin": [1, 34, 4.1], "size": [1, 1, 0], "uv": [50, 26]},
|
||||||
|
{"origin": [-2, 33, 4.1], "size": [1, 3, 0], "uv": [53, 25]},
|
||||||
|
{"origin": [-3, 33, 4.1], "size": [1, 1, 0], "uv": [54, 27]},
|
||||||
|
{"origin": [-4.1, 33, 4.1], "size": [1.1, 2, 0], "uv": [55, 26]},
|
||||||
|
{"origin": [-4.1, 33, -4.1], "size": [1.1, 2, 0], "uv": [48, 12]},
|
||||||
|
{"origin": [-2, 33, -4.1], "size": [4, 1, 0], "uv": [50, 13]},
|
||||||
|
{"origin": [1, 34, -4.1], "size": [1, 2, 0], "uv": [53, 11]},
|
||||||
|
{"origin": [3, 33, -4.1], "size": [1, 1, 0], "uv": [55, 13]},
|
||||||
|
{"origin": [-1, 34, -4.1], "size": [1, 1, 0], "uv": [51, 12]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flowers",
|
||||||
|
"parent": "armorHead",
|
||||||
|
"pivot": [0, 32, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower1",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [-2.8, 32.1, -4.2],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-1.8, 31.1, -4.2], "size": [1, 2, 0], "pivot": [-2.8, 32.1, -4.2], "rotation": [0, 0, -15], "uv": [48, 1]},
|
||||||
|
{"origin": [-3.8, 30.1, -4.2], "size": [2, 4, 0], "pivot": [-2.8, 32.1, -4.2], "rotation": [0, 0, -15], "uv": [50, 0]},
|
||||||
|
{"origin": [-4.8, 31.1, -4.2], "size": [1, 2, 0], "pivot": [-2.8, 32.1, -4.2], "rotation": [0, 0, -15], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower10",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [3.1, 32, -4.2],
|
||||||
|
"rotation": [0, 0, 25],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [4.1, 31, -4.2], "size": [1, 2, 0], "pivot": [3.1, 32, -4.2], "rotation": [0, 0, -15], "uv": [48, 1]},
|
||||||
|
{"origin": [2.1, 30, -4.2], "size": [2, 4, 0], "pivot": [3.1, 32, -4.2], "rotation": [0, 0, -15], "uv": [50, 0]},
|
||||||
|
{"origin": [1.1, 31, -4.2], "size": [1, 2, 0], "pivot": [3.1, 32, -4.2], "rotation": [0, 0, -15], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower8",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [2.5, 31.4, 4.2],
|
||||||
|
"rotation": [0, 180, 0],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [3.5, 30.4, 4.2], "size": [1, 2, 0], "pivot": [2.5, 31.4, 4.2], "rotation": [0, 0, -15], "uv": [48, 1]},
|
||||||
|
{"origin": [1.5, 29.4, 4.2], "size": [2, 4, 0], "pivot": [2.5, 31.4, 4.2], "rotation": [0, 0, -15], "uv": [50, 0]},
|
||||||
|
{"origin": [0.5, 30.4, 4.2], "size": [1, 2, 0], "pivot": [2.5, 31.4, 4.2], "rotation": [0, 0, -15], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower6",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [-2.7, 32.1, 4.2],
|
||||||
|
"rotation": [180, 0, 140],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-1.7, 31.1, 4.2], "size": [1, 2, 0], "pivot": [-2.7, 32.1, 4.2], "rotation": [0, 0, -15], "uv": [48, 1]},
|
||||||
|
{"origin": [-3.7, 30.1, 4.2], "size": [2, 4, 0], "pivot": [-2.7, 32.1, 4.2], "rotation": [0, 0, -15], "uv": [50, 0]},
|
||||||
|
{"origin": [-4.7, 31.1, 4.2], "size": [1, 2, 0], "pivot": [-2.7, 32.1, 4.2], "rotation": [0, 0, -15], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower3",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [4.3, 31.8, 0.2],
|
||||||
|
"rotation": [-90, -72.5, 90],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [3.3, 29.8, 0.2], "size": [2, 4, 0], "uv": [56, 0]},
|
||||||
|
{"origin": [2.3, 30.8, 0.2], "size": [1, 2, 0], "uv": [54, 1]},
|
||||||
|
{"origin": [5.3, 30.8, 0.2], "size": [1, 2, 0], "uv": [54, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower9",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [-4.2, 31.3, -0.2],
|
||||||
|
"rotation": [-90, 82.5, -90],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-5.30856, 29.16947, -0.3], "size": [2, 4, 0], "uv": [56, 0]},
|
||||||
|
{"origin": [-6.30856, 30.16947, -0.3], "size": [1, 2, 0], "uv": [54, 1]},
|
||||||
|
{"origin": [-3.30856, 30.16947, -0.3], "size": [1, 2, 0], "uv": [54, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower4",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [4.2, 33.6, 2.6],
|
||||||
|
"rotation": [90, -57.5, -90],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [3.2, 31.6, 2.6], "size": [2, 4, 0], "uv": [50, 0]},
|
||||||
|
{"origin": [2.2, 32.6, 2.6], "size": [1, 2, 0], "uv": [48, 1]},
|
||||||
|
{"origin": [5.2, 32.6, 2.6], "size": [1, 2, 0], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower12",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [4.2, 33.3, -2.7],
|
||||||
|
"rotation": [89.99998, -80, -89.99998],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [3.2, 31.3, -2.7], "size": [2, 4, 0], "uv": [50, 0]},
|
||||||
|
{"origin": [2.2, 32.3, -2.7], "size": [1, 2, 0], "uv": [48, 1]},
|
||||||
|
{"origin": [5.2, 32.3, -2.7], "size": [1, 2, 0], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower5",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [-4.2, 32.5, 2.8],
|
||||||
|
"rotation": [-90, -70.5, 90],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-5.2, 30.5, 2.8], "size": [2, 4, 0], "uv": [50, 0]},
|
||||||
|
{"origin": [-6.2, 31.5, 2.8], "size": [1, 2, 0], "uv": [48, 1]},
|
||||||
|
{"origin": [-3.2, 31.5, 2.8], "size": [1, 2, 0], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower2",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [-4.2, 33.1, -2.9],
|
||||||
|
"rotation": [90, -67.5, -90],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-5.2, 31.1, -2.9], "size": [2, 4, 0], "uv": [50, 0]},
|
||||||
|
{"origin": [-6.2, 32.1, -2.9], "size": [1, 2, 0], "uv": [48, 1]},
|
||||||
|
{"origin": [-3.2, 32.1, -2.9], "size": [1, 2, 0], "uv": [48, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower7",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [0.2, 33.8, -4.3],
|
||||||
|
"rotation": [0, 0, 7],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-0.8, 31.8, -4.3], "size": [2, 4, 0], "uv": [56, 0]},
|
||||||
|
{"origin": [-1.8, 32.8, -4.3], "size": [1, 2, 0], "uv": [54, 1]},
|
||||||
|
{"origin": [1.2, 32.8, -4.3], "size": [1, 2, 0], "uv": [54, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flower11",
|
||||||
|
"parent": "flowers",
|
||||||
|
"pivot": [0.2, 33.8, 4.3],
|
||||||
|
"rotation": [0, 0, -8],
|
||||||
|
"cubes": [
|
||||||
|
{"origin": [-0.8, 31.8, 4.3], "size": [2, 4, 0], "uv": [56, 0]},
|
||||||
|
{"origin": [-1.8, 32.8, 4.3], "size": [1, 2, 0], "uv": [54, 1]},
|
||||||
|
{"origin": [1.2, 32.8, 4.3], "size": [1, 2, 0], "uv": [54, 1]}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bipedBody",
|
||||||
|
"pivot": [0, 24, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorBody",
|
||||||
|
"parent": "bipedBody",
|
||||||
|
"pivot": [0, 24, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bipedRightArm",
|
||||||
|
"pivot": [-5, 22, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorRightArm",
|
||||||
|
"parent": "bipedRightArm",
|
||||||
|
"pivot": [-5, 22, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bipedLeftArm",
|
||||||
|
"pivot": [5, 22, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorLeftArm",
|
||||||
|
"parent": "bipedLeftArm",
|
||||||
|
"pivot": [5, 22, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bipedLeftLeg",
|
||||||
|
"pivot": [2, 12, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorLeftLeg",
|
||||||
|
"parent": "bipedLeftLeg",
|
||||||
|
"pivot": [2, 12, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorLeftBoot",
|
||||||
|
"parent": "bipedLeftLeg",
|
||||||
|
"pivot": [2, 12, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "bipedRightLeg",
|
||||||
|
"pivot": [-2, 12, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorRightLeg",
|
||||||
|
"parent": "bipedRightLeg",
|
||||||
|
"pivot": [-2, 12, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "armorRightBoot",
|
||||||
|
"parent": "bipedRightLeg",
|
||||||
|
"pivot": [-2, 12, 0]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
Before Width: | Height: | Size: 552 B |
|
@ -3,6 +3,16 @@
|
||||||
"minecraft:player", "minecraft:armor_stand"
|
"minecraft:player", "minecraft:armor_stand"
|
||||||
],
|
],
|
||||||
"slots": [
|
"slots": [
|
||||||
"head"
|
"back",
|
||||||
|
"body",
|
||||||
|
"belt",
|
||||||
|
"bracelet",
|
||||||
|
"charm",
|
||||||
|
"curio",
|
||||||
|
"example",
|
||||||
|
"hands",
|
||||||
|
"head",
|
||||||
|
"necklace",
|
||||||
|
"ring"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -86,13 +86,6 @@ description='''${mod_description}'''
|
||||||
ordering="NONE"
|
ordering="NONE"
|
||||||
side="BOTH"
|
side="BOTH"
|
||||||
|
|
||||||
[[dependencies.${mod_id}]]
|
|
||||||
modId="curios"
|
|
||||||
type="required"
|
|
||||||
versionRange="[11.0.1,)"
|
|
||||||
ordering="BEFORE"
|
|
||||||
side="BOTH"
|
|
||||||
|
|
||||||
# Features are specific properties of the game environment, that you may want to declare you require. This example declares
|
# Features are specific properties of the game environment, that you may want to declare you require. This example declares
|
||||||
# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't
|
# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't
|
||||||
# stop your mod loading on the server for example.
|
# stop your mod loading on the server for example.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue