simplified-mojang-jsons 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/animations/AnimationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAGhH;;;;;GAKG;AACH,qBAAa,wBAAwB;IACjC;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAA6D;IAEhF;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAyB;IAE9C,SAAS,eAAmB;IAE5B;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAInE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAIvD;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAuCvE"}
1
+ {"version":3,"file":"AnimationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/animations/AnimationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAGhH;;;;;GAKG;AACH,qBAAa,wBAAwB;IACjC;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAA6D;IAEhF;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAyB;IAE9C,SAAS,eAAmB;IAE5B;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAInE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAIvD;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAsDvE"}
@@ -39,7 +39,7 @@ export declare class ResourceEntityBuilder {
39
39
  * @author HaJuegos - 30-10-2026
40
40
  * @protected
41
41
  */
42
- protected setVersionEntity(newVersion: FormatVersionListEntities): this;
42
+ protected setVersionEntity(newVersion?: FormatVersionListEntities): this;
43
43
  /**
44
44
  * Metodo principal auxiliar que establece los parametros de la entidad en concreto.
45
45
  * @param {EntityClientParams} params Listado de parametros definidos en la plantilla base de la entidad.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/entities/EntityBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAG/G;;;;;GAKG;AACH,qBAAa,qBAAqB;IAC9B;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAmE;IAExF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAC,CAAqB;IAExC;;;;;;OAMG;IACH,SAAS,aAAc,QAAQ,EAAE,MAAM,EAEtC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,yBAAyB,GAAG,IAAI,CAItE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAIxD;IAED;;;;;;MAME;IACF,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAqBvE"}
1
+ {"version":3,"file":"EntityBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/entities/EntityBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAG/G;;;;;GAKG;AACH,qBAAa,qBAAqB;IAC9B;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAmE;IAExF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAqB;IAErC;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAC,CAAqB;IAExC;;;;;;OAMG;IACH,SAAS,aAAc,QAAQ,EAAE,MAAM,EAEtC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,CAAC,UAAU,GAAE,yBAAgE,GAAG,IAAI,CAI7G;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAIxD;IAED;;;;;;MAME;IACF,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAiCvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityTemplateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/entities/EntityTemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACvJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,qBAAqB;IACnE;;;;;;;OAOG;IACH,YAAoB,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,sBAAsB,EA0B9E;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;;;;OAKG;IACI,UAAU,IAAI,MAAM,CAE1B;CACJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,CAAC,MAAM,SAAS,MAAM,EAC3B,KAAK,CAAC,OAAO,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAClD,GAAG,EAAE;IAAE,aAAa,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAAE,CAAC;CAAE,WAC5J,sBAAsB,CAAC,OAAO,CAAC,kCAGhD"}
1
+ {"version":3,"file":"EntityTemplateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/resources/entities/EntityTemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACvJ,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,qBAAqB;IACnE;;;;;;;OAOG;IACH,YAAoB,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,sBAAsB,EA4B9E;IAED;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ;IAoBhB;;;;;OAKG;IACI,UAAU,IAAI,MAAM,CAE1B;CACJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,CAAC,MAAM,SAAS,MAAM,EAC3B,KAAK,CAAC,OAAO,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAClD,GAAG,EAAE;IAAE,aAAa,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAAE,CAAC;CAAE,WAC5J,sBAAsB,CAAC,OAAO,CAAC,kCAGhD"}
package/dist/index.js CHANGED
@@ -175939,6 +175939,16 @@ var ResourceAnimationBuilder = class {
175939
175939
  return this;
175940
175940
  }
175941
175941
  convertToJSON(stringify) {
175942
+ const keyFramesKeys = /* @__PURE__ */ new Set(["lerpMode", "relativeTo"]);
175943
+ const snakeKeyframes = (v) => {
175944
+ if (Array.isArray(v)) return v.map(snakeKeyframes);
175945
+ if (v && typeof v === "object") {
175946
+ return Object.fromEntries(
175947
+ Object.entries(v).filter(([, val]) => val !== void 0).map(([k, val]) => [keyFramesKeys.has(k) ? SnakeCase.toSnakeCase(k) : k, snakeKeyframes(val)])
175948
+ );
175949
+ }
175950
+ return v;
175951
+ };
175942
175952
  const mapCases = (obj) => {
175943
175953
  return SnakeCase.shallowSnakeCase(Object.fromEntries(
175944
175954
  Object.entries(obj).filter(([, v]) => v !== void 0)
@@ -175955,7 +175965,7 @@ var ResourceAnimationBuilder = class {
175955
175965
  ...mapCases(rest),
175956
175966
  ...bones && {
175957
175967
  bones: Object.fromEntries(Object.entries(bones).map(([id, b]) => {
175958
- return [id, mapCases(b)];
175968
+ return [id, snakeKeyframes(mapCases(b))];
175959
175969
  }))
175960
175970
  },
175961
175971
  ...particleEffects && { particle_effects: mapEach(particleEffects) },
@@ -214926,7 +214936,7 @@ var ResourceEntityBuilder = class {
214926
214936
  * @author HaJuegos - 30-10-2026
214927
214937
  * @protected
214928
214938
  */
214929
- setVersionEntity(newVersion) {
214939
+ setVersionEntity(newVersion = "1.10.0" /* MostStable */) {
214930
214940
  this.entityVersion = newVersion;
214931
214941
  return this;
214932
214942
  }
@@ -214943,13 +214953,23 @@ var ResourceEntityBuilder = class {
214943
214953
  }
214944
214954
  convertToJSON(stringify) {
214945
214955
  const { scripts, spawnEgg, ...rest } = this.entityData ?? {};
214956
+ const scriptKeyOver = {
214957
+ scaleX: "scaleX",
214958
+ scaleY: "scaleY",
214959
+ scaleZ: "scaleZ"
214960
+ };
214961
+ const mapScripts = (obj) => {
214962
+ return Object.fromEntries(
214963
+ Object.entries(obj).map(([k, v]) => [scriptKeyOver[k] ?? SnakeCase.toSnakeCase(k), v])
214964
+ );
214965
+ };
214946
214966
  const preEntity = {
214947
214967
  format_version: this.entityVersion,
214948
214968
  "minecraft:client_entity": {
214949
214969
  description: {
214950
214970
  identifier: this.idEntity,
214951
214971
  ...SnakeCase.shallowSnakeCase(rest),
214952
- ...scripts && { scripts: SnakeCase.shallowSnakeCase(scripts) },
214972
+ ...scripts && { scripts: mapScripts(scripts) },
214953
214973
  ...spawnEgg && { spawn_egg: SnakeCase.shallowSnakeCase(spawnEgg) }
214954
214974
  }
214955
214975
  }
@@ -214972,7 +214992,9 @@ var FinalRPEntityTemplateBuilder = class extends ResourceEntityBuilder {
214972
214992
  */
214973
214993
  constructor(def, over) {
214974
214994
  super(def.idEntity);
214975
- if (def.formatVersion) {
214995
+ if (over.setFormatVersion) {
214996
+ this.setVersionEntity(over.setFormatVersion);
214997
+ } else {
214976
214998
  this.setVersionEntity(def.formatVersion);
214977
214999
  }
214978
215000
  let finalData = structuredClone(def.params);
@@ -219597,34 +219619,90 @@ var PlayerEntity = createRPEntityClient({
219597
219619
  },
219598
219620
  scripts: {
219599
219621
  scale: "0.9375",
219622
+ variables: {
219623
+ "variable.fpMeleeSpearUseAttachableRotationZ": "public",
219624
+ "variable.tpMeleeSpearUseAttachableRotationZ": "public",
219625
+ "variable.fpMeleeSpearAttackAttachableRotationZ": "public",
219626
+ "variable.tpMeleeSpearAttackAttachablePositionZ": "public",
219627
+ "variable.attackTime": "public",
219628
+ "variable.itemUseNormalized": "public"
219629
+ },
219600
219630
  initialize: [
219601
219631
  `${MoLang.variable("is_holding_right")} = 0.0;`,
219602
219632
  `${MoLang.variable("is_blinking")} = 0.0;`,
219603
219633
  `${MoLang.variable("last_blink_time")} = 0.0;`,
219604
- `${MoLang.variable("hand_bob")} = 0.0;`
219634
+ `${MoLang.variable("hand_bob")} = 0.0;`,
219635
+ `${MoLang.variable("melee_spear_java_to_bedrock_scale")} = 40.0;`
219605
219636
  ],
219606
219637
  preAnimation: [
219607
219638
  `${MoLang.variable("helmet_layer_visible")} = !${MoLang.hasHeadGear()};`,
219608
219639
  `${MoLang.variable("leg_layer_visible")} = 1.0;`,
219609
219640
  `${MoLang.variable("boot_layer_visible")} = 1.0;`,
219610
219641
  `${MoLang.variable("chest_layer_visible")} = 1.0;`,
219611
- "variable.attack_body_rot_y = Math.sin(360*Math.sqrt(variable.attack_time)) * 5.0;",
219612
- `${MoLang.variable("tcos0")} = (${MoLang.cos(`${MoLang.modifiedDistanceMoved()} * 38.17`)} * ${MoLang.modifiedMoveSpeed()} / ${MoLang.variable("gliding_speed_value")}) * 57.3;`,
219613
- `${MoLang.variable("first_person_rotation_factor")} = ${MoLang.sin(`(1 - ${MoLang.variable("attack_time")}) * 180.0`)};`,
219642
+ `${MoLang.variable("attack_body_rot_y")} = Math.sin(360 * Math.sqrt(${MoLang.variable("attack_time")})) * 10.0;`,
219643
+ `${MoLang.variable("tcos0")} = ${MoLang.cos(`${MoLang.modifiedDistanceMoved()} * 38.17`)} * ${MoLang.modifiedMoveSpeed()} / ${MoLang.variable("gliding_speed_value")} * 57.3;`,
219644
+ `${MoLang.variable("first_person_item_rotation_factor")} = ${MoLang.sin(`(1 - ${MoLang.variable("attack_time")}) * 180.0`)};`,
219614
219645
  `${MoLang.variable("hand_bob")} = ${MoLang.lifeTime()} < 0.01 ? 0.0 : ${MoLang.variable("hand_bob")} + ((${MoLang.isOnGround()} && ${MoLang.isAlive()} ? ${MoLang.max(0, MoLang.min(MoLang.sqrt(`${MoLang.pow(MoLang.positionDelta(0), 2)} + ${MoLang.pow(MoLang.positionDelta(2), 2)}`), 0.1))} : 0.0) - ${MoLang.variable("hand_bob")}) * 0.02;`,
219615
219646
  `${MoLang.variable("map_angle")} = ${MoLang.max(0, MoLang.min(`1 - ${MoLang.variable("player_x_rotation")} / 45.1`, 1))};`,
219647
+ `${MoLang.variable("item_use_duration")} = ${MoLang.mainHandItemUseDuration()} > 0.0 ? (${MoLang.mainHandItemMaxDuration()} - (${MoLang.mainHandItemUseDuration()} - ${MoLang.frameAlpha()} + 1.0)) : 0.0;`,
219616
219648
  `${MoLang.variable("item_use_normalized")} = ${MoLang.mainHandItemUseDuration()} / ${MoLang.mainHandItemMaxDuration()};`,
219617
- `${MoLang.variable("riding_y_offset")} = ${MoLang.isRidingAnyEntityOfType("minecraft:minecart", "minecraft:boat", "minecraft:chest_boat", "minecraft:strider")} ? -3.0 : 0.0;`
219649
+ `${MoLang.variable("riding_y_offset")} = ${MoLang.isRidingAnyEntityOfType("minecraft:minecart", "minecraft:boat", "minecraft:chest_boat", "minecraft:strider")} ? -3.0 : 0.0;`,
219650
+ `${MoLang.variable("melee_spear_equipped")} = ${MoLang.equippedItemAnyTag("slot.weapon.mainhand", "minecraft:is_spear")};`,
219651
+ `${MoLang.variable("tp_melee_spear_base_arm_rotation_x")} = (${MoLang.isSwimming()} || ${MoLang.isGliding()}) ? (-115.0 - ${MoLang.targetXRotation()}) : (${MoLang.isCrawling()} ? -115.0 : -30.0);`,
219652
+ [
219653
+ `(${MoLang.variable("melee_spear_equipped")}) ? {`,
219654
+ `${MoLang.temp("melee_spear_use_finish_raise_tick")} = ${MoLang.kineticWeaponDelay()};`,
219655
+ `t.melee_spear_use_finish_sway_tick = t.melee_spear_use_finish_raise_tick + ${MoLang.kineticWeaponDismountDuration()};`,
219656
+ "t.melee_spear_use_start_sway_tick = t.melee_spear_use_finish_sway_tick - 20.0;",
219657
+ `t.melee_spear_use_finish_lower_tick = t.melee_spear_use_finish_raise_tick + ${MoLang.kineticWeaponKnockbackDuration()};`,
219658
+ "t.melee_spear_use_start_lower_tick = t.melee_spear_use_finish_lower_tick - 40.0;",
219659
+ `t.melee_spear_use_finish_raise_back_tick = t.melee_spear_use_finish_raise_tick + ${MoLang.kineticWeaponDamageDuration()};`,
219660
+ "t.melee_spear_use_start_raise_back_tick = t.melee_spear_use_finish_raise_back_tick - 5.0;",
219661
+ "t.melee_spear_use_raise_progress = math.clamp(math.inverse_lerp(0.0, t.melee_spear_use_finish_raise_tick, v.item_use_duration), 0.0, 1.0);",
219662
+ "t.melee_spear_use_raise_progress_start = math.clamp(math.inverse_lerp(0.0, 0.5, t.melee_spear_use_raise_progress), 0.0, 1.0);",
219663
+ "t.melee_spear_use_raise_progress_middle = math.clamp(math.inverse_lerp(0.5, 0.8, t.melee_spear_use_raise_progress), 0.0, 1.0);",
219664
+ "t.melee_spear_use_raise_progress_end = math.clamp(math.inverse_lerp(0.8, 1.0, t.melee_spear_use_raise_progress), 0.0, 1.0);",
219665
+ "t.melee_spear_use_sway_progress = math.clamp(math.inverse_lerp(t.melee_spear_use_start_sway_tick, t.melee_spear_use_finish_sway_tick, v.item_use_duration), 0.0, 1.0);",
219666
+ "t.melee_spear_use_lower_progress = math.ease_in_out_elastic(0.0, 1.0, math.clamp(math.inverse_lerp(t.melee_spear_use_start_lower_tick, t.melee_spear_use_finish_lower_tick, v.item_use_duration - 20.0), 0.0, 1.0));",
219667
+ "t.melee_spear_use_raise_back_progress = math.clamp(math.inverse_lerp(t.melee_spear_use_start_raise_back_tick, t.melee_spear_use_finish_raise_back_tick, v.item_use_duration), 0.0, 1.0);",
219668
+ "t.melee_spear_use_sway_intensity = math.ease_out_circ(0.0, 2.0, t.melee_spear_use_sway_progress) + math.ease_in_circ(0.0, -2.0, t.melee_spear_use_raise_back_progress);",
219669
+ "t.melee_spear_use_sway_scale_slow = math.sin(v.item_use_duration * 19.0) * t.melee_spear_use_sway_intensity;",
219670
+ "t.melee_spear_use_sway_scale_fast = math.sin(v.item_use_duration * 30.0) * t.melee_spear_use_sway_intensity;",
219671
+ "v.fp_melee_spear_use_item_position_x = (t.melee_spear_use_raise_progress_start * 0.05 + t.melee_spear_use_raise_progress_end * -0.05 + t.melee_spear_use_sway_scale_slow * 0.005) * v.melee_spear_java_to_bedrock_scale;",
219672
+ "v.fp_melee_spear_use_item_position_y = (t.melee_spear_use_raise_progress_start * -0.075 + t.melee_spear_use_raise_progress_middle * 0.075 + t.melee_spear_use_sway_scale_fast * 0.01) * v.melee_spear_java_to_bedrock_scale;",
219673
+ "v.fp_melee_spear_use_item_position_z = (t.melee_spear_use_raise_progress_start * 0.05 + t.melee_spear_use_raise_progress_end * -0.05 + t.melee_spear_use_sway_scale_slow * 0.005) * v.melee_spear_java_to_bedrock_scale;",
219674
+ "v.fp_melee_spear_use_item_rotation_y = t.melee_spear_use_raise_progress * 20.0 + t.melee_spear_use_lower_progress * 20.0 + t.melee_spear_use_sway_scale_slow * 0.5 + t.melee_spear_use_raise_back_progress * -40.0;",
219675
+ "v.fp_melee_spear_use_item_rotation_z = math.ease_in_out_back(0.0, -60.0, t.melee_spear_use_raise_progress) + t.melee_spear_use_lower_progress * -25.0 + t.melee_spear_use_raise_back_progress * 85.0 + t.melee_spear_use_sway_scale_fast * 0.5;",
219676
+ "v.fp_melee_spear_use_attachable_rotation_z = math.clamp(math.inverse_lerp(0.5, 0.55, t.melee_spear_use_raise_progress), 0.0, 1.0) * -50.0 + t.melee_spear_use_sway_progress * 90.0 + t.melee_spear_use_raise_back_progress * -40.0;",
219677
+ "v.tp_melee_spear_use_arm_rotation_x = t.melee_spear_use_raise_progress_start * -40.0 + t.melee_spear_use_raise_progress_middle * 30.0 + t.melee_spear_use_raise_progress_end * -20.0 + t.melee_spear_use_lower_progress * 20.0 + t.melee_spear_use_raise_back_progress * 10.0;",
219678
+ "v.tp_melee_spear_use_arm_rotation_x = v.tp_melee_spear_use_arm_rotation_x + t.melee_spear_use_sway_scale_slow * 0.6;",
219679
+ "v.tp_melee_spear_use_arm_rotation_y = t.melee_spear_use_sway_scale_fast * 1.0;",
219680
+ "v.tp_melee_spear_use_arm_rotation_z = t.melee_spear_use_sway_scale_slow * 0.5;",
219681
+ "v.tp_melee_spear_use_item_rotation_x = t.melee_spear_use_raise_progress * 60.0 + t.melee_spear_use_raise_back_progress * -60.0;",
219682
+ "v.tp_melee_spear_use_attachable_rotation_z = t.melee_spear_use_raise_progress * 90.0 + t.melee_spear_use_sway_progress * -90.0;",
219683
+ `t.melee_spear_attack_duration_ratio = 1.0 / ${MoLang.baseSwingDuration()};`,
219684
+ "t.melee_spear_attack_raise_end = 0.05 * t.melee_spear_attack_duration_ratio;",
219685
+ "t.melee_spear_attack_thrust_end = 0.2 * t.melee_spear_attack_duration_ratio;",
219686
+ "t.melee_spear_attack_recover_start = 1.0 - (0.6 * t.melee_spear_attack_duration_ratio);",
219687
+ "t.melee_spear_attack_raise_progress = math.clamp(math.inverse_lerp(0.0, t.melee_spear_attack_raise_end, v.attack_time), 0.0, 1.0);",
219688
+ "t.melee_spear_attack_thrust_progress = math.clamp(math.inverse_lerp(t.melee_spear_attack_raise_end, t.melee_spear_attack_thrust_end, v.attack_time), 0.0, 1.0);",
219689
+ "t.melee_spear_attack_recover_progress = math.clamp(math.inverse_lerp(t.melee_spear_attack_recover_start, 1.0, v.attack_time), 0.0, 1.0);",
219690
+ "t.melee_spear_attack_raise_scale = math.ease_in_out_sine(0.0, 1.0, t.melee_spear_attack_raise_progress);",
219691
+ "t.melee_spear_attack_thrust_scale = math.ease_in_quad(0.0, 1.0, t.melee_spear_attack_thrust_progress);",
219692
+ "t.melee_spear_attack_recover_scale = math.ease_in_out_expo(0.0, 1.0, t.melee_spear_attack_recover_progress);",
219693
+ "v.fp_melee_spear_attack_item_position_x = (t.melee_spear_attack_raise_scale * 0.1 + t.melee_spear_attack_thrust_scale * -0.1) * v.melee_spear_java_to_bedrock_scale;",
219694
+ "v.fp_melee_spear_attack_item_position_y = (t.melee_spear_attack_raise_scale * -0.075 + t.melee_spear_attack_recover_scale * 0.075) * v.melee_spear_java_to_bedrock_scale;",
219695
+ "v.fp_melee_spear_attack_item_position_z = (t.melee_spear_attack_raise_scale * 0.65 + t.melee_spear_attack_thrust_scale * -0.65) * v.melee_spear_java_to_bedrock_scale;",
219696
+ "v.fp_melee_spear_attack_item_rotation_y = t.melee_spear_attack_raise_scale * 20.0 + t.melee_spear_attack_recover_scale * -20.0;",
219697
+ "v.fp_melee_spear_attack_item_rotation_z = t.melee_spear_attack_raise_scale * -60.0 + t.melee_spear_attack_recover_scale * 60.0;",
219698
+ "v.fp_melee_spear_attack_attachable_rotation_z = t.melee_spear_attack_raise_scale * 40.0 + t.melee_spear_attack_recover_scale * -40.0;",
219699
+ "v.tp_melee_spear_attack_arm_rotation_x = t.melee_spear_attack_raise_scale * 90.0 + t.melee_spear_attack_thrust_scale * -120.0 + t.melee_spear_attack_recover_scale * 30.0;",
219700
+ "v.tp_melee_spear_attack_item_rotation_x = t.melee_spear_attack_thrust_scale * 60.0 + t.melee_spear_attack_recover_scale * -60.0;",
219701
+ "v.tp_melee_spear_attack_attachable_position_z = (t.melee_spear_attack_thrust_scale * -0.15 + t.melee_spear_attack_recover_scale * 0.15) * v.melee_spear_java_to_bedrock_scale;",
219702
+ "};"
219703
+ ].join(" ")
219618
219704
  ],
219619
219705
  animate: ["root"],
219620
- variables: {
219621
- "variable.fpMeleeSpearUseAttachableRotationZ": "public",
219622
- "variable.tpMeleeSpearUseAttachableRotationZ": "public",
219623
- "variable.fpMeleeSpearAttackAttachableRotationZ": "public",
219624
- "variable.tpMeleeSpearAttackAttachablePositionZ": "public",
219625
- "variable.attackTime": "public",
219626
- "variable.itemUseNormalized": "public"
219627
- },
219628
219706
  shouldUpdateEffectsOffscreen: "1.0"
219629
219707
  },
219630
219708
  animations: {
@@ -219642,11 +219720,18 @@ var PlayerEntity = createRPEntityClient({
219642
219720
  "move.arms": "animation.player.move.arms",
219643
219721
  "move.legs": "animation.player.move.legs",
219644
219722
  swimming: "animation.player.swim",
219723
+ "swimming.no_right_arm": "animation.player.swim.no_right_arm",
219645
219724
  "swimming.legs": "animation.player.swim.legs",
219725
+ crawling: "animation.player.crawl",
219726
+ "crawling.no_right_arm": "animation.player.crawl.no_right_arm",
219727
+ "crawling.legs": "animation.player.crawl.legs",
219728
+ "riding.root": "animation.player.riding.root",
219646
219729
  "riding.arms": "animation.player.riding.arms",
219647
219730
  "riding.legs": "animation.player.riding.legs",
219648
219731
  holding: "animation.player.holding",
219732
+ holding_heavy_core: "animation.player.holding_heavy_core",
219649
219733
  brandish_spear: "animation.humanoid.brandish_spear",
219734
+ holding_spyglass: "animation.humanoid.holding_spyglass",
219650
219735
  charging: "animation.humanoid.charging",
219651
219736
  "attack.positions": "animation.player.attack.positions",
219652
219737
  "attack.rotations": "animation.player.attack.rotations",
@@ -219660,9 +219745,9 @@ var PlayerEntity = createRPEntityClient({
219660
219745
  first_person_base_pose: "animation.player.first_person.base_pose",
219661
219746
  first_person_empty_hand: "animation.player.first_person.empty_hand",
219662
219747
  first_person_swap_item: "animation.player.first_person.swap_item",
219748
+ first_person_shield_block: "animation.player.first_person.shield_block",
219663
219749
  first_person_attack_controller: "controller.animation.player.first_person_attack",
219664
219750
  first_person_attack_rotation: "animation.player.first_person.attack_rotation",
219665
- first_person_attack_rotation_item: "animation.player.first_person.attack_rotation_item",
219666
219751
  first_person_vr_attack_rotation: "animation.player.first_person.vr_attack_rotation",
219667
219752
  first_person_walk: "animation.player.first_person.walk",
219668
219753
  first_person_map_controller: "controller.animation.player.first_person_map",
@@ -219675,23 +219760,7 @@ var PlayerEntity = createRPEntityClient({
219675
219760
  first_person_breathing_bob: "animation.player.first_person.breathing_bob",
219676
219761
  third_person_crossbow_equipped: "animation.player.crossbow_equipped",
219677
219762
  third_person_bow_equipped: "animation.player.bow_equipped",
219678
- crossbow_hold: "animation.player.crossbow_hold",
219679
- crossbow_controller: "controller.animation.player.crossbow",
219680
- shield_block_main_hand: "animation.player.shield_block_main_hand",
219681
- shield_block_off_hand: "animation.player.shield_block_off_hand",
219682
- blink: "controller.animation.persona.blink",
219683
219763
  fishing_rod: "animation.humanoid.fishing_rod",
219684
- holding_spyglass: "animation.humanoid.holding_spyglass",
219685
- first_person_shield_block: "animation.player.first_person.shield_block",
219686
- tooting_goat_horn: "animation.humanoid.tooting_goat_horn",
219687
- holding_brush: "animation.humanoid.holding_brush",
219688
- brushing: "animation.humanoid.brushing",
219689
- crawling: "animation.player.crawl",
219690
- "crawling.legs": "animation.player.crawl.legs",
219691
- "swimming.no_right_arm": "animation.player.swim.no_right_arm",
219692
- "crawling.no_right_arm": "animation.player.crawl.no_right_arm",
219693
- "riding.root": "animation.player.riding.root",
219694
- holding_heavy_core: "animation.player.holding_heavy_core",
219695
219764
  first_person_melee_spear_use: "animation.player.first_person.melee_spear_use",
219696
219765
  first_person_melee_spear_hold: "animation.player.first_person.melee_spear_hold",
219697
219766
  first_person_melee_spear_attack: "animation.player.first_person.melee_spear_attack",
@@ -219699,7 +219768,15 @@ var PlayerEntity = createRPEntityClient({
219699
219768
  third_person_melee_spear_use: "animation.humanoid.melee_spear_use",
219700
219769
  third_person_melee_spear_hold: "animation.humanoid.melee_spear_hold",
219701
219770
  third_person_melee_spear_attack: "animation.player.melee_spear_attack",
219702
- third_person_melee_spear_controller: "controller.animation.player.melee_spear"
219771
+ third_person_melee_spear_controller: "controller.animation.player.melee_spear",
219772
+ crossbow_hold: "animation.player.crossbow_hold",
219773
+ crossbow_controller: "controller.animation.player.crossbow",
219774
+ shield_block_main_hand: "animation.player.shield_block_main_hand",
219775
+ shield_block_off_hand: "animation.player.shield_block_off_hand",
219776
+ blink: "controller.animation.persona.blink",
219777
+ tooting_goat_horn: "animation.humanoid.tooting_goat_horn",
219778
+ holding_brush: "animation.humanoid.holding_brush",
219779
+ brushing: "animation.humanoid.brushing"
219703
219780
  },
219704
219781
  renderControllers: [
219705
219782
  {