diff --git a/common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/ship.json b/common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/ship.json index 2c99154..3762e35 100644 --- a/common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/ship.json +++ b/common/src/main/resources/assets/hexcasting/patchouli_books/thehexbook/en_us/entries/patterns/spells/ship.json @@ -14,6 +14,8 @@ "type": "patchouli:text", "text": "hexsky.entry.ship_spells.terms" }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:cloak", @@ -30,6 +32,26 @@ "output": "ship", "text": "hexsky.page.ship_spells.p2s" }, + + + { + "type": "hexcasting:pattern", + "op_id": "hexsky:ship_raycast", + "anchor": "hexsky:ship_raycast", + "input": "vec, vec", + "output": "ship | null", + "text": "hexsky.page.ship_spells.ship_raycast" + }, + { + "type": "hexcasting:pattern", + "op_id": "hexsky:zone_ships", + "anchor": "hexsky:zone_ships", + "input": "vec, double", + "output": "list", + "text": "hexsky.page.ship_spells.zone_ships" + }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:ship_pos", @@ -46,46 +68,8 @@ "output": "vec", "text": "hexsky.page.ship_spells.ship_rot" }, - { - "type": "hexcasting:pattern", - "op_id": "hexsky:ship_weight", - "anchor": "hexsky:ship_weight", - "input": "ship", - "output": "num", - "text": "hexsky.page.ship_spells.ship_weight" - }, - { - "type": "hexcasting:pattern", - "op_id": "hexsky:ship_scale", - "anchor": "hexsky:ship_scale", - "input": "ship", - "output": "num", - "text": "hexsky.page.ship_spells.ship_scale" - }, - { - "type": "hexcasting:pattern", - "op_id": "hexsky:ship_scaling", - "anchor": "hexsky:ship_scaling", - "input": "ship, double", - "output": "", - "text": "hexsky.page.ship_spells.ship_scaling" - }, - { - "type": "hexcasting:pattern", - "op_id": "hexsky:ship_raycast", - "anchor": "hexsky:ship_raycast", - "input": "vec, vec", - "output": "ship | null", - "text": "hexsky.page.ship_spells.ship_raycast" - }, - { - "type": "hexcasting:pattern", - "op_id": "hexsky:zone_ships", - "anchor": "hexsky:zone_ships", - "input": "vec, double", - "output": "[ship]", - "text": "hexsky.page.ship_spells.zone_ships" - }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:ship_weight", @@ -103,6 +87,7 @@ "text": "hexsky.page.ship_spells.assemble" }, + { "type": "hexcasting:pattern", "op_id": "hexsky:force_variant", @@ -119,6 +104,8 @@ "output": "", "text": "hexsky.page.ship_spells.torque_variant" }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:force_invariant", @@ -135,6 +122,8 @@ "output": "", "text": "hexsky.page.ship_spells.torque_invariant" }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:force_variant_pos", @@ -151,6 +140,8 @@ "output": "", "text": "hexsky.page.ship_spells.force_invariant_pos" }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:ship_scale", @@ -167,6 +158,8 @@ "output": "", "text": "hexsky.page.ship_spells.ship_scaling" }, + + { "type": "hexcasting:pattern", "op_id": "hexsky:shiptoworldpos", diff --git a/common/src/main/resources/assets/hexsky/lang/en_us.json b/common/src/main/resources/assets/hexsky/lang/en_us.json index b63bb68..fae7a43 100644 --- a/common/src/main/resources/assets/hexsky/lang/en_us.json +++ b/common/src/main/resources/assets/hexsky/lang/en_us.json @@ -4,48 +4,48 @@ "hexsky.mishap.invalid.reason.null": "Ship does not exist!", "hexsky.entry.ship_spells": "Ship Manipulation", - "hexsky.entry.ship_spells.entry": "While various biological, mechanical, or otherwise media-infused creations are able to break from the environment, they are either physically restrained or unable to host solid construction. These patterns deal with assembling and controlling portions of the world as rigid, separated objects.", - "hexsky.entry.ship_spells.terms": "These objects can move untethered, and allow for an enormous range of invention. $(li)$(thing)Ships$() are freely-moving objects which have separated from the world.$(li)$(thing)Force$() is an $(l:patterns/spells/basic#hexcasting:add_motion)impulse$() in a specific direction.$(li)$(thing)Torque$() is akin to Force, but concerns rotation exclusively.$(li)$(thing)Variant$() forces are based on the ship's axes.$(li)$(thing)Invariant$() forces are applied based on the world's.$()", + "hexsky.entry.ship_spells.entry": "While various biological, mechanical, or otherwise media-infused creations are able to break from the environment, they are either physically restrained or unable to host solid construction. However, Nature provides recourse. These patterns deal with assembling and controlling portions of the world as rigid, separated objects.", + "hexsky.entry.ship_spells.terms": "Assembled objects can move untethered, and allow for an enormous range of invention. $(li)$(thing)Ships$() are freely-moving objects which have separated from the world.$(li)$(thing)Force$() is an $(l:patterns/spells/basic#hexcasting:add_motion)impulse$() applied to ships.$(li)$(thing)Torque$() is akin to force, but concerns rotation exclusively.$(li)$(thing)Variant$() forces are aligned with ship's axes.$(li)$(thing)Invariant$() forces are aligned with the world's.$()", + + "hexcasting.action.hexsky:cloak": "Murky Purification", + "hexsky.page.ship_spells.cloak": "Toggles and pushes the state of a ship's cloak. This pattern acts as security for a ship, obscuring new references from being obtained. If all references to a cloaked ship are lost, it will be $(n)forever irretrievable$().", - "hexcasting.action.hexsky:cloak": "Cloaking Purification", - "hexsky.page.ship_spells.cloak": "Toggles and returns the state of a ship's cloak. This pattern acts as security for a ship, obscuring new references from being obtained. Exercise caution.", - "hexcasting.action.hexsky:p2s": "Deckhand's Purification", "hexsky.page.ship_spells.p2s": "Takes a position and returns the ship that it corresponds to. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", "hexcasting.action.hexsky:ship_pos": "Ship Compass Prfn.", - "hexsky.page.ship_spells.ship_pos": "Analogous to $(l:patterns/basics#hexcasting:entity_pos/eye)Compass Purification$(), but instead returns the position of a ship's Center of Mass.", + "hexsky.page.ship_spells.ship_pos": "Analogous to $(l:patterns/basics#hexcasting:entity_pos/eye)Compass Purification$(), but instead pushes the position of a ship's Center of Mass.", "hexcasting.action.hexsky:ship_rot": "Heading Purification", - "hexsky.page.ship_spells.ship_rot": "Analogous to $(l:patterns/basics#hexcasting:get_entity_look)Alidade's Purification$(), but instead gets the ship's $(l:patterns/spells/ship)forward$() direction", + "hexsky.page.ship_spells.ship_rot": "Analogous to $(l:patterns/basics#hexcasting:get_entity_look)Alidade's Purification$(), but instead pushes the ship's $(l:patterns/spells/ship)forward$() direction.", "hexcasting.action.hexsky:ship_raycast": "Crow's Distillation", - "hexsky.page.ship_spells.ship_raycast": "Analogous to $(l:patterns/basics#hexcasting:raycast)Archer's Distillation$(), but instead returns a ship. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", + "hexsky.page.ship_spells.ship_raycast": "Analogous to $(l:patterns/basics#hexcasting:raycast)Archer's Distillation$(), but instead pushes a ship. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", "hexcasting.action.hexsky:zone_ships": "Zone Dstl.: Ship", - "hexsky.page.ship_spells.zone_ships": "Analogous to $(l:patterns/entities#hexcasting:zone_entity)Zone Distillation$(), but instead returns a list of ships. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", + "hexsky.page.ship_spells.zone_ships": "Analogous to $(l:patterns/entities#hexcasting:zone_entity)Zone Distillation$(), but instead pushes a list of ships. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", "hexcasting.action.hexsky:ship_weight": "Tonnage Purification", - "hexsky.page.ship_spells.ship_weight": "Takes a ship and returns its total mass.$(br)Forces applied by Hexes are multiplied by this number.", + "hexsky.page.ship_spells.ship_weight": "Takes a ship and pushes its total mass. Forces applied by Hexes are multiplied by this number.", "hexcasting.action.hexsky:assemble": "Assemble", - "hexsky.page.ship_spells.assemble": "Takes a list of vectors corresponsing to static blocks in the world, and transforms them into a separated free-floating object. Blocks outside of my ambit are ignored.", + "hexsky.page.ship_spells.assemble": "Takes a list of vectors corresponding to static blocks in the world, and transforms them into a separated free-floating object. Ignores blocks outside my ambit.", - "hexcasting.action.hexsky:force_variant": "Helmsman's Push", - "hexsky.page.ship_spells.force_variant": "Applies a $(thing)Variant Force$() to the ship in the specified direction", + "hexcasting.action.hexsky:force_variant": "Helmsman's Shove", + "hexsky.page.ship_spells.force_variant": "Applies a $(thing)Variant Force$() to the ship in the specified direction.", "hexcasting.action.hexsky:torque_variant": "Helmsman's Twist", - "hexsky.page.ship_spells.torque_variant": "Applies a $(thing)Variant Torque$() to the ship in the specified direction", + "hexsky.page.ship_spells.torque_variant": "Applies a $(thing)Variant Torque$() to the ship in the specified direction.", - "hexcasting.action.hexsky:force_invariant": "Nature's Push", - "hexsky.page.ship_spells.force_invariant": "Applies an $(thing)Invariant Force$() to the ship in the specified direction", + "hexcasting.action.hexsky:force_invariant": "Nature's Shove", + "hexsky.page.ship_spells.force_invariant": "Applies an $(thing)Invariant Force$() to the ship in the specified direction.", "hexcasting.action.hexsky:torque_invariant": "Nature's Twist", - "hexsky.page.ship_spells.torque_invariant": "Applies an $(thing)Invariant Torque$() to the ship in the specified direction", + "hexsky.page.ship_spells.torque_invariant": "Applies an $(thing)Invariant Torque$() to the ship in the specified direction.", - "hexcasting.action.hexsky:force_invariant_pos": "Nature's Yeet II", - "hexsky.page.ship_spells.force_invariant_pos": "Applies an $(thing)Invariant Force$() to the ship in the specified direction with a specified offset from the $(l:patterns/spells/ship#hexsky:ship_pos)Center of Mass$()", - "hexcasting.action.hexsky:force_variant_pos": "Helmsman's Yeet II", - "hexsky.page.ship_spells.force_variant_pos": "Applies an $(thing)Variant Force$() to the ship in the specified direction with a specified offset from the $(l:patterns/spells/ship#hexsky:ship_pos)Center of Mass$()", + "hexcasting.action.hexsky:force_invariant_pos": "Nature's Shove II", + "hexsky.page.ship_spells.force_invariant_pos": "Applies an $(thing)Invariant Force$() to the ship in the specified direction with a specified offset from the $(l:patterns/spells/ship#hexsky:ship_pos)Center of Mass$().", + "hexcasting.action.hexsky:force_variant_pos": "Helmsman's Shove II", + "hexsky.page.ship_spells.force_variant_pos": "Applies a $(thing)Variant Force$() to the ship in the specified direction with a specified offset from the $(l:patterns/spells/ship#hexsky:ship_pos)Center of Mass$().", "hexcasting.action.hexsky:ship_scale": "Magnification Prfn.", "hexsky.page.ship_spells.ship_scale": "Takes a ship and returns its current scale.", @@ -54,9 +54,9 @@ "hexsky.page.ship_spells.ship_scaling": "Alters the scale of a ship.", "hexcasting.action.hexsky:shiptoworldpos": "Worldly Purification", - "hexsky.page.ship_spells.shiptoworldpos": "Takes a position originating from a ship and transforms it into its worldly equivalent.", + "hexsky.page.ship_spells.shiptoworldpos": "Takes a position originating from a ship and pushes its worldly equivalent.", - "hexsky.entry.ship_wisp": "Wisp Add-ons", + "hexsky.entry.ship_wisp": "Hexal Add-ons", "hexsky.entry.ship_wisp.entry": "Ships are often difficult for simpler beings to comprehend on their own, so I created these patterns to direct wisps between them.", "hexcasting.action.hexsky:embark": "Embark", "hexsky.page.ship_wisp.embark": "Attaches the wisp to the ship. It must be near. This must be cast by a wisp; trying to cast it through a staff will fail rather spectacularly.", @@ -64,20 +64,20 @@ "hexsky.page.ship_wisp.disembark": "Detaches the wisp from a ship. This must be cast by a wisp; trying to cast it through a staff will fail rather spectacularly.", "hexsky.entry.ship_moreiotas": "MoreIotas Add-ons", - "hexsky.entry.ship_moreiotas.entry": "Developments in manipulating information justify appropriate ship-related patterns.", - "hexcasting.action.hexsky:ship_slug_get": "Boatwright's Prfn.", - "hexsky.page.ship_moreiotas.ship_slug_get": "Returns the name of a ship.", - "hexcasting.action.hexsky:ship_slug_set": "Boatwright's Dstl.", - "hexsky.page.ship_moreiotas.ship_slug_set": "Sets the name of a ship. The ship must be uncloaked.", + "hexsky.entry.ship_moreiotas.entry": "Unique data types justify appropriate ship-related patterns.", + "hexcasting.action.hexsky:ship_slug_get": "Spyglass Prfn.", + "hexsky.page.ship_moreiotas.ship_slug_get": "Returns the name of the targeted ship. This is also known as a $(thing)slug$().", + "hexcasting.action.hexsky:ship_slug_set": "Christening Dstl.", + "hexsky.page.ship_moreiotas.ship_slug_set": "Sets the name of a ship. Blocked by $(l:patterns/spells/ship#hexsky:cloak)Cloak$().", "hexcasting.action.hexsky:world_to_ship_matrix": "Windward Purification", - "hexsky.page.ship_moreiotas.world_to_ship_matrix": "Returns the $(thing)World-to-Ship$() transform matrix of the targeted ship", + "hexsky.page.ship_moreiotas.world_to_ship_matrix": "Returns the $(thing)World-to-Ship$() transform matrix of the targeted ship.", "hexcasting.action.hexsky:ship_to_world_matrix": "Leeward Purification", - "hexsky.page.ship_moreiotas.ship_to_world_matrix": "Returns the $(thing)Ship-to-World$() transform matrix of the targeted ship", + "hexsky.page.ship_moreiotas.ship_to_world_matrix": "Returns the $(thing)Ship-to-World$() transform matrix of the targeted ship.", "hexsky.entry.ship_complexhex": "ComplexHex Add-ons", - "hexsky.entry.ship_complexhex.entry": "In the course of my research, I have found simpler representations of rotation inadequate. As such, I developed patterns that allow for the use of more useful representations of rotation. These patterns are for applying such representations to ships.", - "hexcasting.action.hexsky:ship_rot_quat": "Bearings Purification", - "hexsky.page.ship_complexhex.ship_rot_quat": "Returns a ship's rotation as a $(thing)Quaternion", - "hexcasting.action.hexsky:ship_rot_quat_set": "Bearings Distillation", - "hexsky.page.ship_complexhex.ship_rot_quat_set": "Sets a ship's rotation to the provided $(thing)Quaternion. The ship must not be cloaked, and the $(thing)Quaternion must be valid." + "hexsky.entry.ship_complexhex.entry": "While simpler representations of rotation remain useful, many operations benefit from more robust ones.", + "hexcasting.action.hexsky:ship_rot_quat": "Bearing Purification", + "hexsky.page.ship_complexhex.ship_rot_quat": "Returns a ship's rotation as a $(thing)Quaternion$().", + "hexcasting.action.hexsky:ship_rot_quat_set": "Bearing Distillation", + "hexsky.page.ship_complexhex.ship_rot_quat_set": "Sets a ship's rotation to the provided $(thing)Quaternion$(). The ship must not be $(l:patterns/spells/ship#hexsky:cloak)cloaked$(), and the $(thing)Quaternion$() must be valid." }