public void SetArmRotation(Vector3 rotation, bool isLeftArm) { if (ModelRenderer.GetBone(isLeftArm ? "leftarm" : "rightarm", out var head)) { head.Rotation = rotation; } }
private void UpdateModelParts() { if (ModelRenderer == null) { return; } ModelRenderer.GetBone("body", out _body); ModelRenderer.GetBone("rightArm", out _rightArmModel); ModelRenderer.GetBone("leftArm", out _leftArmModel); ModelRenderer.GetBone("leftLeg", out _leftLegModel); ModelRenderer.GetBone("rightLeg", out _rightLegModel); ModelRenderer.GetBone("leftSleeve", out _leftSleeveModel); ModelRenderer.GetBone("rightSleeve", out _rightSleeveModel); ModelRenderer.GetBone("leftPants", out _leftPantsModel); ModelRenderer.GetBone("rightPants", out _rightPantsModel); ModelRenderer.GetBone("jacket", out _jacketModel); ModelRenderer.GetBone("head", out _head); if (ModelRenderer.GetBone("hat", out EntityModelRenderer.ModelBone hat)) { foreach (var c in hat.Parts) { c.ApplyHeadYaw = true; c.ApplyYaw = false; c.ApplyPitch = true; } } }
public void SetBodyRotation(Vector3 rotation) { if (ModelRenderer.GetBone("body", out var head)) { head.Rotation = rotation; } }
public void SetLegRotation(Vector3 rotation, bool isLeftLeg) { if (ModelRenderer.GetBone(isLeftLeg ? "leftleg" : "rightleg", out var head)) { head.Rotation = rotation; } }
protected override void UpdateModelParts() { //base.UpdateModelParts(); if (ModelRenderer.GetBone("head", out var head)) { var rot = head.Rotation; rot.Y = _yRotation; head.Rotation = rot; HeadBone = head; } }
/// <inheritdoc /> protected override void UpdateModelParts() { base.UpdateModelParts(); if (ModelRenderer != null && ModelRenderer.GetBone("root", out var bone)) { var rot = bone.Rotation; rot.Y = _yRotation; bone.Rotation = rot; RootBone = bone; } }
/// <inheritdoc /> protected override void UpdateModelParts() { //base.UpdateModelParts(); if (ModelRenderer.GetBone("head", out var head)) { HeadBone = head; } if (ModelRenderer.GetBone("body", out var body)) { Body = body; var bodyRotation = Body.Rotation; bodyRotation.Y = _yRotation; Body.Rotation = bodyRotation; } }
private void OnInventorySlotChanged(object sender, SlotChangedEventArgs e) { var inHand = Inventory.MainHand; Log.Info($"Inventory slot changed."); if (inHand == null && ItemRenderer != null) { ItemRenderer = null; return; } if (inHand != null) { if (!string.IsNullOrWhiteSpace(inHand.Name)) { /*var itemModel = Alex.Instance.Resources.ResourcePack.ItemModels.FirstOrDefault(x => * x.Key.Contains(inHand.Name, StringComparison.InvariantCultureIgnoreCase)); * * ItemRenderer = new ItemModelRenderer(itemModel.Value, Alex.Instance.Resources.ResourcePack);*/ var renderer = inHand.Renderer; if (renderer == null) { Log.Warn($"No renderer for item: {inHand.Name}"); return; } var itemModel = renderer.Model; ItemRenderer = renderer; if (this is Player) { if (itemModel.Display.TryGetValue("thirdperson_righthand", out var value)) { ItemRenderer.Rotation = value.Rotation; ItemRenderer.Translation = value.Translation; ItemRenderer.Scale = value.Scale; if (ModelRenderer.GetBone("rightItem", out EntityModelRenderer.ModelBone bone)) { Log.Info($"First Person item model rendering ready."); bone.Attach(ItemRenderer); } else { Log.Warn($"Bone not found: rightItem"); } } else { Log.Warn($"Failed to get item model display element!"); } } else { if (itemModel.Display.TryGetValue("thirdperson_righthand", out var value)) { ItemRenderer.Rotation = value.Rotation; ItemRenderer.Translation = value.Translation; ItemRenderer.Scale = value.Scale; if (ModelRenderer.GetBone("rightItem", out EntityModelRenderer.ModelBone bone)) { Log.Info($"Third Person item model rendering ready."); bone.Attach(ItemRenderer); } } else { Log.Warn($"Failed to get item model display element!"); } } } } }