diff --git a/gradle.properties b/gradle.properties index 7b336c8af..197d1a312 100644 --- a/gradle.properties +++ b/gradle.properties @@ -35,6 +35,6 @@ modAuthors=Sammy Semicolon # The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list. modDescription=A dark magic mod focused on soul and spirit magic. # Mod Dependency Versions -lodestoneVersion=1.4.2.61 +lodestoneVersion=1.4.2.62 jeiVersion=15.2.0.22 curiosVersion=5.4.0+1.20.1 \ No newline at end of file diff --git a/src/generated/resources/assets/malum/lang/en_us.json b/src/generated/resources/assets/malum/lang/en_us.json index 631ac5bd3..643458b7f 100644 --- a/src/generated/resources/assets/malum/lang/en_us.json +++ b/src/generated/resources/assets/malum/lang/en_us.json @@ -366,6 +366,7 @@ "item.malum.lead_node": "Lead Node", "item.malum.lesbian_prideweave": "Lesbian Prideweave", "item.malum.living_flesh": "Living Flesh", + "item.malum.malignant_lead": "Malignant Lead", "item.malum.mechanical_weave_v1": "Mechanical Weave V1", "item.malum.mechanical_weave_v2": "Mechanical Weave V2", "item.malum.mending_diffuser": "Mending Diffuser", @@ -451,6 +452,7 @@ "item.malum.void_salts": "Void Salts", "item.malum.warp_flux": "Warp Flux", "item.malum.warping_engine": "Warping Engine", + "item.malum.weight_of_worlds": "Weight of Worlds", "item.malum.wicked_spirit": "Wicked Spirit", "item.malum.zinc_impetus": "Zinc Impetus", "item.malum.zinc_node": "Zinc Node", diff --git a/src/generated/resources/assets/malum/models/item/malignant_lead.json b/src/generated/resources/assets/malum/models/item/malignant_lead.json new file mode 100644 index 000000000..d4762bb09 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/malignant_lead.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "malum:item/malignant_lead" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/tall_calcified_blight.json b/src/generated/resources/data/malum/loot_tables/blocks/tall_calcified_blight.json index 0fdf54e76..3d6b0e21f 100644 --- a/src/generated/resources/data/malum/loot_tables/blocks/tall_calcified_blight.json +++ b/src/generated/resources/data/malum/loot_tables/blocks/tall_calcified_blight.json @@ -37,7 +37,7 @@ ] } ], - "name": "minecraft:air" + "name": "malum:calcified_blight" }, { "type": "minecraft:item", @@ -46,7 +46,7 @@ "condition": "minecraft:survives_explosion" } ], - "name": "minecraft:air" + "name": "malum:calcified_blight" } ] } diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/etheric_nitrate.json b/src/generated/resources/data/malum/recipes/spirit_infusion/etheric_nitrate.json index 5de530112..cda8fa07d 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/etheric_nitrate.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/etheric_nitrate.json @@ -3,7 +3,7 @@ "extra_items": [ { "count": 1, - "item": "malum:ether" + "item": "minecraft:tnt" }, { "count": 4, @@ -11,12 +11,12 @@ }, { "count": 2, - "item": "malum:cursed_grit" + "item": "minecraft:blaze_powder" } ], "input": { "count": 1, - "item": "minecraft:tnt" + "item": "malum:ether" }, "output": { "count": 4, @@ -27,6 +27,10 @@ "type": "infernal", "count": 8 }, + { + "type": "aerial", + "count": 8 + }, { "type": "arcane", "count": 8 diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/vivid_nitrate.json b/src/generated/resources/data/malum/recipes/spirit_infusion/vivid_nitrate.json index fb8cda38b..d6fc00f5a 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/vivid_nitrate.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/vivid_nitrate.json @@ -1,10 +1,6 @@ { "type": "malum:spirit_infusion", "extra_items": [ - { - "count": 4, - "item": "malum:cursed_grit" - }, { "count": 4, "tag": "forge:gunpowder" @@ -12,36 +8,39 @@ { "count": 2, "tag": "forge:gems/prismarine" + }, + { + "count": 2, + "item": "malum:arcane_charcoal" } ], "input": { - "count": 8, + "count": 4, "item": "malum:etheric_nitrate" }, "output": { - "count": 8, + "count": 4, "item": "malum:vivid_nitrate" }, "spirits": [ { "type": "aerial", - "count": 8 + "count": 4 }, { "type": "aqueous", - "count": 8 + "count": 4 }, { "type": "infernal", - "count": 8 + "count": 4 }, { "type": "earthen", - "count": 8 + "count": 4 }, { - "type": "eldritch", - "count": 2 + "type": "eldritch" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/void_favor/malignant_lead.json b/src/generated/resources/data/malum/recipes/void_favor/malignant_lead.json new file mode 100644 index 000000000..fc04c835c --- /dev/null +++ b/src/generated/resources/data/malum/recipes/void_favor/malignant_lead.json @@ -0,0 +1,9 @@ +{ + "type": "malum:favor_of_the_void", + "input": { + "item": "malum:cthonic_gold" + }, + "output": { + "item": "malum:malignant_lead" + } +} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/client/BufferWrapper.java b/src/main/java/com/sammy/malum/client/BufferWrapper.java index 5add52590..f5ca65c42 100644 --- a/src/main/java/com/sammy/malum/client/BufferWrapper.java +++ b/src/main/java/com/sammy/malum/client/BufferWrapper.java @@ -2,7 +2,6 @@ import com.mojang.blaze3d.vertex.*; import net.minecraft.client.renderer.*; -import team.lodestar.lodestone.systems.rendering.rendeertype.*; import java.util.function.*; diff --git a/src/main/java/com/sammy/malum/client/model/MalignantLeadArmorModel.java b/src/main/java/com/sammy/malum/client/model/MalignantLeadArmorModel.java new file mode 100644 index 000000000..6e8a0c992 --- /dev/null +++ b/src/main/java/com/sammy/malum/client/model/MalignantLeadArmorModel.java @@ -0,0 +1,138 @@ +package com.sammy.malum.client.model; +// Made with Blockbench 3.9.2 +// Exported for Minecraft version 1.15 - 1.16 with MCP mappings +// Paste this class into your mod and generate all required imports + + +import com.mojang.blaze3d.vertex.*; +import com.sammy.malum.*; +import com.sammy.malum.registry.client.*; +import net.minecraft.client.*; +import net.minecraft.client.model.*; +import net.minecraft.client.model.geom.*; +import net.minecraft.client.model.geom.builders.*; +import net.minecraft.resources.*; +import net.minecraft.world.entity.*; +import team.lodestar.lodestone.handlers.*; +import team.lodestar.lodestone.helpers.*; +import team.lodestar.lodestone.registry.client.*; +import team.lodestar.lodestone.systems.model.*; + +public class MalignantLeadArmorModel extends LodestoneArmorModel { + public static ModelLayerLocation LAYER = new ModelLayerLocation(MalumMod.malumPath("malignant_lead_armor"), "main"); + + private final ModelPart right_arm_glow; + private final ModelPart left_arm_glow; + + public MalignantLeadArmorModel(ModelPart root) { + super(root); + this.right_arm_glow = root.getChild("right_arm_glow"); + this.left_arm_glow = root.getChild("left_arm_glow"); + } + + @Override + public void renderToBuffer(PoseStack pPoseStack, VertexConsumer pBuffer, int pPackedLight, int pPackedOverlay, float pRed, float pGreen, float pBlue, float pAlpha) { + super.renderToBuffer(pPoseStack, pBuffer, pPackedLight, pPackedOverlay, pRed, pGreen, pBlue, pAlpha); + if (!this.young) { + if (slot == EquipmentSlot.CHEST) { + pPoseStack.pushPose(); + final ResourceLocation texture = MalumMod.malumPath("textures/armor/malignant_stronghold.png"); + final VertexConsumer additive = RenderHandler.DELAYED_RENDER.getBuffer(RenderTypeRegistry.MALIGNANT_GLOW.applyAndCache(texture)); + final VertexConsumer transparent = RenderHandler.DELAYED_RENDER.getBuffer(LodestoneRenderTypeRegistry.TRANSPARENT_TEXTURE.applyAndCache(texture)); + + right_arm_glow.render(pPoseStack, transparent, RenderHelper.FULL_BRIGHT, pPackedOverlay, pRed, pGreen, pBlue, 0.25f); + left_arm_glow.render(pPoseStack, transparent, RenderHelper.FULL_BRIGHT, pPackedOverlay, pRed, pGreen, pBlue, 0.25f); + + float gameTime = Minecraft.getInstance().level.getGameTime()+Minecraft.getInstance().getPartialTick(); + int time = 160; + float distance = 0.01f; + float alpha = 0.15f; + for (int i = 0; i < 4; i++) { + double angle = i / 4f * (Math.PI * 2); + angle += ((gameTime % time) / time) * (Math.PI * 2); + double xOffset = (distance * Math.cos(angle)); + double zOffset = (distance * Math.sin(angle)); + pPoseStack.translate(xOffset, zOffset / 2f, zOffset); + right_arm_glow.render(pPoseStack, additive, RenderHelper.FULL_BRIGHT, pPackedOverlay, pRed, pGreen, pBlue, alpha); + left_arm_glow.render(pPoseStack, additive, RenderHelper.FULL_BRIGHT, pPackedOverlay, pRed, pGreen, pBlue, alpha); + pPoseStack.translate(-xOffset, -zOffset/2f, -zOffset); + distance+=0.0125f; + } + pPoseStack.popPose(); + } + } + } + + + @Override + public void copyFromDefault(HumanoidModel model) { + super.copyFromDefault(model); + right_arm_glow.copyFrom(model.rightArm); + left_arm_glow.copyFrom(model.leftArm); + } + + + public static LayerDefinition createBodyLayer() { + MeshDefinition mesh = HumanoidModel.createMesh(new CubeDeformation(0), 0); + PartDefinition root = createHumanoidAlias(mesh); + PartDefinition right_arm_glow = root.addOrReplaceChild("right_arm_glow", new CubeListBuilder(), PartPose.ZERO); + PartDefinition left_arm_glow = root.addOrReplaceChild("left_arm_glow", new CubeListBuilder(), PartPose.ZERO); + + PartDefinition body = root.getChild("body"); + PartDefinition torso = body.addOrReplaceChild("torso", CubeListBuilder.create().texOffs(6, 37).addBox(-5.0F, 2.0F, -3.0F, 10.0F, 5.0F, 6.0F, new CubeDeformation(0.0F)) + .texOffs(6, 49).addBox(-4.5F, 6.5F, -2.5F, 9.0F, 4.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + PartDefinition thing = torso.addOrReplaceChild("thing", CubeListBuilder.create().texOffs(60, 40).addBox(-6.0F, -1.0F, -5.0F, 12.0F, 4.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.2618F, 0.0F, 0.0F)); + + PartDefinition leggings = root.getChild("leggings"); + PartDefinition codpiece = leggings.addOrReplaceChild("codpiece", CubeListBuilder.create().texOffs(6, 61).addBox(-4.0F, -14.5F, -3.0F, 8.0F, 2.0F, 6.0F, new CubeDeformation(0.01F)) + .texOffs(42, 58).addBox(-2.0F, -12.5F, -3.0F, 4.0F, 3.0F, 6.0F, new CubeDeformation(0.01F)), PartPose.offset(0.0F, 24.0F, 0.0F)); + + PartDefinition right_legging = root.getChild("right_legging"); + PartDefinition right_leg = right_legging.addOrReplaceChild("right_leg", CubeListBuilder.create().texOffs(53, 88).addBox(-2.5F, -0.5F, -2.5F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.0F, 12.0F, 0.0F)); + PartDefinition right_thigh_guard = right_leg.addOrReplaceChild("right_thigh_guard", CubeListBuilder.create().texOffs(19, 108).addBox(-4.0F, -2.0F, -3.0F, 3.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, 0.0F, 0.0F, 0.0F, 1.1345F)); + PartDefinition right_thigh_guard2 = right_leg.addOrReplaceChild("right_thigh_guard2", CubeListBuilder.create().texOffs(40, 109).addBox(-3.0F, -3.0F, -3.0F, 3.0F, 7.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 4.0F, 0.0F, 0.0F, 0.0F, 1.1345F)); + + PartDefinition right_foot = root.getChild("right_foot"); + PartDefinition right_boot = right_foot.addOrReplaceChild("right_boot", CubeListBuilder.create().texOffs(63, 107).mirror().addBox(-3.0F, 6.0F, -3.0F, 6.0F, 7.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); + + PartDefinition right_arm = root.getChild("right_arm"); + PartDefinition right_shoulder = right_arm.addOrReplaceChild("right_shoulder", CubeListBuilder.create().texOffs(36, 75).mirror().addBox(-7.0F, -4.0F, -3.0F, 5.0F, 5.0F, 6.0F, new CubeDeformation(0.01F)).mirror(false) + .texOffs(7, 88).mirror().addBox(-5.5F, 5.0F, -3.0F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.02F)).mirror(false), PartPose.offset(-3.0F, 2.0F, 0.0F)); + PartDefinition right_shoulder_pad = right_shoulder.addOrReplaceChild("right_shoulder_pad", CubeListBuilder.create().texOffs(4, 73).mirror().addBox(-8.0F, 0.0F, -4.0F, 6.0F, 3.0F, 8.0F, new CubeDeformation(0.01F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.5F, 0.0F, 0.0F, 0.0F, -0.2182F)); + + PartDefinition glow_right_arm = right_arm_glow.addOrReplaceChild("glow_right_arm", CubeListBuilder.create().texOffs(100, 88).mirror().addBox(-9.0F, -6.0F, -1.0F, 3.0F, 8.0F, 2.0F, new CubeDeformation(0.01F)).mirror(false) + .texOffs(89, 88).mirror().addBox(-9.0F, -6.0F, -1.0F, 3.0F, 8.0F, 2.0F, new CubeDeformation(0.26F)).mirror(false), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.0F, 0.0F, 0.1309F)); + PartDefinition lower_glow_right_arm = right_arm_glow.addOrReplaceChild("lower_glow_right_arm", CubeListBuilder.create().texOffs(89, 77).mirror().addBox(-6.5F, 4.0F, -1.0F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.27F)).mirror(false) + .texOffs(100, 77).mirror().addBox(-6.5F, 4.0F, -1.0F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.02F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); + + PartDefinition left_legging = root.getChild("left_legging"); + PartDefinition left_leg = left_legging.addOrReplaceChild("left_leg", CubeListBuilder.create().texOffs(53, 88).mirror().addBox(-2.5F, -0.5F, -2.5F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(2.0F, 12.0F, 0.0F)); + PartDefinition thigh_guard_l = left_leg.addOrReplaceChild("left_thigh_guard1", CubeListBuilder.create().texOffs(19, 108).mirror().addBox(1.0F, -2.0F, -3.0F, 3.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 2.0F, 0.0F, 0.0F, 0.0F, -1.1345F)); + PartDefinition thigh_guard_l2 = left_leg.addOrReplaceChild("left_thigh_guard2", CubeListBuilder.create().texOffs(40, 109).mirror().addBox(0.0F, -3.0F, -3.0F, 3.0F, 7.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, 4.0F, 0.0F, 0.0F, 0.0F, -1.1345F)); + + PartDefinition left_foot = root.getChild("left_foot"); + PartDefinition left_boot = left_foot.addOrReplaceChild("left_boot", CubeListBuilder.create().texOffs(63, 107).addBox(-3.0F, 6.0F, -3.0F, 6.0F, 7.0F, 6.0F, new CubeDeformation(0.01F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + + PartDefinition left_arm = root.getChild("left_arm"); + PartDefinition left_shoulder = left_arm.addOrReplaceChild("left_shoulder", CubeListBuilder.create().texOffs(36, 75).addBox(2.0F, -4.0F, -3.0F, 5.0F, 5.0F, 6.0F, new CubeDeformation(0.01F)) + .texOffs(7, 88).addBox(0.5F, 5.0F, -3.0F, 5.0F, 6.0F, 6.0F, new CubeDeformation(0.02F)), PartPose.offset(3.0F, 2.0F, 0.0F)); + PartDefinition left_shoulder_pad = left_shoulder.addOrReplaceChild("left_shoulder_pad", CubeListBuilder.create().texOffs(4, 73).addBox(2.0F, -1.0F, -4.0F, 6.0F, 3.0F, 8.0F, new CubeDeformation(0.01F)), PartPose.offsetAndRotation(0.0F, -0.5F, 0.0F, 0.0F, 0.0F, 0.2182F)); + + PartDefinition glow_left_arm = left_arm_glow.addOrReplaceChild("glow_left_arm", CubeListBuilder.create().texOffs(100, 88).addBox(6.0F, -5.0F, -1.0F, 3.0F, 8.0F, 2.0F, new CubeDeformation(0.01F)) + .texOffs(89, 88).addBox(6.0F, -5.0F, -1.0F, 3.0F, 8.0F, 2.0F, new CubeDeformation(0.26F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1309F)); + PartDefinition lower_glow_left_arm = left_arm_glow.addOrReplaceChild("lower_glow_left_arm", CubeListBuilder.create().texOffs(100, 77).addBox(3.5F, 4.0F, -1.0F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.02F)) + .texOffs(89, 77).addBox(3.5F, 4.0F, -1.0F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.27F)), PartPose.offset(0.0F, 0.0F, 0.0F)); + + PartDefinition head = root.getChild("head"); + PartDefinition helmet = head.addOrReplaceChild("helmet", CubeListBuilder.create().texOffs(59, 3).addBox(-4.5F, -9.0F, -5.0F, 3.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)) + .texOffs(8, 0).addBox(-4.5F, -5.0F, 1.0F, 9.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(59, 3).mirror().addBox(1.5F, -9.0F, -5.0F, 3.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)).mirror(false) + .texOffs(0, 16).addBox(-1.5F, -11.0F, -6.0F, 3.0F, 7.0F, 12.0F, new CubeDeformation(0.0F)) + .texOffs(40, 25).addBox(-5.5F, -12.0F, -3.0F, 2.0F, 7.0F, 9.0F, new CubeDeformation(0.0F)) + .texOffs(40, 25).addBox(3.5F, -12.0F, -3.0F, 2.0F, 7.0F, 9.0F, new CubeDeformation(0.0F)) + .texOffs(40, 16).addBox(-5.0F, -5.0F, -5.0F, 3.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)) + .texOffs(40, 16).mirror().addBox(2.0F, -5.0F, -5.0F, 3.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F)); + + return LayerDefinition.create(mesh, 128, 128); + } +} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/client/model/bbmodels/malignant_lead.bbmodel b/src/main/java/com/sammy/malum/client/model/bbmodels/malignant_lead.bbmodel new file mode 100644 index 000000000..e954c4d8f --- /dev/null +++ b/src/main/java/com/sammy/malum/client/model/bbmodels/malignant_lead.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"4.9","model_format":"modded_entity","box_uv":true},"name":"malignant_lead","model_identifier":"custom_model","modded_entity_version":"1.17","modded_entity_flip_y":true,"visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":128,"height":128},"elements":[{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[1.5,29,-5],"to":[4.5,32,5],"autouv":0,"color":0,"origin":[0,-1,0],"uv_offset":[59,3],"faces":{"north":{"uv":[69,13,72,16],"texture":0},"east":{"uv":[59,13,69,16],"texture":0},"south":{"uv":[82,13,85,16],"texture":0},"west":{"uv":[72,13,82,16],"texture":0},"up":{"uv":[72,13,69,3],"texture":0},"down":{"uv":[75,3,72,13],"texture":0}},"type":"cube","uuid":"3089125a-f5e3-7877-fc43-b85e186ce70b"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5,24,-5],"to":[-3,29,-1],"autouv":0,"color":1,"shade":false,"mirror_uv":true,"origin":[0,-1,0],"uv_offset":[40,16],"faces":{"north":{"uv":[46,20,44,25],"texture":0},"east":{"uv":[50,20,46,25],"texture":0},"south":{"uv":[52,20,50,25],"texture":0},"west":{"uv":[44,20,40,25],"texture":0},"up":{"uv":[44,20,46,16],"texture":0},"down":{"uv":[46,16,48,20],"texture":0}},"type":"cube","uuid":"a7821e2a-e474-6b75-3fb8-e1e5c2d97f78"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,21.5,-3],"to":[10,26.5,3],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[0,0,0],"uv_offset":[36,75],"faces":{"north":{"uv":[47,81,42,86],"texture":0},"east":{"uv":[53,81,47,86],"texture":0},"south":{"uv":[58,81,53,86],"texture":0},"west":{"uv":[42,81,36,86],"texture":0},"up":{"uv":[42,81,47,75],"texture":0},"down":{"uv":[47,75,52,81],"texture":0}},"type":"cube","uuid":"e63c28ce-b6bb-8689-ffb2-b426bb3f9fdf"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3.5,11,-3],"to":[8.5,17,3],"autouv":0,"color":4,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[5,0,0],"uv_offset":[7,88],"faces":{"north":{"uv":[18,94,13,100],"texture":0},"east":{"uv":[24,94,18,100],"texture":0},"south":{"uv":[29,94,24,100],"texture":0},"west":{"uv":[13,94,7,100],"texture":0},"up":{"uv":[13,94,18,88],"texture":0},"down":{"uv":[18,88,23,94],"texture":0}},"type":"cube","uuid":"6fd2ef76-94e2-9233-9acf-41cd99cd3141"},{"name":"boot_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1,-1,-3],"to":[5,6,3],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"origin":[0,0,0],"uv_offset":[63,107],"faces":{"north":{"uv":[75,113,69,120],"texture":0},"east":{"uv":[81,113,75,120],"texture":0},"south":{"uv":[87,113,81,120],"texture":0},"west":{"uv":[69,113,63,120],"texture":0},"up":{"uv":[69,113,75,107],"texture":0},"down":{"uv":[75,107,81,113],"texture":0}},"type":"cube","uuid":"4f9d7976-eeec-ccaa-b7a4-2a5aaa0c3b0f"},{"name":"thigh_guard_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3.3934333473546525,6.127801352928617,-3],"to":[6.393433347354654,12.127801352928616,3],"autouv":0,"color":5,"inflate":0.03,"origin":[0.020002535079508665,-1.9915440816362118,-0.009999990463256834],"uv_offset":[19,108],"faces":{"north":{"uv":[25,114,28,120],"texture":0},"east":{"uv":[19,114,25,120],"texture":0},"south":{"uv":[34,114,37,120],"texture":0},"west":{"uv":[28,114,34,120],"texture":0},"up":{"uv":[28,114,25,108],"texture":0},"down":{"uv":[31.000000000000004,108,28,114],"texture":0}},"type":"cube","uuid":"7db7922f-957c-5c15-3766-2f5c47a7baa0"},{"name":"thigh_guard_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6.393418210755766,6.1278013529286115,-3],"to":[-3.393418210755768,12.12780135292861,3],"autouv":0,"color":6,"shade":false,"mirror_uv":true,"inflate":0.03,"origin":[-0.6200029165492349,-1.7415440816362135,-0.009999990463256834],"uv_offset":[19,108],"faces":{"north":{"uv":[28,114,25,120],"texture":0},"east":{"uv":[34,114,28,120],"texture":0},"south":{"uv":[37,114,34,120],"texture":0},"west":{"uv":[25,114,19,120],"texture":0},"up":{"uv":[25,114,28,108],"texture":0},"down":{"uv":[28,108,30.999999999999996,114],"texture":0}},"type":"cube","uuid":"79b356fd-95c0-cdee-dadb-e079c06849af"},{"name":"boot_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5,-1,-3],"to":[1,6,3],"autouv":0,"color":7,"inflate":0.01,"origin":[0,0,0],"uv_offset":[63,107],"faces":{"north":{"uv":[69,113,75,120],"texture":0},"east":{"uv":[63,113,69,120],"texture":0},"south":{"uv":[81,113,87,120],"texture":0},"west":{"uv":[75,113,81,120],"texture":0},"up":{"uv":[75,113,69,107],"texture":0},"down":{"uv":[81,107,75,113],"texture":0}},"type":"cube","uuid":"bcb251f9-0b90-a858-cbc2-eee3435b4ecc"},{"name":"codpiece","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4,12.5,-3],"to":[4,14.5,3],"autouv":0,"color":0,"inflate":0.04,"origin":[0,0,0],"uv_offset":[6,61],"faces":{"north":{"uv":[12,67,20,69],"texture":0},"east":{"uv":[6,67,12,69],"texture":0},"south":{"uv":[26,67,34,69],"texture":0},"west":{"uv":[20,67,26,69],"texture":0},"up":{"uv":[20,67,12,61],"texture":0},"down":{"uv":[28,61,20,67],"texture":0}},"type":"cube","uuid":"7903b96c-fb44-1e65-67e4-7f1d6d4f2fe7"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,29,-5],"to":[-1.5,32,5],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"origin":[0,-1,0],"uv_offset":[59,3],"faces":{"north":{"uv":[72,13,69,16],"texture":0},"east":{"uv":[82,13,72,16],"texture":0},"south":{"uv":[85,13,82,16],"texture":0},"west":{"uv":[69,13,59,16],"texture":0},"up":{"uv":[69,13,72,3],"texture":0},"down":{"uv":[72,3,75,13],"texture":0}},"type":"cube","uuid":"e8386980-5d48-2ea5-3dd1-a648e2a0ff4a"},{"name":"leg_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,5.5,-2.5],"to":[0.5,12.5,2.5],"autouv":0,"color":3,"shade":false,"mirror_uv":true,"origin":[0,0,0],"uv_offset":[53,88],"faces":{"north":{"uv":[63,93,58,100],"texture":0},"east":{"uv":[68,93,63,100],"texture":0},"south":{"uv":[73,93,68,100],"texture":0},"west":{"uv":[58,93,53,100],"texture":0},"up":{"uv":[58,93,63,88],"texture":0},"down":{"uv":[63,88,68,93],"texture":0}},"type":"cube","uuid":"421781ab-9df5-6443-6f2a-4385c92db364"},{"name":"leg_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-0.5,5.5,-2.5],"to":[4.5,12.5,2.5],"autouv":0,"color":1,"origin":[0,0,0],"uv_offset":[53,88],"faces":{"north":{"uv":[58,93,63,100],"texture":0},"east":{"uv":[53,93,58,100],"texture":0},"south":{"uv":[68,93,73,100],"texture":0},"west":{"uv":[63,93,68,100],"texture":0},"up":{"uv":[63,93,58,88],"texture":0},"down":{"uv":[68,88,63,93],"texture":0}},"type":"cube","uuid":"b884bf21-499a-58ef-5da1-cce9f8200d0a"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3,24,-5],"to":[5,29,-1],"autouv":0,"color":4,"origin":[0,-1,0],"uv_offset":[40,16],"faces":{"north":{"uv":[44,20,46,25],"texture":0},"east":{"uv":[40,20,44,25],"texture":0},"south":{"uv":[50,20,52,25],"texture":0},"west":{"uv":[46,20,50,25],"texture":0},"up":{"uv":[46,20,44,16],"texture":0},"down":{"uv":[48,16,46,20],"texture":0}},"type":"cube","uuid":"ef697b9b-6d23-00c0-c6b5-c67926376a59"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1.5,28,-6],"to":[1.5,34,6],"autouv":0,"color":3,"origin":[0,-1,0],"uv_offset":[0,16],"faces":{"north":{"uv":[12,28,15,34],"texture":0},"east":{"uv":[0,28,12,34],"texture":0},"south":{"uv":[27,28,30,34],"texture":0},"west":{"uv":[15,28,27,34],"texture":0},"up":{"uv":[15,28,12,16],"texture":0},"down":{"uv":[18,16,15,28],"texture":0}},"type":"cube","uuid":"3bd9da5c-7989-1f80-5e63-635b80c88c6d"},{"name":"torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5,17,-3],"to":[5,22,3],"autouv":0,"color":5,"origin":[0,0,0],"uv_offset":[6,37],"faces":{"north":{"uv":[12,43,22,48],"texture":0},"east":{"uv":[6,43,12,48],"texture":0},"south":{"uv":[28,43,38,48],"texture":0},"west":{"uv":[22,43,28,48],"texture":0},"up":{"uv":[22,43,12,37],"texture":0},"down":{"uv":[32,37,22,43],"texture":0}},"type":"cube","uuid":"a6bebbdd-0fce-dc40-cd93-354ec465c1f8"},{"name":"torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,13.5,-2.5],"to":[4.5,17.5,2.5],"autouv":0,"color":0,"origin":[0,0,0],"uv_offset":[6,49],"faces":{"north":{"uv":[11,54,20,58],"texture":0},"east":{"uv":[6,54,11,58],"texture":0},"south":{"uv":[25,54,34,58],"texture":0},"west":{"uv":[20,54,25,58],"texture":0},"up":{"uv":[20,54,11,49],"texture":0},"down":{"uv":[29,49,20,54],"texture":0}},"type":"cube","uuid":"5d40581d-109e-2e60-bd61-ffb41b6c3932"},{"name":"torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,21,-5],"to":[6,25,4],"autouv":0,"color":3,"origin":[0,0,0],"uv_offset":[60,40],"faces":{"north":{"uv":[69,49,81,53],"texture":0},"east":{"uv":[60,49,69,53],"texture":0},"south":{"uv":[90,49,102,53],"texture":0},"west":{"uv":[81,49,90,53],"texture":0},"up":{"uv":[81,49,69,40],"texture":0},"down":{"uv":[93,40,81,49],"texture":0}},"type":"cube","uuid":"afe4cb3b-6a8e-d24a-d20e-0b69d6adba2b"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[4.675340579092845,20.46444401067989,-4],"to":[10.67534057909285,23.46444401067989,4],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[-0.32465942090715433,1.4644440106799004,0],"uv_offset":[4,73],"faces":{"north":{"uv":[18.000000000000007,81,12,84],"texture":0},"east":{"uv":[26.000000000000007,81,18.000000000000007,84],"texture":0},"south":{"uv":[32.000000000000014,81,26.000000000000007,84],"texture":0},"west":{"uv":[12,81,4,84],"texture":0},"up":{"uv":[12,81,18.000000000000007,73],"texture":0},"down":{"uv":[18.000000000000007,73,24.00000000000001,81],"texture":0}},"type":"cube","uuid":"00e631ff-f900-631a-a662-8a2fb41ffcf7"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-4.5,24,1],"to":[4.5,29,5],"autouv":0,"color":0,"origin":[0,-1,0],"uv_offset":[80,1],"faces":{"north":{"uv":[84,5,93,10],"texture":0},"east":{"uv":[80,5,84,10],"texture":0},"south":{"uv":[97,5,106,10],"texture":0},"west":{"uv":[93,5,97,10],"texture":0},"up":{"uv":[93,5,84,1],"texture":0},"down":{"uv":[102,1,93,5],"texture":0}},"type":"cube","uuid":"b7860950-bc1e-89a6-14ea-307736ad4ae7"},{"name":"thigh_guard_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[2.7734308122751443,3.8943454345648254,-3],"to":[5.773430812275144,10.894345434564825,3],"autouv":0,"color":5,"inflate":0.02,"origin":[1,-2,0],"uv_offset":[40,109],"faces":{"north":{"uv":[46,115,49,122],"texture":0},"east":{"uv":[40,115,46,122],"texture":0},"south":{"uv":[55,115,58,122],"texture":0},"west":{"uv":[49,115,55,122],"texture":0},"up":{"uv":[49,115,46,109],"texture":0},"down":{"uv":[52,109,49,115],"texture":0}},"type":"cube","uuid":"dcb809c5-045e-4fab-9262-897659bf1be5"},{"name":"thigh_guard_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5.773415294206531,3.8943454345648254,-3],"to":[-2.773415294206533,10.894345434564825,3],"autouv":0,"color":6,"shade":false,"mirror_uv":true,"inflate":0.02,"origin":[-1,-2,0],"uv_offset":[40,109],"faces":{"north":{"uv":[49,115,46,122],"texture":0},"east":{"uv":[55,115,49,122],"texture":0},"south":{"uv":[58,115,55,122],"texture":0},"west":{"uv":[46,115,40,122],"texture":0},"up":{"uv":[46,115,49,109],"texture":0},"down":{"uv":[49,109,52,115],"texture":0}},"type":"cube","uuid":"97bdbb97-b84a-3531-0165-d37539e4cd75"},{"name":"codpiece","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-2,9.5,-3],"to":[2,12.5,3],"autouv":0,"color":0,"inflate":0.04,"origin":[0,0,0],"uv_offset":[42,58],"faces":{"north":{"uv":[48,64,52,67],"texture":0},"east":{"uv":[42,64,48,67],"texture":0},"south":{"uv":[58,64,62,67],"texture":0},"west":{"uv":[52,64,58,67],"texture":0},"up":{"uv":[52,64,48,58],"texture":0},"down":{"uv":[56,58,52,64],"texture":0}},"type":"cube","uuid":"d8ceb7eb-b81d-3fbc-27ee-0c75012d2c31"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[3.5,28,-3],"to":[5.5,35,6],"autouv":0,"color":3,"origin":[0,-1,0],"uv_offset":[40,25],"faces":{"north":{"uv":[49,34,51,41],"texture":0},"east":{"uv":[40,34,49,41],"texture":0},"south":{"uv":[60,34,62,41],"texture":0},"west":{"uv":[51,34,60,41],"texture":0},"up":{"uv":[51,34,49,25],"texture":0},"down":{"uv":[53,25,51,34],"texture":0}},"type":"cube","uuid":"913e020d-1da4-292d-1425-6f05876e2cd9"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-5.5,28,-3],"to":[-3.5,35,6],"autouv":0,"color":3,"mirror_uv":true,"origin":[0,-1,0],"uv_offset":[40,25],"faces":{"north":{"uv":[51,34,49,41],"texture":0},"east":{"uv":[60,34,51,41],"texture":0},"south":{"uv":[62,34,60,41],"texture":0},"west":{"uv":[49,34,40,41],"texture":0},"up":{"uv":[49,34,51,25],"texture":0},"down":{"uv":[51,25,53,34],"texture":0}},"type":"cube","uuid":"33331ec9-2f34-a439-f264-dd9a996eb003"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-12,19,-1],"to":[-9,27,1],"autouv":0,"color":5,"inflate":0.01,"origin":[0,0,0],"uv_offset":[100,88],"faces":{"north":{"uv":[102,90,105,98],"texture":0},"east":{"uv":[100,90,102,98],"texture":0},"south":{"uv":[107,90,110,98],"texture":0},"west":{"uv":[105,90,107,98],"texture":0},"up":{"uv":[105,90,102,88],"texture":0},"down":{"uv":[108,88,105,90],"texture":0}},"type":"cube","uuid":"f85f775b-3c23-508e-2b92-f1339e9435d2"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-9.5,13,-1],"to":[-6.5,18,1],"autouv":0,"color":6,"inflate":0.02,"origin":[0,0,0],"uv_offset":[100,77],"faces":{"north":{"uv":[102,79,105,84],"texture":0},"east":{"uv":[100,79,102,84],"texture":0},"south":{"uv":[107,79,110,84],"texture":0},"west":{"uv":[105,79,107,84],"texture":0},"up":{"uv":[105,79,102,77],"texture":0},"down":{"uv":[108,77,105,79],"texture":0}},"type":"cube","uuid":"3e478bdb-889d-1afa-cef5-5603cc523608"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-10,21.5,-3],"to":[-5,26.5,3],"autouv":0,"color":5,"inflate":0.01,"origin":[0,0,0],"uv_offset":[36,75],"faces":{"north":{"uv":[42,81,47,86],"texture":0},"east":{"uv":[36,81,42,86],"texture":0},"south":{"uv":[53,81,58,86],"texture":0},"west":{"uv":[47,81,53,86],"texture":0},"up":{"uv":[47,81,42,75],"texture":0},"down":{"uv":[52,75,47,81],"texture":0}},"type":"cube","uuid":"a46bfb6e-39b7-05d8-3a76-67ab9a07b8f3"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-8.5,11,-3],"to":[-3.5,17,3],"autouv":0,"color":6,"inflate":0.01,"origin":[0,0,0],"uv_offset":[7,88],"faces":{"north":{"uv":[13,94,18,100],"texture":0},"east":{"uv":[7,94,13,100],"texture":0},"south":{"uv":[24,94,29,100],"texture":0},"west":{"uv":[18,94,24,100],"texture":0},"up":{"uv":[18,94,13,88],"texture":0},"down":{"uv":[23,88,18,94],"texture":0}},"type":"cube","uuid":"614705f2-bcdb-a571-d28e-3beee15b32c4"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-10.89178019303095,20.488148003559964,-4],"to":[-4.891780193030948,23.488148003559964,4],"autouv":0,"color":5,"inflate":0.01,"origin":[0.10821980696905145,0.4881480035599667,0],"uv_offset":[4,73],"faces":{"north":{"uv":[12,81,18,84],"texture":0},"east":{"uv":[4,81,12,84],"texture":0},"south":{"uv":[26,81,32,84],"texture":0},"west":{"uv":[18,81,26,84],"texture":0},"up":{"uv":[18,81,12,73],"texture":0},"down":{"uv":[24.000000000000004,73,18,81],"texture":0}},"type":"cube","uuid":"d0262a70-c09f-b202-04d5-3c86e07aea07"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[9,19,-1],"to":[12,27,1],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[0,-1,0],"uv_offset":[100,88],"faces":{"north":{"uv":[105,90,102,98],"texture":0},"east":{"uv":[107,90,105,98],"texture":0},"south":{"uv":[110,90,107,98],"texture":0},"west":{"uv":[102,90,100,98],"texture":0},"up":{"uv":[102,90,105,88],"texture":0},"down":{"uv":[105,88,108,90],"texture":0}},"type":"cube","uuid":"70315f47-6aad-8c8c-d7ae-4e0bc9b67da7"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[6.5,13,-1],"to":[9.5,18,1],"autouv":0,"color":4,"shade":false,"mirror_uv":true,"inflate":0.020000000000000018,"origin":[5,0,0],"uv_offset":[100,77],"faces":{"north":{"uv":[105,79,102,84],"texture":0},"east":{"uv":[107,79,105,84],"texture":0},"south":{"uv":[110,79,107,84],"texture":0},"west":{"uv":[102,79,100,84],"texture":0},"up":{"uv":[102,79,105,77],"texture":0},"down":{"uv":[105,77,108,79],"texture":0}},"type":"cube","uuid":"9075aad1-4a34-3807-7fad-4d01a9bb31a7"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[7,21,-3.75],"to":[9,23,-2.75],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[0,-1,0],"uv_offset":[93,88],"faces":{"north":{"uv":[96,89,94,91],"texture":0},"east":{"uv":[97,89,96,91],"texture":0},"south":{"uv":[99,89,97,91],"texture":0},"west":{"uv":[94,89,93,91],"texture":0},"up":{"uv":[94,89,96,88],"texture":0},"down":{"uv":[96,88,98,89],"texture":0}},"type":"cube","uuid":"75779268-a82d-12ea-3eb3-44fcc74905e6"},{"name":"arm_r","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[7,21,2.75],"to":[9,23,3.75],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"inflate":0.01,"origin":[0,-1,0],"uv_offset":[93,88],"faces":{"north":{"uv":[96,89,94,91],"texture":0},"east":{"uv":[97,89,96,91],"texture":0},"south":{"uv":[99,89,97,91],"texture":0},"west":{"uv":[94,89,93,91],"texture":0},"up":{"uv":[94,89,96,88],"texture":0},"down":{"uv":[96,88,98,89],"texture":0}},"type":"cube","uuid":"d2140963-b7db-a7c6-196d-2cfe6fa43c1c"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-9,21,-3.75],"to":[-7,23,-2.75],"autouv":0,"color":5,"inflate":0.01,"origin":[0,0,0],"uv_offset":[93,88],"faces":{"north":{"uv":[94,89,96,91],"texture":0},"east":{"uv":[93,89,94,91],"texture":0},"south":{"uv":[97,89,99,91],"texture":0},"west":{"uv":[96,89,97,91],"texture":0},"up":{"uv":[96,89,94,88],"texture":0},"down":{"uv":[98,88,96,89],"texture":0}},"type":"cube","uuid":"cff2a354-ba99-43ac-da5c-9ffe04600a54"},{"name":"arm_l","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-9,21,2.75],"to":[-7,23,3.75],"autouv":0,"color":5,"inflate":0.01,"origin":[0,0,0],"uv_offset":[93,88],"faces":{"north":{"uv":[94,89,96,91],"texture":0},"east":{"uv":[93,89,94,91],"texture":0},"south":{"uv":[97,89,99,91],"texture":0},"west":{"uv":[96,89,97,91],"texture":0},"up":{"uv":[96,89,94,88],"texture":0},"down":{"uv":[98,88,96,89],"texture":0}},"type":"cube","uuid":"072c91c3-4361-a39e-9ca6-b38d61f10fcc"},{"name":"torso","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-1,18,3],"to":[1,20,4],"autouv":0,"color":5,"origin":[0,0,0],"uv_offset":[93,88],"faces":{"north":{"uv":[94,89,96,91],"texture":0},"east":{"uv":[93,89,94,91],"texture":0},"south":{"uv":[97,89,99,91],"texture":0},"west":{"uv":[96,89,97,91],"texture":0},"up":{"uv":[96,89,94,88],"texture":0},"down":{"uv":[98,88,96,89],"texture":0}},"type":"cube","uuid":"4a14dcf3-2118-adff-1195-2eb2738082c2"},{"name":"boot_r_glow","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[5,2,-1],"to":[6,5,1],"autouv":0,"color":0,"shade":false,"mirror_uv":true,"origin":[0,0,0],"uv_offset":[91,82],"faces":{"north":{"uv":[94,84,93,87],"texture":0},"east":{"uv":[96,84,94,87],"texture":0},"south":{"uv":[97,84,96,87],"texture":0},"west":{"uv":[93,84,91,87],"texture":0},"up":{"uv":[93,84,94,82],"texture":0},"down":{"uv":[94,82,95,84],"texture":0}},"type":"cube","uuid":"7099eabf-6cee-ce2d-a29b-76662ec479b9"},{"name":"boot_l_glow","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6,2,-1],"to":[-5,5,1],"autouv":0,"color":7,"inflate":0.01,"origin":[0,0,0],"uv_offset":[91,82],"faces":{"north":{"uv":[93,84,94,87],"texture":0},"east":{"uv":[91,84,93,87],"texture":0},"south":{"uv":[96,84,97,87],"texture":0},"west":{"uv":[94,84,96,87],"texture":0},"up":{"uv":[94,84,93,82],"texture":0},"down":{"uv":[95,82,94,84],"texture":0}},"type":"cube","uuid":"1dee734b-2b9b-03b8-09ff-31caa0a16e0d"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[-6.5,29.5,-0.25],"to":[-4.5,33.5,7.75],"autouv":0,"color":1,"shade":false,"mirror_uv":true,"origin":[0,-1,0.75],"uv_offset":[88,63],"faces":{"north":{"uv":[98,71,96,75],"texture":0},"east":{"uv":[106,71,98,75],"texture":0},"south":{"uv":[108,71,106,75],"texture":0},"west":{"uv":[96,71,88,75],"texture":0},"up":{"uv":[96,71,98,63],"texture":0},"down":{"uv":[98,63,100,71],"texture":0}},"type":"cube","uuid":"d1dbedac-ec2c-1971-dca4-f8d078f3b897"},{"name":"head","box_uv":true,"rescale":false,"locked":false,"render_order":"default","allow_mirror_modeling":true,"from":[4.5,29.5,-0.25],"to":[6.5,33.5,7.75],"autouv":0,"color":1,"shade":false,"mirror_uv":true,"origin":[0,-1,0.75],"uv_offset":[88,63],"faces":{"north":{"uv":[98,71,96,75],"texture":0},"east":{"uv":[106,71,98,75],"texture":0},"south":{"uv":[108,71,106,75],"texture":0},"west":{"uv":[96,71,88,75],"texture":0},"up":{"uv":[96,71,98,63],"texture":0},"down":{"uv":[98,63,100,71],"texture":0}},"type":"cube","uuid":"32362d84-7165-641f-a708-bf91894fb836"}],"outliner":[{"name":"torso","origin":[0,24,0],"color":0,"uuid":"6d53fc4b-9733-f2b2-1b43-3a0c90df5db4","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["a6bebbdd-0fce-dc40-cd93-354ec465c1f8","5d40581d-109e-2e60-bd61-ffb41b6c3932",{"name":"thing","origin":[0,24,0],"rotation":[-15,0,0],"color":0,"uuid":"c5d1a2ab-3172-b48c-9bd1-2d8b75211bd3","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["afe4cb3b-6a8e-d24a-d20e-0b69d6adba2b"]}]},{"name":"torso_glow","origin":[0,24,0],"color":0,"uuid":"e3291511-3989-cd44-6738-c23158206ed1","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4a14dcf3-2118-adff-1195-2eb2738082c2"]},{"name":"head","origin":[0,23,0],"color":0,"uuid":"e5eccdcb-78b6-781e-816b-94ff2349ad73","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["3089125a-f5e3-7877-fc43-b85e186ce70b","b7860950-bc1e-89a6-14ea-307736ad4ae7","e8386980-5d48-2ea5-3dd1-a648e2a0ff4a","3bd9da5c-7989-1f80-5e63-635b80c88c6d","913e020d-1da4-292d-1425-6f05876e2cd9","33331ec9-2f34-a439-f264-dd9a996eb003","ef697b9b-6d23-00c0-c6b5-c67926376a59","a7821e2a-e474-6b75-3fb8-e1e5c2d97f78"]},{"name":"head_glow","origin":[0,23,0],"color":0,"uuid":"b3719fb6-3110-f2e7-aba5-0593b7e92089","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"left_glow","origin":[0,23,0.75],"rotation":[0,-5,0],"color":0,"uuid":"965007ac-d2a1-b4e8-4ff7-8a58a555e9f9","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d1dbedac-ec2c-1971-dca4-f8d078f3b897"]},{"name":"right_glow","origin":[0,23,0.75],"rotation":[0,5,0],"color":0,"uuid":"eeebc104-52ca-01bf-7ccb-01e2174e07ac","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["32362d84-7165-641f-a708-bf91894fb836"]}]},{"name":"arm_r","origin":[3,22,0],"color":0,"uuid":"0f385a6c-562e-d849-c500-db03f340fe63","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["e63c28ce-b6bb-8689-ffb2-b426bb3f9fdf","6fd2ef76-94e2-9233-9acf-41cd99cd3141",{"name":"shoulder_pad_r","origin":[3,22,0],"rotation":[0,0,-12.5],"color":0,"uuid":"c2a7b5c4-d5b1-d886-7717-a02b4d5db9d1","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["00e631ff-f900-631a-a662-8a2fb41ffcf7"]}]},{"name":"arm_r_glow","origin":[3,22,0],"color":0,"uuid":"41982a8d-da4d-6469-8ea1-95182973cd97","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"glow_r2","origin":[3,21,0],"rotation":[0,0,7.5],"color":0,"uuid":"b77268d2-9dba-6c8b-39dc-36a7cdb811da","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["70315f47-6aad-8c8c-d7ae-4e0bc9b67da7","75779268-a82d-12ea-3eb3-44fcc74905e6","d2140963-b7db-a7c6-196d-2cfe6fa43c1c"]},{"name":"lower_glow_r2","origin":[3,22,0],"color":0,"uuid":"e3bb18be-f8b6-1d4d-3c74-b087a68cf775","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["9075aad1-4a34-3807-7fad-4d01a9bb31a7"]}]},{"name":"arm_l","origin":[-3,22,0],"color":0,"uuid":"fb36ebbd-25ee-84af-2f7c-2207ab626898","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["a46bfb6e-39b7-05d8-3a76-67ab9a07b8f3","614705f2-bcdb-a571-d28e-3beee15b32c4",{"name":"shoulder_pad_l2","origin":[-3,22,0],"rotation":[0,0,12.5],"color":0,"uuid":"f22da9a2-86be-f982-22eb-0755f4cc42db","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["d0262a70-c09f-b202-04d5-3c86e07aea07"]}]},{"name":"arm_l_glow","origin":[-3,22,0],"color":0,"uuid":"c2b22c51-5995-3f10-f066-6f8bd20fa3d4","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"glow_l","origin":[-3,22,0],"rotation":[0,0,-7.5],"color":0,"uuid":"39b89b16-5965-1305-f126-355b76d91d1c","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["f85f775b-3c23-508e-2b92-f1339e9435d2","cff2a354-ba99-43ac-da5c-9ffe04600a54","072c91c3-4361-a39e-9ca6-b38d61f10fcc"]},{"name":"lower_glow_l","origin":[-3,22,0],"color":0,"uuid":"232ea6f6-402a-c750-d6f0-8d5ce89e3665","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["3e478bdb-889d-1afa-cef5-5603cc523608"]}]},{"name":"leg_r","origin":[2,12,0],"color":0,"uuid":"7be60e45-0384-3825-0285-c9861bcd56ae","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["b884bf21-499a-58ef-5da1-cce9f8200d0a",{"name":"thigh_guard_r","origin":[2,10,0],"rotation":[0,0,65],"color":0,"uuid":"9d8032aa-9dd9-a803-7cb0-2d97f3b51f78","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["7db7922f-957c-5c15-3766-2f5c47a7baa0"]},{"name":"thigh_guard_r2","origin":[3,8,0],"rotation":[0,0,65],"color":0,"uuid":"16121f9e-6f81-d257-33b9-ecb8a5933447","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["dcb809c5-045e-4fab-9262-897659bf1be5"]}]},{"name":"leg_l","origin":[-2,12,0],"color":0,"uuid":"71425f29-453c-ffed-e113-94521e5b6edd","export":true,"mirror_uv":false,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["421781ab-9df5-6443-6f2a-4385c92db364",{"name":"thigh_guard_l","origin":[-2,10,0],"rotation":[0,0,-65],"color":0,"uuid":"36fd541b-fef9-30dc-6c06-8f0f78a28d9a","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["79b356fd-95c0-cdee-dadb-e079c06849af"]},{"name":"thigh_guard_l2","origin":[-3,8,0],"rotation":[0,0,-65],"color":0,"uuid":"d278ab93-4ab9-cffe-8258-7ca2008b3b12","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["97bdbb97-b84a-3531-0165-d37539e4cd75"]}]},{"name":"boot_r","origin":[2,12,0],"color":0,"uuid":"1f0dd7f0-6db3-a61f-7f67-40146c30987c","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4f9d7976-eeec-ccaa-b7a4-2a5aaa0c3b0f"]},{"name":"boot_r_glow","origin":[-2,12,0],"color":0,"uuid":"c60cf9c3-83dc-f649-8df0-fdf25062a1d5","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["7099eabf-6cee-ce2d-a29b-76662ec479b9"]},{"name":"boot_l","origin":[-2,12,0],"color":0,"uuid":"31588fad-8410-af54-9d76-b841f0e91238","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["bcb251f9-0b90-a858-cbc2-eee3435b4ecc"]},{"name":"boot_l_glow","origin":[0,0,0],"color":0,"uuid":"97967112-9898-7aa7-db44-d332da690a53","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["1dee734b-2b9b-03b8-09ff-31caa0a16e0d"]},{"name":"codpiece","origin":[0,0,0],"color":0,"uuid":"22d6c7ca-a2a8-10b3-4475-e9960f789cc1","export":true,"mirror_uv":false,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["7903b96c-fb44-1e65-67e4-7f1d6d4f2fe7","d8ceb7eb-b81d-3fbc-27ee-0c75012d2c31"]}],"textures":[{"path":"C:\\Users\\Hanna\\Desktop\\Mod-Stuff\\Malum-Mod\\src\\main\\resources\\assets\\malum\\textures\\armor\\malignant_stronghold.png","name":"malignant_stronghold.png","folder":"block","namespace":"","id":"0","width":128,"height":128,"uv_width":128,"uv_height":128,"particle":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"ff3ddc60-dd7c-0330-39dc-17c0c305532d","relative_path":"../../../../../../../../resources/assets/malum/textures/armor/malignant_stronghold.png","source":"data:image/png;base64,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"}]} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java b/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java index a167e0db6..e025b3668 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java @@ -110,6 +110,11 @@ public static void setupEntries() { .setWidgetConfig(w -> w.setIcon(MNEMONIC_FRAGMENT).setStyle(BookWidgetStyle.SOULWOOD)) .addPage(new HeadlineTextItemPage("void.mnemonic_fragment", "void.mnemonic_fragment.1", MNEMONIC_FRAGMENT.get())) ); + VOID_ENTRIES.add(new BookEntry<>( + "void.malignant_lead", 3, 3) + .setWidgetConfig(w -> w.setIcon(MALIGNANT_LEAD).setStyle(BookWidgetStyle.SOULWOOD)) + .addPage(new HeadlineTextItemPage("void.malignant_lead", "void.malignant_lead.1", MALIGNANT_LEAD.get())) + ); VOID_ENTRIES.add(new BookEntry<>( "void.ring_of_growing_flesh", -3, 5) @@ -141,8 +146,8 @@ public static void setupEntries() { .addPage(SpiritInfusionPage.fromOutput(RING_OF_THE_PLENTIFUL.get())) ); VOID_ENTRIES.add(new BookEntry<>( - "void.something2", 4, 6) - .setWidgetConfig(w -> w.setIcon(BARRIER).setStyle(BookWidgetStyle.SOULWOOD)) + "void.weight_of_worlds", 4, 6) + .setWidgetConfig(w -> w.setIcon(WEIGHT_OF_WORLDS).setStyle(BookWidgetStyle.SOULWOOD)) ); VOID_ENTRIES.add(new BookEntry<>( "void.something3", 2, 6) diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/armor/MalumArmorItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/armor/MalumArmorItem.java index e6ea967e0..885e5c826 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/armor/MalumArmorItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/armor/MalumArmorItem.java @@ -35,4 +35,8 @@ public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot } return super.getArmorTexture(stack, entity, slot, type); } + @Override + public String getTextureLocation() { + return "malum:textures/armor/"; + } } diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/armor/SoulStainedSteelArmorItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/armor/SoulStainedSteelArmorItem.java index 9764b0fd8..90ab2901d 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/armor/SoulStainedSteelArmorItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/armor/SoulStainedSteelArmorItem.java @@ -37,13 +37,8 @@ public ImmutableMultimap.Builder createExtraAttrib return builder; } - @Override - public String getTextureLocation() { - return "malum:textures/armor/"; - } - public String getTexture() { - return "soul_stained_steel_reforged"; + return "malignant_stronghold"; } @OnlyIn(Dist.CLIENT) @@ -58,7 +53,7 @@ public LodestoneArmorModel getHumanoidArmorModel(LivingEntity entity, ItemStack float netHeadYaw = f1 - f; float netHeadPitch = Mth.lerp(pticks, entity.xRotO, entity.getXRot()); ArmorSkin skin = ArmorSkin.getAppliedItemSkin(itemStack); - LodestoneArmorModel model = ModelRegistry.SOUL_STAINED_ARMOR; + LodestoneArmorModel model = ModelRegistry.MALIGNANT_LEAD_ARMOR; if (skin != null) { model = ArmorSkinRenderingData.RENDERING_DATA.apply(skin).getModel(entity); } diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/weapons/WeightOfWorldsItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/weapons/WeightOfWorldsItem.java new file mode 100644 index 000000000..ff0580e86 --- /dev/null +++ b/src/main/java/com/sammy/malum/common/item/curiosities/weapons/WeightOfWorldsItem.java @@ -0,0 +1,10 @@ +package com.sammy.malum.common.item.curiosities.weapons; + +import net.minecraft.world.item.*; +import team.lodestar.lodestone.systems.item.tools.*; + +public class WeightOfWorldsItem extends LodestoneAxeItem { + public WeightOfWorldsItem(Tier material, int attackDamage, float attackSpeed, Properties properties) { + super(material, attackDamage, attackSpeed, properties); + } +} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/data/item/MalumItemModels.java b/src/main/java/com/sammy/malum/data/item/MalumItemModels.java index 7ec48b4c4..bf8708629 100644 --- a/src/main/java/com/sammy/malum/data/item/MalumItemModels.java +++ b/src/main/java/com/sammy/malum/data/item/MalumItemModels.java @@ -3,6 +3,7 @@ import com.sammy.malum.MalumMod; import com.sammy.malum.common.item.cosmetic.weaves.AbstractWeaveItem; import com.sammy.malum.common.item.cosmetic.weaves.PrideweaveItem; +import com.sammy.malum.common.item.curiosities.weapons.*; import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; import com.sammy.malum.common.item.curiosities.weapons.staff.*; import com.sammy.malum.common.item.impetus.CrackedImpetusItem; @@ -40,6 +41,7 @@ protected void registerModels() { items.removeIf(i -> i.get() instanceof BlockItem); items.removeIf(i -> i.get() instanceof MalumScytheItem); + items.removeIf(i -> i.get() instanceof WeightOfWorldsItem); AbstractItemModelSmith.ItemModelSmithData data = new AbstractItemModelSmith.ItemModelSmithData(this, items::remove); diff --git a/src/main/java/com/sammy/malum/data/recipe/MalumSpiritInfusionRecipes.java b/src/main/java/com/sammy/malum/data/recipe/MalumSpiritInfusionRecipes.java index 03250b683..c8b5814ba 100644 --- a/src/main/java/com/sammy/malum/data/recipe/MalumSpiritInfusionRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/MalumSpiritInfusionRecipes.java @@ -419,23 +419,24 @@ protected static void buildRecipes(Consumer consumer) { .addSpirit(ARCANE_SPIRIT, 2) .build(consumer); - new SpiritInfusionRecipeBuilder(Items.TNT, 1, ItemRegistry.ETHERIC_NITRATE.get(), 4) + new SpiritInfusionRecipeBuilder(ItemRegistry.ETHER.get(), 1, ItemRegistry.ETHERIC_NITRATE.get(), 4) .addSpirit(INFERNAL_SPIRIT, 8) + .addSpirit(AERIAL_SPIRIT, 8) .addSpirit(ARCANE_SPIRIT, 8) - .addExtraItem(ItemRegistry.ETHER.get(), 1) + .addExtraItem(Items.TNT, 1) .addExtraItem(Ingredient.of(Tags.Items.GUNPOWDER), 4) - .addExtraItem(ItemRegistry.CURSED_GRIT.get(), 2) + .addExtraItem(Items.BLAZE_POWDER, 2) .build(consumer); - new SpiritInfusionRecipeBuilder(ItemRegistry.ETHERIC_NITRATE.get(), 8, ItemRegistry.VIVID_NITRATE.get(), 8) - .addSpirit(AERIAL_SPIRIT, 8) - .addSpirit(AQUEOUS_SPIRIT, 8) - .addSpirit(INFERNAL_SPIRIT, 8) - .addSpirit(EARTHEN_SPIRIT, 8) - .addSpirit(ELDRITCH_SPIRIT, 2) - .addExtraItem(ItemRegistry.CURSED_GRIT.get(), 4) + new SpiritInfusionRecipeBuilder(ItemRegistry.ETHERIC_NITRATE.get(), 4, ItemRegistry.VIVID_NITRATE.get(), 4) + .addSpirit(AERIAL_SPIRIT, 4) + .addSpirit(AQUEOUS_SPIRIT, 4) + .addSpirit(INFERNAL_SPIRIT, 4) + .addSpirit(EARTHEN_SPIRIT, 4) + .addSpirit(ELDRITCH_SPIRIT, 1) .addExtraItem(Ingredient.of(Tags.Items.GUNPOWDER), 4) .addExtraItem(Ingredient.of(Tags.Items.GEMS_PRISMARINE), 2) + .addExtraItem(ItemRegistry.ARCANE_CHARCOAL.get(), 2) .build(consumer); new SpiritInfusionRecipeBuilder(ItemRegistry.RAW_SOULSTONE.get(), 16, ItemRegistry.CORRUPTED_RESONANCE.get(), 1) diff --git a/src/main/java/com/sammy/malum/data/recipe/MalumVoidFavorRecipes.java b/src/main/java/com/sammy/malum/data/recipe/MalumVoidFavorRecipes.java index 1b763fecf..0d5c525a4 100644 --- a/src/main/java/com/sammy/malum/data/recipe/MalumVoidFavorRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/MalumVoidFavorRecipes.java @@ -2,16 +2,14 @@ import com.sammy.malum.*; import com.sammy.malum.common.item.*; -import com.sammy.malum.data.recipe.builder.VoidFavorRecipeBuilder; -import com.sammy.malum.registry.common.item.ItemRegistry; -import net.minecraft.data.recipes.FinishedRecipe; -import net.minecraft.nbt.*; +import com.sammy.malum.data.recipe.builder.*; +import com.sammy.malum.registry.common.item.*; +import net.minecraft.data.recipes.*; import net.minecraft.world.item.*; -import net.minecraft.world.item.crafting.Ingredient; -import net.minecraftforge.common.Tags; +import net.minecraft.world.item.crafting.*; +import net.minecraftforge.common.*; -import java.util.*; -import java.util.function.Consumer; +import java.util.function.*; public class MalumVoidFavorRecipes { @@ -31,15 +29,21 @@ protected static void buildRecipes(Consumer consumer) { new VoidFavorRecipeBuilder(ItemRegistry.PROCESSED_SOULSTONE.get(), ItemRegistry.NULL_SLATE.get(), 1) .build(consumer); + new VoidFavorRecipeBuilder(ItemRegistry.HEX_ASH.get(), ItemRegistry.VOID_SALTS.get(), 1) .build(consumer); + new VoidFavorRecipeBuilder(ItemRegistry.CHUNK_OF_BRILLIANCE.get(), ItemRegistry.MNEMONIC_FRAGMENT.get(), 1) .build(consumer); new VoidFavorRecipeBuilder(ItemRegistry.CLUSTER_OF_BRILLIANCE.get(), ItemRegistry.MNEMONIC_FRAGMENT.get(), 2) .build(consumer, MalumMod.malumPath("mnemonic_fragment_from_cluster")); + new VoidFavorRecipeBuilder(Items.BLAZE_POWDER, ItemRegistry.AURIC_EMBERS.get(), 1) .build(consumer); + new VoidFavorRecipeBuilder(ItemRegistry.CTHONIC_GOLD.get(), ItemRegistry.MALIGNANT_LEAD.get(), 1) + .build(consumer); + new VoidFavorRecipeBuilder(Ingredient.of(ItemRegistry.THE_DEVICE.get()), ItemRegistry.THE_VESSEL.get(), 1) .build(consumer); } diff --git a/src/main/java/com/sammy/malum/registry/client/ModelRegistry.java b/src/main/java/com/sammy/malum/registry/client/ModelRegistry.java index 60b21850b..f4b39ac5e 100644 --- a/src/main/java/com/sammy/malum/registry/client/ModelRegistry.java +++ b/src/main/java/com/sammy/malum/registry/client/ModelRegistry.java @@ -26,6 +26,8 @@ public class ModelRegistry { public static SoulStainedSteelArmorModel SOUL_STAINED_ARMOR; public static AncientSoulStainedSteelArmorModel ANCIENT_SOUL_STAINED_STEEL_ARMOR; + public static MalignantLeadArmorModel MALIGNANT_LEAD_ARMOR; + public static GenericSlimArmorModel GENERIC_SLIM_ARMOR; public static GenericArmorModel GENERIC_ARMOR; @@ -47,6 +49,7 @@ public class ModelRegistry { public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(SoulHunterArmorModel.LAYER, SoulHunterArmorModel::createBodyLayer); event.registerLayerDefinition(SoulStainedSteelArmorModel.LAYER, SoulStainedSteelArmorModel::createBodyLayer); + event.registerLayerDefinition(MalignantLeadArmorModel.LAYER, MalignantLeadArmorModel::createBodyLayer); event.registerLayerDefinition(GenericSlimArmorModel.LAYER, GenericSlimArmorModel::createBodyLayer); event.registerLayerDefinition(GenericArmorModel.LAYER, GenericArmorModel::createBodyLayer); @@ -72,6 +75,7 @@ public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDe public static void registerLayers(EntityRenderersEvent.AddLayers event) { SOUL_HUNTER_ARMOR = new SoulHunterArmorModel(event.getEntityModels().bakeLayer(SoulHunterArmorModel.LAYER)); SOUL_STAINED_ARMOR = new SoulStainedSteelArmorModel(event.getEntityModels().bakeLayer(SoulStainedSteelArmorModel.LAYER)); + MALIGNANT_LEAD_ARMOR = new MalignantLeadArmorModel(event.getEntityModels().bakeLayer(MalignantLeadArmorModel.LAYER)); GENERIC_SLIM_ARMOR = new GenericSlimArmorModel(event.getEntityModels().bakeLayer(GenericSlimArmorModel.LAYER)); GENERIC_ARMOR = new GenericArmorModel(event.getEntityModels().bakeLayer(GenericArmorModel.LAYER)); diff --git a/src/main/java/com/sammy/malum/registry/client/RenderTypeRegistry.java b/src/main/java/com/sammy/malum/registry/client/RenderTypeRegistry.java index b20aea3b8..4fde4f175 100644 --- a/src/main/java/com/sammy/malum/registry/client/RenderTypeRegistry.java +++ b/src/main/java/com/sammy/malum/registry/client/RenderTypeRegistry.java @@ -2,7 +2,6 @@ import net.minecraft.*; import net.minecraft.client.renderer.*; -import net.minecraft.client.renderer.texture.*; import team.lodestar.lodestone.registry.client.*; import team.lodestar.lodestone.systems.rendering.*; import team.lodestar.lodestone.systems.rendering.rendeertype.*; @@ -10,10 +9,9 @@ import java.util.function.*; import static com.mojang.blaze3d.vertex.DefaultVertexFormat.*; -import static com.mojang.blaze3d.vertex.VertexFormat.Mode.QUADS; -import static net.minecraft.client.renderer.RenderStateShard.*; +import static com.mojang.blaze3d.vertex.VertexFormat.Mode.*; -public class RenderTypeRegistry { +public class RenderTypeRegistry extends RenderStateShard { //TODO: move this to lodestone public static final Function ADDITIVE_TEXT = Util.memoize((texture) -> @@ -21,4 +19,14 @@ public class RenderTypeRegistry { .setShaderState(ShaderRegistry.ADDITIVE_TEXT.getShard()) .setTransparencyState(StateShards.ADDITIVE_TRANSPARENCY) .setTextureState(texture))); + + public static final RenderTypeProvider MALIGNANT_GLOW = new RenderTypeProvider((texture) -> LodestoneRenderTypeRegistry.createGenericRenderType("lodestone:malignant_glow", POSITION_COLOR_TEX_LIGHTMAP, QUADS, LodestoneRenderTypeRegistry.builder() + .setShaderState(LodestoneShaderRegistry.LODESTONE_TEXTURE) + .setTransparencyState(StateShards.ADDITIVE_TRANSPARENCY) + .setTextureState(texture) + .setCullState(RenderStateShard.NO_CULL))); + + public RenderTypeRegistry(String pName, Runnable pSetupState, Runnable pClearState) { + super(pName, pSetupState, pClearState); + } } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java b/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java index 4abfd6be4..de3b964da 100644 --- a/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java @@ -410,6 +410,7 @@ public static RegistryObject register(String name, Item.Prop public static final RegistryObject VOID_SALTS = register("void_salts", DEFAULT_PROPERTIES(), Item::new); public static final RegistryObject MNEMONIC_FRAGMENT = register("mnemonic_fragment", DEFAULT_PROPERTIES(), Item::new); public static final RegistryObject AURIC_EMBERS = register("auric_embers", DEFAULT_PROPERTIES(), Item::new); + public static final RegistryObject MALIGNANT_LEAD = register("malignant_lead", DEFAULT_PROPERTIES().rarity(RARE), Item::new); public static final RegistryObject BLOCK_OF_ROTTING_ESSENCE = register("block_of_rotting_essence", DEFAULT_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.BLOCK_OF_ROTTING_ESSENCE.get(), p)); public static final RegistryObject BLOCK_OF_GRIM_TALC = register("block_of_grim_talc", DEFAULT_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.BLOCK_OF_GRIM_TALC.get(), p)); @@ -505,7 +506,6 @@ public static RegistryObject register(String name, Item.Prop //endregion //region contents - public static final RegistryObject SPIRIT_POUCH = register("spirit_pouch", GEAR_PROPERTIES(), SpiritPouchItem::new); public static final RegistryObject CRUDE_SCYTHE = register("crude_scythe", GEAR_PROPERTIES(), (p) -> new MalumScytheItem(Tiers.IRON, 0, 0.1f, p.durability(500))); public static final RegistryObject SOUL_STAINED_STEEL_SCYTHE = register("soul_stained_steel_scythe", GEAR_PROPERTIES(), (p) -> new MagicScytheItem(SOUL_STAINED_STEEL, -2.5f, 0.1f, 4, p)); @@ -527,10 +527,12 @@ public static RegistryObject register(String name, Item.Prop public static final RegistryObject SOUL_HUNTER_BOOTS = register("soul_hunter_boots", GEAR_PROPERTIES(), (p) -> new SoulHunterArmorItem(ArmorItem.Type.BOOTS, p)); public static final RegistryObject TYRVING = register("tyrving", GEAR_PROPERTIES(), (p) -> new TyrvingItem(ItemTiers.ItemTierEnum.TYRVING, 0, -0.3f, p)); + public static final RegistryObject WEIGHT_OF_WORLDS = register("weight_of_worlds", GEAR_PROPERTIES(), (p) -> new WeightOfWorldsItem(ItemTiers.ItemTierEnum.MALIGNANT_LEAD, 1, -0.1f, p)); public static final RegistryObject MNEMONIC_HEX_STAFF = register("mnemonic_hex_staff", GEAR_PROPERTIES(), (p) -> new HexStaffItem(HEX_STAFF, 4, p)); public static final RegistryObject STAFF_OF_THE_AURIC_FLAME = register("staff_of_the_auric_flame", GEAR_PROPERTIES(), (p) -> new AuricFlameStaffItem(AURIC_STAFF, 6, p)); + public static final RegistryObject SPIRIT_POUCH = register("spirit_pouch", GEAR_PROPERTIES(), SpiritPouchItem::new); public static final RegistryObject ETHERIC_NITRATE = register("etheric_nitrate", DEFAULT_PROPERTIES(), EthericNitrateItem::new); public static final RegistryObject VIVID_NITRATE = register("vivid_nitrate", DEFAULT_PROPERTIES(), VividNitrateItem::new); diff --git a/src/main/java/com/sammy/malum/registry/common/item/ItemTiers.java b/src/main/java/com/sammy/malum/registry/common/item/ItemTiers.java index 8410916f4..a52ebd85f 100644 --- a/src/main/java/com/sammy/malum/registry/common/item/ItemTiers.java +++ b/src/main/java/com/sammy/malum/registry/common/item/ItemTiers.java @@ -9,9 +9,10 @@ public class ItemTiers { public enum ItemTierEnum implements Tier { SOUL_STAINED_STEEL(1250, 7.5f, 2.5f, 3, 16, ItemRegistry.SOUL_STAINED_STEEL_INGOT), + MALIGNANT_LEAD(2500, 8f, 4f, 3, 24, ItemRegistry.MALIGNANT_LEAD), TYRVING(850, 8f, 1f, 3, 12, ItemRegistry.TWISTED_ROCK), HEX_STAFF(1250, 8f, 2.5f, 3, 16, ItemRegistry.MNEMONIC_FRAGMENT), - AURIC_STAFF(1250, 8f, 2.5f, 3, 16, ItemRegistry.AURIC_EMBERS); + AURIC_STAFF(2500, 8f, 2.5f, 3, 16, ItemRegistry.AURIC_EMBERS); private final int maxUses; private final float efficiency; private final float attackDamage; diff --git a/src/main/resources/assets/malum/models/item/weight_of_worlds.json b/src/main/resources/assets/malum/models/item/weight_of_worlds.json new file mode 100644 index 000000000..6a2464867 --- /dev/null +++ b/src/main/resources/assets/malum/models/item/weight_of_worlds.json @@ -0,0 +1,15 @@ +{ + "parent": "item/handheld", + "loader": "forge:separate_transforms", + "base": { + "parent": "malum:item/weight_of_worlds_handheld" + }, + "perspectives": { + "gui": { + "parent": "malum:item/weight_of_worlds_gui" + }, + "fixed": { + "parent": "malum:item/weight_of_worlds_gui" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/malum/models/item/weight_of_worlds_gui.json b/src/main/resources/assets/malum/models/item/weight_of_worlds_gui.json new file mode 100644 index 000000000..cd88ee89d --- /dev/null +++ b/src/main/resources/assets/malum/models/item/weight_of_worlds_gui.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "malum:item/weight_of_worlds" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/malum/models/item/weight_of_worlds_handheld.json b/src/main/resources/assets/malum/models/item/weight_of_worlds_handheld.json new file mode 100644 index 000000000..5dbc3018d --- /dev/null +++ b/src/main/resources/assets/malum/models/item/weight_of_worlds_handheld.json @@ -0,0 +1,76 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "malum:item/weight_of_worlds_huge" + }, + "display": { + "thirdperson_righthand": { + "rotation": [ + 0, + -90, + 55 + ], + "translation": [ + 0, + 5, + 0.5 + ], + "scale": [ + 1.45, + 1.45, + 1.45 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 0, + 90, + -55 + ], + "translation": [ + 0, + 5, + 0.5 + ], + "scale": [ + 1.45, + 1.45, + 1.45 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + -90, + 25 + ], + "translation": [ + 1.13, + 4.2, + 1.13 + ], + "scale": [ + 1.1, + 1.1, + 1.1 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 90, + -25 + ], + "translation": [ + 1.13, + 4.2, + 1.13 + ], + "scale": [ + 1.1, + 1.1, + 1.1 + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/malum/textures/armor/malignant_stronghold.png b/src/main/resources/assets/malum/textures/armor/malignant_stronghold.png new file mode 100644 index 000000000..71126aed6 Binary files /dev/null and b/src/main/resources/assets/malum/textures/armor/malignant_stronghold.png differ diff --git a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_0.png b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_0.png index 0d9e447c0..83f17d0b7 100644 Binary files a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_0.png and b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_0.png differ diff --git a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_2.png b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_2.png index 19d8352c9..4e375380a 100644 Binary files a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_2.png and b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_2.png differ diff --git a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_top_2.png b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_top_2.png index b72e4fc13..2a1c602e6 100644 Binary files a/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_top_2.png and b/src/main/resources/assets/malum/textures/block/blight/calcified/tall_calcified_blight_top_2.png differ diff --git a/src/main/resources/assets/malum/textures/item/malignant_lead.png b/src/main/resources/assets/malum/textures/item/malignant_lead.png new file mode 100644 index 000000000..85293cc4d Binary files /dev/null and b/src/main/resources/assets/malum/textures/item/malignant_lead.png differ diff --git a/src/main/resources/assets/malum/textures/item/vivid_nitrate.png b/src/main/resources/assets/malum/textures/item/vivid_nitrate.png index 02560fd20..081cd2d9f 100644 Binary files a/src/main/resources/assets/malum/textures/item/vivid_nitrate.png and b/src/main/resources/assets/malum/textures/item/vivid_nitrate.png differ diff --git a/src/main/resources/assets/malum/textures/item/vivid_nitrate.png.mcmeta b/src/main/resources/assets/malum/textures/item/vivid_nitrate.png.mcmeta deleted file mode 100644 index d1bfedd81..000000000 --- a/src/main/resources/assets/malum/textures/item/vivid_nitrate.png.mcmeta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "animation": { - "frametime": 40, - "interpolate": true, - "frames": [ - 0, - 1, - 2, - 3, - 4 - ] - } -} diff --git a/src/main/resources/assets/malum/textures/item/weight_of_worlds.png b/src/main/resources/assets/malum/textures/item/weight_of_worlds.png new file mode 100644 index 000000000..844c2309a Binary files /dev/null and b/src/main/resources/assets/malum/textures/item/weight_of_worlds.png differ diff --git a/src/main/resources/assets/malum/textures/item/weight_of_worlds_huge.png b/src/main/resources/assets/malum/textures/item/weight_of_worlds_huge.png new file mode 100644 index 000000000..971304dc7 Binary files /dev/null and b/src/main/resources/assets/malum/textures/item/weight_of_worlds_huge.png differ