diff --git a/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.json b/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.json new file mode 100644 index 000000000000..34d12be8dff9 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.json @@ -0,0 +1,293 @@ +{ + "trickster.screen.scroll_container": "Scroll Storage", + "trickster.screen.scroll_and_quill": "Scroll and Quill", + "trickster.screen.mirror_of_evaluation": "Mirror of Evaluation", + "trickster.screen.sign_scroll": "Sign Scroll", + "trickster.screen.written_scroll": "Written Scroll", + "trickster.text.misc.value_truncated": "Value truncated", + "trickster.widget.scroll_name": "Scroll Name...", + "trickster.widget.enter_scroll_name": "Enter Scroll Name:", + "trickster.widget.scroll_sign_note.line0": "Note: When you sign the scroll,", + "trickster.widget.scroll_sign_note.line1": "it will no longer be editable.", + "trickster.widget.load_button": "Write to scroll", + "trickster.message.missing_scroll": "Hold a Scroll and Quill in your other hand to import example spells", + "trickster.message.immutable_scroll": "Invalid scroll: Can't be written to", + "trickster.message.loaded_example": "Example imported!", + "trickster.message.import_example": "Import this example spell?", + "trickster.message.import_example.description": "This will §loverwrite§r the Scroll and Quill in your other hand with the chosen example spell.", + "trickster.item_group": "Trickster", + "trickster.scroll_hat": "Selected slot: %d", + "trickster.scroll_executable": "Single-use (%f Kilogandalfs)", + "trickster.unnamed_entity": "Unnamed %s", + "trickster.trick.trickster.add": "Annexation Stratagem", + "trickster.trick.trickster.subtract": "Desertion Stratagem", + "trickster.trick.trickster.multiply": "Domination Stratagem", + "trickster.trick.trickster.divide": "Submission Stratagem", + "trickster.trick.trickster.modulo": "Distortion of Wholes", + "trickster.trick.trickster.power": "Distortion of Supremacy", + "trickster.trick.trickster.max": "Noble Stratagem", + "trickster.trick.trickster.min": "Insignificance Stratagem", + "trickster.trick.trickster.ceil": "Distortion of Grandeur", + "trickster.trick.trickster.floor": "Distortion of Humility", + "trickster.trick.trickster.round": "Distortion of Objectivity", + "trickster.trick.trickster.sin": "Primary Distortion of Geometry", + "trickster.trick.trickster.cos": "Secondary Distortion of Geometry", + "trickster.trick.trickster.tan": "Tertiary Distortion of Geometry", + "trickster.trick.trickster.arcsin": "Primary Inverse Distortion of Geometry", + "trickster.trick.trickster.arccos": "Secondary Inverse Distortion of Geometry", + "trickster.trick.trickster.arctan": "Tertiary Inverse Distortion of Geometry", + "trickster.trick.trickster.arctan2": "Cartesian Angle Distortion", + "trickster.trick.trickster.if_else": "Decision Distortion", + "trickster.trick.trickster.equals": "Parity Stratagem", + "trickster.trick.trickster.not_equals": "Disparity Stratagem", + "trickster.trick.trickster.all": "Stratagem Bar None", + "trickster.trick.trickster.any": "Stratagem In General", + "trickster.trick.trickster.none": "Stratagem In Absence", + "trickster.trick.trickster.extract_x": "Primary Distortion", + "trickster.trick.trickster.extract_y": "Secondary Distortion", + "trickster.trick.trickster.extract_z": "Tertiary Distortion", + "trickster.trick.trickster.merge_vector": "Absorption Distortion", + "trickster.trick.trickster.dot_product": "Alignment Distortion", + "trickster.trick.trickster.cross_product": "Perpendicular Distortion", + "trickster.trick.trickster.normalize": "Regularity Distortion", + "trickster.trick.trickster.align_vector": "Aligned Regularity Distortion", + "trickster.trick.trickster.invert": "Inversion Distortion", + "trickster.trick.trickster.abs": "Absolutist's Distortion", + "trickster.trick.trickster.length": "Magnitude Distortion", + "trickster.trick.trickster.two": "Foundational Delusion", + "trickster.trick.trickster.read_spell": "Notulist's Delusion", + "trickster.trick.trickster.clear_spell": "Alethophobe's Ploy", + "trickster.trick.trickster.write_spell": "Notulist's Ploy", + "trickster.trick.trickster.write_closed_spell": "Proprietary Notulist's Ploy", + "trickster.trick.trickster.read_macro_ring": "Macro Delusion", + "trickster.trick.trickster.reveal": "Showcase Stratagem", + "trickster.trick.trickster.read_crow_mind": "Crow Mind Delusion", + "trickster.trick.trickster.write_crow_mind": "Crow Mind Ploy", + "trickster.trick.trickster.cost": "Cost Ploy", + "trickster.trick.trickster.reflection": "Positioning Delusion", + "trickster.trick.trickster.caster_reflection": "Reflection Delusion", + "trickster.trick.trickster.mana_reflection": "Authority Delusion", + "trickster.trick.trickster.max_mana_reflection": "Crowning Delusion", + "trickster.trick.trickster.facing_reflection": "Directional Delusion", + "trickster.trick.trickster.hotbar_reflection": "Framed Delusion", + "trickster.trick.trickster.height_reflection": "Stature Ingress", + "trickster.trick.trickster.sneaking_reflection": "Alternative Ingress", + "trickster.trick.trickster.sprinting_reflection": "Trekking Ingress", + "trickster.trick.trickster.blocking_reflection": "Guard Ingress", + "trickster.trick.trickster.raycast": "Pinpoint Ingress", + "trickster.trick.trickster.raycast_side": "Bearing Ingress", + "trickster.trick.trickster.raycast_entity": "Mark Ingress", + "trickster.trick.trickster.get_entity_type": "Motive Verification Ingress", + "trickster.trick.trickster.get_position": "Locational Ingress", + "trickster.trick.trickster.get_eye_position": "Perspective Ingress", + "trickster.trick.trickster.get_facing": "Directional Ingress", + "trickster.trick.trickster.get_max_health": "Vigor Ingress", + "trickster.trick.trickster.get_health": "Fettle Ingress", + "trickster.trick.trickster.get_armour": "Bulwark Ingress", + "trickster.trick.trickster.get_velocity": "Movement Ingress", + "trickster.trick.trickster.add_velocity": "Kinetic Ploy", + "trickster.trick.trickster.change_weight": "Ploy of Featherweight", + "trickster.trick.trickster.store_entity": "Containment Ploy", + "trickster.trick.trickster.release_entity": "Extrication Ploy", + "trickster.trick.trickster.polymorph": "Polymorph Ploy", + "trickster.trick.trickster.dispel_polymorph": "Dispel Polymorph Ploy", + "trickster.trick.trickster.summon_arrow": "Ballista's Ploy", + "trickster.trick.trickster.summon_fireball": "Pyromancer's Ploy", + "trickster.trick.trickster.summon_dragon_breath": "Dragon's Ploy", + "trickster.trick.trickster.summon_tnt": "Demolitionist's Ploy", + "trickster.trick.trickster.block_find_entity": "Embracing Ingress", + "trickster.trick.trickster.range_find_entity": "Ingress of Shared Fate", + "trickster.trick.trickster.execute": "Grand Stratagem", + "trickster.trick.trickster.execute_same_scope": "Quiet Distortion", + "trickster.trick.trickster.fork": "Utensil Stratagem", + "trickster.trick.trickster.fold": "Folding Distortion", + "trickster.trick.trickster.try_catch": "Cautious Stratagem", + "trickster.trick.trickster.closure": "Closure Stratagem", + "trickster.trick.trickster.supplier": "Supply Distortion", + "trickster.trick.trickster.kill_thread": "Executioner's Ploy", + "trickster.trick.trickster.current_thread": "Delusion of Order", + "trickster.trick.trickster.load_argument_1": "Primary Delusion", + "trickster.trick.trickster.load_argument_2": "Secondary Delusion", + "trickster.trick.trickster.load_argument_3": "Tertiary Delusion", + "trickster.trick.trickster.load_argument_4": "Quaternary Delusion", + "trickster.trick.trickster.load_argument_5": "Quinary Delusion", + "trickster.trick.trickster.load_argument_6": "Senary Delusion", + "trickster.trick.trickster.load_argument_7": "Septenary Delusion", + "trickster.trick.trickster.load_argument_8": "Octonary Delusion", + "trickster.trick.trickster.list_create": "Catalogue Delusion", + "trickster.trick.trickster.list_add": "Expansion Stratagem", + "trickster.trick.trickster.list_add_range": "Collection Stratagem", + "trickster.trick.trickster.list_take_range": "Isolation Distortion", + "trickster.trick.trickster.list_reverse": "Counter Distortion", + "trickster.trick.trickster.list_insert": "Inflation Stratagem", + "trickster.trick.trickster.list_get": "Extraction Distortion", + "trickster.trick.trickster.list_index_of": "Locating Distortion", + "trickster.trick.trickster.list_remove": "Expulsion Stratagem", + "trickster.trick.trickster.list_remove_element": "Eviction Stratagem", + "trickster.trick.trickster.list_size": "Tally Distortion", + "trickster.trick.trickster.locate_glyph": "Pinpoint Distortion", + "trickster.trick.trickster.locate_glyphs": "Discovering Distortion", + "trickster.trick.trickster.retrieve_glyph": "Retrieval Distortion", + "trickster.trick.trickster.set_glyph": "Replacement Distortion", + "trickster.trick.trickster.retrieve_subtree": "Felling Distortion", + "trickster.trick.trickster.set_subtree": "Grafting Distortion", + "trickster.trick.trickster.add_subtree": "Branching Distortion", + "trickster.trick.trickster.remove_subtree": "Pruning Distortion", + "trickster.trick.trickster.get_subparts": "Bundle Distortion", + "trickster.trick.trickster.escape_pattern": "Interpretation Distortion", + "trickster.trick.trickster.map_get": "Navigator's Distortion", + "trickster.trick.trickster.map_insert": "Charting Stratagem", + "trickster.trick.trickster.map_merge": "Admiral's Stratagem", + "trickster.trick.trickster.map_remove": "Stratagem of Annulment", + "trickster.trick.trickster.break_block": "Ploy of Destruction", + "trickster.trick.trickster.place_block": "Ploy of Creation", + "trickster.trick.trickster.swap_block": "Ploy of Exchange", + "trickster.trick.trickster.conjure_flower": "Floral Ploy", + "trickster.trick.trickster.conjure_water": "Aquatic Ploy", + "trickster.trick.trickster.conjure_light": "Illumination Ploy", + "trickster.trick.trickster.power_resonator": "Resonance Ploy", + "trickster.trick.trickster.heat": "Ploy of Investiture", + "trickster.trick.trickster.cool": "Ploy of Divestiture", + "trickster.trick.trickster.erode": "Ploy of Attrition", + "trickster.trick.trickster.get_block_hardness": "Ingress of Hardness", + "trickster.trick.trickster.check_block": "Ingress of Validation", + "trickster.trick.trickster.can_place_block": "Ingress of Suitability", + "trickster.trick.trickster.check_resonator": "Ingress of Resonance", + "trickster.trick.trickster.get_redstone_power": "Ingress of Logic", + "trickster.trick.trickster.import": "Assistance Stratagem", + "trickster.trick.trickster.import_hat": "Cranium Stratagem", + "trickster.trick.trickster.check_hat": "Cranium Delusion", + "trickster.trick.trickster.set_hat": "Cranial Shift Ploy", + "trickster.trick.trickster.other_hand": "Juggling Delusion", + "trickster.trick.trickster.other_hand_slot": "Catch Delusion", + "trickster.trick.trickster.get_item_in_slot": "Fence's Ingress", + "trickster.trick.trickster.get_mana_in_slot": "Ingress of Authority", + "trickster.trick.trickster.get_count_in_slot": "Ingress of Plenitude", + "trickster.trick.trickster.get_max_mana_in_slot": "Crowning Ingress", + "trickster.trick.trickster.get_inventory_slot": "Intrusive Ingress", + "trickster.trick.trickster.drop_stack_from_slot": "Ploy of Offering", + "trickster.trick.trickster.swap_slot": "Swindler's Ploy", + "trickster.trick.trickster.type_fragment": "Argumentative Distortion", + "trickster.trick.trickster.hash_values": "Decaying Distortion", + "trickster.trick.trickster.delay_execution": "Ploy of Suspension", + "trickster.trick.trickster.pin_chunk": "Ploy of Celestial Pin", + "trickster.trick.trickster.get_dimension": "Dimensional Delusion", + "trickster.trick.trickster.show_bar": "Ploy of Clarity", + "trickster.trick.trickster.clear_bar": "Ploy of Obfuscation", + "trickster.trick.trickster.highlight": "Flourish Ploy", + "trickster.trick.trickster.draw_spell": "Marketer's Ploy", + "trickster.trick.trickster.draw_line": "Artist's Ploy", + "trickster.trick.trickster.get_flecks": "Observer's Ingress", + "trickster.trick.trickster.get_scale": "Distortion of Occupation", + "trickster.trick.trickster.set_scale": "Ploy of Occupation", + "trickster.trick.trickster.transmog": "Ploy of Transmogrification", + "trickster.trick.trickster.hidden_transmog": "Ploy of Subterfuge", + "trickster.trick.trickster.remove_transmog": "Ploy of Origin", + "trickster.trick.trickster.get_transmog": "Ingress of Transmogrification", + "trickster.trick.trickster.battery_creation": "Ploy of the Moon Watcher", + "trickster.trick.trickster.push_mana": "Benevolent Conduit's Ploy", + "trickster.trick.trickster.pull_mana": "Malevolent Conduit's Ploy", + "trickster.trick.trickster.message_send": "Dispatch Ploy", + "trickster.trick.trickster.message_listen": "Ploy of Receipt", + "trickster.fragment.trickster.type": "Type", + "trickster.fragment.trickster.number": "Number", + "trickster.fragment.trickster.boolean": "Boolean", + "trickster.fragment.trickster.vector": "Vector", + "trickster.fragment.trickster.list": "List", + "trickster.fragment.trickster.map": "Map", + "trickster.fragment.trickster.void": "Void", + "trickster.fragment.trickster.pattern": "Pattern", + "trickster.fragment.trickster.pattern_literal": "Pattern Literal", + "trickster.fragment.trickster.spell_part": "Spell", + "trickster.fragment.trickster.entity": "Entity", + "trickster.fragment.trickster.slot": "Slot", + "trickster.fragment.trickster.zalgo": "§kZalgo", + "trickster.fragment.trickster.item_type": "Item", + "trickster.fragment.trickster.block_type": "Block", + "trickster.fragment.trickster.entity_type": "Entity Type", + "trickster.fragment.trickster.integer_list": "List of Integers", + "trickster.blunder.incorrect_fragment": "Incorrect argument at index %d. Expected %s, got %s", + "trickster.blunder.missing_fragment": "Missing at index %d, expected %s", + "trickster.blunder.overweight_fragment": "Result fragment is overweight, result is %s", + "item.trickster.tome_of_tomfoolery": "Tome of Tomfoolery", + "item.trickster.mirror_of_evaluation": "Mirror of Evaluation", + "item.trickster.scroll_and_quill": "Scroll and Quill", + "item.trickster.scroll_and_quill_black": "Black Scroll and Quill", + "item.trickster.scroll_and_quill_blue": "Blue Scroll and Quill", + "item.trickster.scroll_and_quill_brown": "Brown Scroll and Quill", + "item.trickster.scroll_and_quill_cyan": "Cyan Scroll and Quill", + "item.trickster.scroll_and_quill_gray": "Gray Scroll and Quill", + "item.trickster.scroll_and_quill_green": "Green Scroll and Quill", + "item.trickster.scroll_and_quill_light_blue": "Light Blue Scroll and Quill", + "item.trickster.scroll_and_quill_light_gray": "Light Gray Scroll and Quill", + "item.trickster.scroll_and_quill_lime": "Lime Scroll and Quill", + "item.trickster.scroll_and_quill_magenta": "Magenta Scroll and Quill", + "item.trickster.scroll_and_quill_orange": "Orange Scroll and Quill", + "item.trickster.scroll_and_quill_pink": "Pink Scroll and Quill", + "item.trickster.scroll_and_quill_purple": "Purple Scroll and Quill", + "item.trickster.scroll_and_quill_red": "Red Scroll and Quill", + "item.trickster.scroll_and_quill_white": "White Scroll and Quill", + "item.trickster.scroll_and_quill_yellow": "Yellow Scroll and Quill", + "item.trickster.written_scroll": "Written Scroll", + "item.trickster.written_scroll_black": "Black Written Scroll", + "item.trickster.written_scroll_blue": "Blue Written Scroll", + "item.trickster.written_scroll_brown": "Brown Written Scroll", + "item.trickster.written_scroll_cyan": "Cyan Written Scroll", + "item.trickster.written_scroll_gray": "Gray Written Scroll", + "item.trickster.written_scroll_green": "Green Written Scroll", + "item.trickster.written_scroll_light_blue": "Light Blue Written Scroll", + "item.trickster.written_scroll_light_gray": "Light Gray Written Scroll", + "item.trickster.written_scroll_lime": "Lime Written Scroll", + "item.trickster.written_scroll_magenta": "Magenta Written Scroll", + "item.trickster.written_scroll_orange": "Orange Written Scroll", + "item.trickster.written_scroll_pink": "Pink Written Scroll", + "item.trickster.written_scroll_purple": "Purple Written Scroll", + "item.trickster.written_scroll_red": "Red Written Scroll", + "item.trickster.written_scroll_white": "White Written Scroll", + "item.trickster.written_scroll_yellow": "Yellow Written Scroll", + "item.trickster.warding_charm": "Warding Charm", + "item.trickster.spell_ink": "Spell Ink", + "item.trickster.top_hat": "Top Hat", + "item.trickster.witch_hat": "Witch Hat", + "item.trickster.fez": "Fez", + "item.trickster.wand": "Wand", + "item.trickster.macro_ring": "Macro Ring", + "item.trickster.amethyst_knot": "Amethyst Knot", + "item.trickster.emerald_knot": "Emerald Knot", + "item.trickster.diamond_knot": "Diamond Knot", + "item.trickster.echo_knot": "Echo Knot", + "item.trickster.cracked_echo_knot": "Cracked Echo Knot", + "item.trickster.command_knot": "Command Knot", + "item.trickster.spell_core": "Spell Core", + "item.trickster.rusted_spell_core": "Rusted Spell Core", + "item.trickster.ominous_spell_core": "Ominous Spell Core", + "block.trickster.spell_resonator": "Spell Resonator", + "block.trickster.spell_construct": "Spell Construct", + "block.trickster.modular_spell_construct": "Modular Spell Construct", + "block.trickster.light": "Light", + "block.trickster.scroll_shelf": "Scroll Shelf", + "effect.trickster.mana_boost": "Mana Hyperflux", + "effect.trickster.mana_deficiency": "Mana Hypoflux", + "tag.item.trickster.can_evaluate_dynamically": "Can Evaluate Dynamically", + "tag.item.trickster.holdable_hat": "Holdable Hats", + "tag.item.trickster.scrolls": "Scrolls", + "tag.item.trickster.spell_cost": "Spell Cost", + "death.attack.mana_overflux": "%1$s's magic show has met an untimely end.", + "death.attack.mana_overflux.player": "%2$s brought an end to %1$s's magic show.", + "key.categories.trickster": "Trickster", + "key.trickster.take_hat": "Take Hat", + "key.trickster.modify_spell": "Modify Spell (Creative only)", + "text.config.trickster-config.title": "Trickster Config", + "text.config.trickster-config.section.client": "Client", + "text.config.trickster-config.section.server": "Server", + "text.config.trickster-config.section.aurora-client": "Aurora's Personal Client Tweaks", + "text.config.trickster-config.option.topHatInterceptScrolling": "Offhand hat intercepts hotbar scrolling", + "text.config.trickster-config.option.invertTopHatScrolling": "Invert hat scrolling", + "text.config.trickster-config.option.revealToHotbar": "Write revealed values to action bar", + "text.config.trickster-config.option.maxExecutionsPerSpellPerTick": "Max operations per tick per spell", + "text.config.trickster-config.option.allowSwapBedrock": "Permit block swapping of bedrock", + "text.config.trickster-config.option.maxBlockBreakingHardness": "Max hardness for Ploy of Destruction", + "text.config.trickster-config.option.dragDrawing": "Draw by dragging", + "text.config.trickster-config.option.barsHorizontal": "Show spell-created bars horizontally", + "text.config.trickster-config.option.disableOffhandScrollOpening": "Require scroll in main hand to edit" +} \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.yml b/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.yml new file mode 100644 index 000000000000..451d1d808b06 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lang/en_us.yml @@ -0,0 +1,360 @@ +trickster: + screen: + scroll_container: Scroll Storage + scroll_and_quill: Scroll and Quill + mirror_of_evaluation: Mirror of Evaluation + sign_scroll: Sign Scroll + written_scroll: Written Scroll + + text: + misc: + value_truncated: Value truncated + + widget: + scroll_name: Scroll Name... + enter_scroll_name: 'Enter Scroll Name:' + scroll_sign_note: + line0: 'Note: When you sign the scroll,' + line1: it will no longer be editable. + load_button: Write to scroll + + message: + missing_scroll: Hold a Scroll and Quill in your other hand to import example spells + immutable_scroll: "Invalid scroll: Can't be written to" + loaded_example: Example imported! + import_example: + .: Import this example spell? + description: This will §loverwrite§r the Scroll and Quill in your other hand with the chosen example spell. + + item_group: Trickster + + scroll_hat: 'Selected slot: %d' + scroll_executable: Single-use (%f Kilogandalfs) + + unnamed_entity: Unnamed %s + + trick.trickster: + add: Annexation Stratagem + subtract: Desertion Stratagem + multiply: Domination Stratagem + divide: Submission Stratagem + modulo: Distortion of Wholes + power: Distortion of Supremacy + max: Noble Stratagem + min: Insignificance Stratagem + ceil: Distortion of Grandeur + floor: Distortion of Humility + round: Distortion of Objectivity + sin: Primary Distortion of Geometry + cos: Secondary Distortion of Geometry + tan: Tertiary Distortion of Geometry + arcsin: Primary Inverse Distortion of Geometry + arccos: Secondary Inverse Distortion of Geometry + arctan: Tertiary Inverse Distortion of Geometry + arctan2: Cartesian Angle Distortion + + if_else: Decision Distortion + equals: Parity Stratagem + not_equals: Disparity Stratagem + all: Stratagem Bar None + any: Stratagem In General + none: Stratagem In Absence + + extract_x: Primary Distortion + extract_y: Secondary Distortion + extract_z: Tertiary Distortion + merge_vector: Absorption Distortion + dot_product: Alignment Distortion + cross_product: Perpendicular Distortion + normalize: Regularity Distortion + align_vector: Aligned Regularity Distortion + invert: Inversion Distortion + abs: Absolutist's Distortion + length: Magnitude Distortion + + two: Foundational Delusion + read_spell: Notulist's Delusion + clear_spell: Alethophobe's Ploy + write_spell: Notulist's Ploy + write_closed_spell: Proprietary Notulist's Ploy + read_macro_ring: Macro Delusion + reveal: Showcase Stratagem + read_crow_mind: Crow Mind Delusion + write_crow_mind: Crow Mind Ploy + cost: Cost Ploy + + reflection: Positioning Delusion + caster_reflection: Reflection Delusion + mana_reflection: Authority Delusion + max_mana_reflection: Crowning Delusion + facing_reflection: Directional Delusion + hotbar_reflection: Framed Delusion + + height_reflection: Stature Ingress + sneaking_reflection: Alternative Ingress + sprinting_reflection: Trekking Ingress + blocking_reflection: Guard Ingress + raycast: Pinpoint Ingress + raycast_side: Bearing Ingress + raycast_entity: Mark Ingress + get_entity_type: Motive Verification Ingress + get_position: Locational Ingress + get_eye_position: Perspective Ingress + get_facing: Directional Ingress + get_max_health: Vigor Ingress + get_health: Fettle Ingress + get_armour: Bulwark Ingress + get_velocity: Movement Ingress + add_velocity: Kinetic Ploy + change_weight: Ploy of Featherweight + store_entity: Containment Ploy + release_entity: Extrication Ploy + + polymorph: Polymorph Ploy + dispel_polymorph: Dispel Polymorph Ploy + + summon_arrow: Ballista's Ploy + summon_fireball: Pyromancer's Ploy + summon_dragon_breath: Dragon's Ploy + summon_tnt: Demolitionist's Ploy + + block_find_entity: Embracing Ingress + range_find_entity: Ingress of Shared Fate + + execute: Grand Stratagem + execute_same_scope: Quiet Distortion + fork: Utensil Stratagem + fold: Folding Distortion + try_catch: Cautious Stratagem + closure: Closure Stratagem + supplier: Supply Distortion + kill_thread: Executioner's Ploy + current_thread: Delusion of Order + load_argument_1: Primary Delusion + load_argument_2: Secondary Delusion + load_argument_3: Tertiary Delusion + load_argument_4: Quaternary Delusion + load_argument_5: Quinary Delusion + load_argument_6: Senary Delusion + load_argument_7: Septenary Delusion + load_argument_8: Octonary Delusion + + list_create: Catalogue Delusion + list_add: Expansion Stratagem + list_add_range: Collection Stratagem + list_take_range: Isolation Distortion + list_reverse: Counter Distortion + list_insert: Inflation Stratagem + list_get: Extraction Distortion + list_index_of: Locating Distortion + list_remove: Expulsion Stratagem + list_remove_element: Eviction Stratagem + list_size: Tally Distortion + + locate_glyph: Pinpoint Distortion + locate_glyphs: Discovering Distortion + retrieve_glyph: Retrieval Distortion + set_glyph: Replacement Distortion + retrieve_subtree: Felling Distortion + set_subtree: Grafting Distortion + add_subtree: Branching Distortion + remove_subtree: Pruning Distortion + get_subparts: Bundle Distortion + escape_pattern: Interpretation Distortion + + map_get: Navigator's Distortion + map_insert: Charting Stratagem + map_merge: Admiral's Stratagem + map_remove: Stratagem of Annulment + + break_block: Ploy of Destruction + place_block: Ploy of Creation + swap_block: Ploy of Exchange + conjure_flower: Floral Ploy + conjure_water: Aquatic Ploy + conjure_light: Illumination Ploy + power_resonator: Resonance Ploy + heat: Ploy of Investiture + cool: Ploy of Divestiture + erode: Ploy of Attrition + + get_block_hardness: Ingress of Hardness + check_block: Ingress of Validation + can_place_block: Ingress of Suitability + check_resonator: Ingress of Resonance + get_redstone_power: Ingress of Logic + + import: Assistance Stratagem + import_hat: Cranium Stratagem + check_hat: Cranium Delusion + set_hat: Cranial Shift Ploy + other_hand: Juggling Delusion + other_hand_slot: Catch Delusion + get_item_in_slot: Fence's Ingress + get_mana_in_slot: Ingress of Authority + get_count_in_slot: Ingress of Plenitude + get_max_mana_in_slot: Crowning Ingress + get_inventory_slot: Intrusive Ingress + drop_stack_from_slot: Ploy of Offering + swap_slot: Swindler's Ploy + block_from_item: Placement Distortion + item_from_block: Pickup Distortion + + type_fragment: Argumentative Distortion + hash_values: Decaying Distortion + delay_execution: Ploy of Suspension + pin_chunk: Ploy of Celestial Pin + get_dimension: Dimensional Delusion + show_bar: Ploy of Clarity + clear_bar: Ploy of Obfuscation + + highlight: Flourish Ploy + + draw_spell: Marketer's Ploy + draw_line: Artist's Ploy + get_flecks: Observer's Ingress + + get_scale: Distortion of Occupation + set_scale: Ploy of Occupation + + transmog: Ploy of Transmogrification + hidden_transmog: Ploy of Subterfuge + remove_transmog: Ploy of Origin + get_transmog: Ingress of Transmogrification + + battery_creation: Ploy of the Moon Watcher + push_mana: Benevolent Conduit's Ploy + pull_mana: Malevolent Conduit's Ploy + + message_send: Dispatch Ploy + message_listen: Ploy of Receipt + + fragment.trickster: + type: Type + number: Number + boolean: Boolean + vector: Vector + list: List + map: Map + void: Void + pattern: Pattern + pattern_literal: Pattern Literal + spell_part: Spell + entity: Entity + slot: Slot + zalgo: §kZalgo + item_type: Item + block_type: Block + entity_type: Entity Type + integer_list: List of Integers + + blunder: + incorrect_fragment: Incorrect argument at index %d. Expected %s, got %s + missing_fragment: Missing at index %d, expected %s + overweight_fragment: Result fragment is overweight, result is %s + +item.trickster: + tome_of_tomfoolery: Tome of Tomfoolery + mirror_of_evaluation: Mirror of Evaluation + + scroll_and_quill: Scroll and Quill + scroll_and_quill_black: Black Scroll and Quill + scroll_and_quill_blue: Blue Scroll and Quill + scroll_and_quill_brown: Brown Scroll and Quill + scroll_and_quill_cyan: Cyan Scroll and Quill + scroll_and_quill_gray: Gray Scroll and Quill + scroll_and_quill_green: Green Scroll and Quill + scroll_and_quill_light_blue: Light Blue Scroll and Quill + scroll_and_quill_light_gray: Light Gray Scroll and Quill + scroll_and_quill_lime: Lime Scroll and Quill + scroll_and_quill_magenta: Magenta Scroll and Quill + scroll_and_quill_orange: Orange Scroll and Quill + scroll_and_quill_pink: Pink Scroll and Quill + scroll_and_quill_purple: Purple Scroll and Quill + scroll_and_quill_red: Red Scroll and Quill + scroll_and_quill_white: White Scroll and Quill + scroll_and_quill_yellow: Yellow Scroll and Quill + + written_scroll: Written Scroll + written_scroll_black: Black Written Scroll + written_scroll_blue: Blue Written Scroll + written_scroll_brown: Brown Written Scroll + written_scroll_cyan: Cyan Written Scroll + written_scroll_gray: Gray Written Scroll + written_scroll_green: Green Written Scroll + written_scroll_light_blue: Light Blue Written Scroll + written_scroll_light_gray: Light Gray Written Scroll + written_scroll_lime: Lime Written Scroll + written_scroll_magenta: Magenta Written Scroll + written_scroll_orange: Orange Written Scroll + written_scroll_pink: Pink Written Scroll + written_scroll_purple: Purple Written Scroll + written_scroll_red: Red Written Scroll + written_scroll_white: White Written Scroll + written_scroll_yellow: Yellow Written Scroll + + warding_charm: Warding Charm + spell_ink: Spell Ink + top_hat: Top Hat + witch_hat: Witch Hat + fez: Fez + wand: Wand + macro_ring: Macro Ring + + amethyst_knot: Amethyst Knot + emerald_knot: Emerald Knot + diamond_knot: Diamond Knot + echo_knot: Echo Knot + cracked_echo_knot: Cracked Echo Knot + command_knot: Command Knot + + spell_core: Spell Core + rusted_spell_core: Rusted Spell Core + ominous_spell_core: Ominous Spell Core + +block.trickster: + spell_resonator: Spell Resonator + spell_construct: Spell Construct + modular_spell_construct: Modular Spell Construct + light: Light + scroll_shelf: Scroll Shelf + +effect.trickster: + mana_boost: Mana Hyperflux + mana_deficiency: Mana Hypoflux + +tag.item.trickster: + can_evaluate_dynamically: Can Evaluate Dynamically + holdable_hat: Holdable Hats + scrolls: Scrolls + spell_cost: Spell Cost + +death.attack: + mana_overflux: "%1$s's magic show has met an untimely end." + mana_overflux.player: "%2$s brought an end to %1$s's magic show." + +key: + categories: + trickster: Trickster + + trickster: + take_hat: Take Hat + modify_spell: Modify Spell (Creative only) + +text.config.trickster-config: + title: Trickster Config + section: + client: Client + server: Server + aurora-client: Aurora's Personal Client Tweaks + option: + topHatInterceptScrolling: Offhand hat intercepts hotbar scrolling + invertTopHatScrolling: Invert hat scrolling + revealToHotbar: Write revealed values to action bar + maxExecutionsPerSpellPerTick: Max operations per tick per spell + allowSwapBedrock: Permit block swapping of bedrock + maxBlockBreakingHardness: Max hardness for Ploy of Destruction + + dragDrawing: Draw by dragging + barsHorizontal: Show spell-created bars horizontally + disableOffhandScrollOpening: Require scroll in main hand to edit \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lang/zh_cn.json b/projects/1.21-fabric/assets/trickster/trickster/lang/zh_cn.json new file mode 100644 index 000000000000..13172e952416 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lang/zh_cn.json @@ -0,0 +1,293 @@ +{ + "trickster.screen.scroll_container": "卷轴仓库", + "trickster.screen.scroll_and_quill": "卷轴与笔", + "trickster.screen.mirror_of_evaluation": "执行手镜", + "trickster.screen.sign_scroll": "为卷轴署名", + "trickster.screen.written_scroll": "定稿卷轴", + "trickster.text.misc.value_truncated": "过长值已截断", + "trickster.widget.scroll_name": "卷轴名称……", + "trickster.widget.enter_scroll_name": "输入卷轴名:", + "trickster.widget.scroll_sign_note.line0": "注意!在你署名后,", + "trickster.widget.scroll_sign_note.line1": "它将不能再被修改。", + "trickster.widget.load_button": "写入卷轴", + "trickster.message.missing_scroll": "另一只手持有卷轴与笔以导入示例法术", + "trickster.message.immutable_scroll": "无效卷轴:无法写入", + "trickster.message.loaded_example": "示例已导入!", + "trickster.message.import_example": "是否要导入此示例法术?", + "trickster.message.import_example.description": "这么做会将另一只手中卷轴与笔上的法术§l覆盖§r为该示例法术。", + "trickster.item_group": "戏法师", + "trickster.scroll_hat": "所选槽位:%d", + "trickster.scroll_executable": "单次使用(%f 千甘道夫)", + "trickster.unnamed_entity": "未命名的%s", + "trickster.trick.trickster.add": "吞并之谋略", + "trickster.trick.trickster.subtract": "遗弃之谋略", + "trickster.trick.trickster.multiply": "统治之谋略", + "trickster.trick.trickster.divide": "屈从之谋略", + "trickster.trick.trickster.modulo": "整体之曲变", + "trickster.trick.trickster.power": "至尊之曲变", + "trickster.trick.trickster.max": "高贵之谋略", + "trickster.trick.trickster.min": "低位之谋略", + "trickster.trick.trickster.ceil": "壮丽之曲变", + "trickster.trick.trickster.floor": "谦卑之曲变", + "trickster.trick.trickster.round": "客观之曲变", + "trickster.trick.trickster.sin": "甲型几何之曲变", + "trickster.trick.trickster.cos": "乙型几何之曲变", + "trickster.trick.trickster.tan": "丙型几何之曲变", + "trickster.trick.trickster.arcsin": "甲型反几何之曲变", + "trickster.trick.trickster.arccos": "乙型反几何之曲变", + "trickster.trick.trickster.arctan": "丙型反几何之曲变", + "trickster.trick.trickster.arctan2": "笛卡尔角之曲变", + "trickster.trick.trickster.if_else": "决策之曲变", + "trickster.trick.trickster.equals": "对抵之谋略", + "trickster.trick.trickster.not_equals": "失抵之谋略", + "trickster.trick.trickster.all": "无例外之谋略", + "trickster.trick.trickster.any": "通常态之谋略", + "trickster.trick.trickster.none": "缺失态之谋略", + "trickster.trick.trickster.extract_x": "甲元之曲变", + "trickster.trick.trickster.extract_y": "乙元之曲变", + "trickster.trick.trickster.extract_z": "丙元之曲变", + "trickster.trick.trickster.merge_vector": "吸收之曲变", + "trickster.trick.trickster.dot_product": "合向之曲变", + "trickster.trick.trickster.cross_product": "垂直之曲变", + "trickster.trick.trickster.normalize": "归一之曲变", + "trickster.trick.trickster.align_vector": "合向归一之曲变", + "trickster.trick.trickster.invert": "取反之曲变", + "trickster.trick.trickster.abs": "绝对主义者之曲变", + "trickster.trick.trickster.length": "模长之曲变", + "trickster.trick.trickster.two": "基础之错觉", + "trickster.trick.trickster.read_spell": "记事员之错觉", + "trickster.trick.trickster.clear_spell": "畏真者之技巧", + "trickster.trick.trickster.write_spell": "记事员之技巧", + "trickster.trick.trickster.write_closed_spell": "禁文记事员之技巧", + "trickster.trick.trickster.read_macro_ring": "宏之错觉", + "trickster.trick.trickster.reveal": "展示之谋略", + "trickster.trick.trickster.read_crow_mind": "乌鸦灵思之错觉", + "trickster.trick.trickster.write_crow_mind": "乌鸦灵思之技巧", + "trickster.trick.trickster.cost": "消耗之技巧", + "trickster.trick.trickster.reflection": "定位之错觉", + "trickster.trick.trickster.caster_reflection": "自审之错觉", + "trickster.trick.trickster.mana_reflection": "权威之错觉", + "trickster.trick.trickster.max_mana_reflection": "加冕之错觉", + "trickster.trick.trickster.facing_reflection": "朝向之错觉", + "trickster.trick.trickster.hotbar_reflection": "框选之错觉", + "trickster.trick.trickster.height_reflection": "身材之辑流", + "trickster.trick.trickster.sneaking_reflection": "换立之辑流", + "trickster.trick.trickster.sprinting_reflection": "远足之辑流", + "trickster.trick.trickster.blocking_reflection": "盾护之辑流", + "trickster.trick.trickster.raycast": "着点之辑流", + "trickster.trick.trickster.raycast_side": "承座之辑流", + "trickster.trick.trickster.raycast_entity": "标记之辑流", + "trickster.trick.trickster.get_entity_type": "动机验证之辑流", + "trickster.trick.trickster.get_position": "位置之辑流", + "trickster.trick.trickster.get_eye_position": "视角之辑流", + "trickster.trick.trickster.get_facing": "朝向之辑流", + "trickster.trick.trickster.get_max_health": "活力之辑流", + "trickster.trick.trickster.get_health": "体健之辑流", + "trickster.trick.trickster.get_armour": "垒墙之辑流", + "trickster.trick.trickster.get_velocity": "运动之辑流", + "trickster.trick.trickster.add_velocity": "动能之技巧", + "trickster.trick.trickster.change_weight": "轻羽之技巧", + "trickster.trick.trickster.store_entity": "收容之技巧", + "trickster.trick.trickster.release_entity": "释脱之技巧", + "trickster.trick.trickster.polymorph": "变身之技巧", + "trickster.trick.trickster.dispel_polymorph": "解除变身之技巧", + "trickster.trick.trickster.summon_arrow": "弩炮之技巧", + "trickster.trick.trickster.summon_fireball": "火焰术师之技巧", + "trickster.trick.trickster.summon_dragon_breath": "巨龙之技巧", + "trickster.trick.trickster.summon_tnt": "爆破师之技巧", + "trickster.trick.trickster.block_find_entity": "怀抱之辑流", + "trickster.trick.trickster.range_find_entity": "同命之辑流", + "trickster.trick.trickster.execute": "宏伟之谋略", + "trickster.trick.trickster.execute_same_scope": "静默之曲变", + "trickster.trick.trickster.fork": "器具之谋略", + "trickster.trick.trickster.fold": "折叠之曲变", + "trickster.trick.trickster.try_catch": "谨慎之谋略", + "trickster.trick.trickster.closure": "闭包之谋略", + "trickster.trick.trickster.supplier": "供给之曲变", + "trickster.trick.trickster.kill_thread": "行刑者之技巧", + "trickster.trick.trickster.current_thread": "序数之错觉", + "trickster.trick.trickster.load_argument_1": "甲参之错觉", + "trickster.trick.trickster.load_argument_2": "乙参之错觉", + "trickster.trick.trickster.load_argument_3": "丙参之错觉", + "trickster.trick.trickster.load_argument_4": "丁参之错觉", + "trickster.trick.trickster.load_argument_5": "戊参之错觉", + "trickster.trick.trickster.load_argument_6": "己参之错觉", + "trickster.trick.trickster.load_argument_7": "庚参之错觉", + "trickster.trick.trickster.load_argument_8": "辛参之错觉", + "trickster.trick.trickster.list_create": "目录之错觉", + "trickster.trick.trickster.list_add": "扩展之谋略", + "trickster.trick.trickster.list_add_range": "集合之谋略", + "trickster.trick.trickster.list_take_range": "孤立之曲变", + "trickster.trick.trickster.list_reverse": "计数之曲变", + "trickster.trick.trickster.list_insert": "膨胀之谋略", + "trickster.trick.trickster.list_get": "提取之曲变", + "trickster.trick.trickster.list_index_of": "定目之曲变", + "trickster.trick.trickster.list_remove": "驱散之谋略", + "trickster.trick.trickster.list_remove_element": "放逐之谋略", + "trickster.trick.trickster.list_size": "计量之曲变", + "trickster.trick.trickster.locate_glyph": "定址之曲变", + "trickster.trick.trickster.locate_glyphs": "发现之曲变", + "trickster.trick.trickster.retrieve_glyph": "检索之曲变", + "trickster.trick.trickster.set_glyph": "替换之曲变", + "trickster.trick.trickster.retrieve_subtree": "伐树之曲变", + "trickster.trick.trickster.set_subtree": "嫁接之曲变", + "trickster.trick.trickster.add_subtree": "分枝之曲变", + "trickster.trick.trickster.remove_subtree": "剪枝之曲变", + "trickster.trick.trickster.get_subparts": "扎束之曲变", + "trickster.trick.trickster.escape_pattern": "释义之曲变", + "trickster.trick.trickster.map_get": "领航员之曲变", + "trickster.trick.trickster.map_insert": "编表之谋略", + "trickster.trick.trickster.map_merge": "海军将领之谋略", + "trickster.trick.trickster.map_remove": "废止之谋略", + "trickster.trick.trickster.break_block": "摧毁之技巧", + "trickster.trick.trickster.place_block": "造物之技巧", + "trickster.trick.trickster.swap_block": "交换之技巧", + "trickster.trick.trickster.conjure_flower": "花卉之技巧", + "trickster.trick.trickster.conjure_water": "盈水之技巧", + "trickster.trick.trickster.conjure_light": "光辉之技巧", + "trickster.trick.trickster.power_resonator": "谐振之技巧", + "trickster.trick.trickster.heat": "赋权之技巧", + "trickster.trick.trickster.cool": "撤权之技巧", + "trickster.trick.trickster.erode": "损蚀之技巧", + "trickster.trick.trickster.get_block_hardness": "硬度之辑流", + "trickster.trick.trickster.check_block": "校验之辑流", + "trickster.trick.trickster.can_place_block": "适用之辑流", + "trickster.trick.trickster.check_resonator": "谐振之辑流", + "trickster.trick.trickster.get_redstone_power": "逻辑之辑流", + "trickster.trick.trickster.import": "协助之谋略", + "trickster.trick.trickster.import_hat": "颅骨之谋略", + "trickster.trick.trickster.check_hat": "颅骨之错觉", + "trickster.trick.trickster.set_hat": "颅骨挪移之技巧", + "trickster.trick.trickster.other_hand": "杂耍之错觉", + "trickster.trick.trickster.other_hand_slot": "抛接之错觉", + "trickster.trick.trickster.get_item_in_slot": "销赃人之辑流", + "trickster.trick.trickster.get_mana_in_slot": "权威之辑流", + "trickster.trick.trickster.get_count_in_slot": "丰裕之辑流", + "trickster.trick.trickster.get_max_mana_in_slot": "加冕之辑流", + "trickster.trick.trickster.get_inventory_slot": "侵入之辑流", + "trickster.trick.trickster.drop_stack_from_slot": "祭献之技巧", + "trickster.trick.trickster.swap_slot": "骗徒之技巧", + "trickster.trick.trickster.type_fragment": "参量之曲变", + "trickster.trick.trickster.hash_values": "衰朽之曲变", + "trickster.trick.trickster.delay_execution": "挂起之技巧", + "trickster.trick.trickster.pin_chunk": "天钉之技巧", + "trickster.trick.trickster.get_dimension": "维度之错觉", + "trickster.trick.trickster.show_bar": "清晰之技巧", + "trickster.trick.trickster.clear_bar": "混淆之技巧", + "trickster.trick.trickster.highlight": "繁盛之技巧", + "trickster.trick.trickster.draw_spell": "营销员之技巧", + "trickster.trick.trickster.draw_line": "艺术家之技巧", + "trickster.trick.trickster.get_flecks": "观察者之辑流", + "trickster.trick.trickster.get_scale": "居形之曲变", + "trickster.trick.trickster.set_scale": "居形之技巧", + "trickster.trick.trickster.transmog": "幻化之技巧", + "trickster.trick.trickster.hidden_transmog": "诡谋之技巧", + "trickster.trick.trickster.remove_transmog": "原形之技巧", + "trickster.trick.trickster.get_transmog": "幻化之辑流", + "trickster.trick.trickster.battery_creation": "望月者之技巧", + "trickster.trick.trickster.push_mana": "善流之技巧", + "trickster.trick.trickster.pull_mana": "恶流之技巧", + "trickster.trick.trickster.message_send": "派遣之技巧", + "trickster.trick.trickster.message_listen": "收据之技巧", + "trickster.fragment.trickster.type": "类型", + "trickster.fragment.trickster.number": "数", + "trickster.fragment.trickster.boolean": "布尔值", + "trickster.fragment.trickster.vector": "向量", + "trickster.fragment.trickster.list": "列表", + "trickster.fragment.trickster.map": "映射", + "trickster.fragment.trickster.void": "空类型", + "trickster.fragment.trickster.pattern": "图案", + "trickster.fragment.trickster.pattern_literal": "图案字面量", + "trickster.fragment.trickster.spell_part": "法术", + "trickster.fragment.trickster.entity": "实体", + "trickster.fragment.trickster.slot": "槽位", + "trickster.fragment.trickster.zalgo": "§kZalgo", + "trickster.fragment.trickster.item_type": "物品", + "trickster.fragment.trickster.block_type": "方块", + "trickster.fragment.trickster.entity_type": "实体类型", + "trickster.fragment.trickster.integer_list": "整数列表", + "trickster.blunder.incorrect_fragment": "索引%d处参数无效,本应传入%s,而实际为%s", + "trickster.blunder.missing_fragment": "索引%d处参数缺失,本应传入%s", + "trickster.blunder.overweight_fragment": "传出的片段过长,结果为%s", + "item.trickster.tome_of_tomfoolery": "魔术把戏秘典", + "item.trickster.mirror_of_evaluation": "执行手镜", + "item.trickster.scroll_and_quill": "卷轴与笔", + "item.trickster.scroll_and_quill_black": "黑色卷轴与笔", + "item.trickster.scroll_and_quill_blue": "蓝色卷轴与笔", + "item.trickster.scroll_and_quill_brown": "棕色卷轴与笔", + "item.trickster.scroll_and_quill_cyan": "青色卷轴与笔", + "item.trickster.scroll_and_quill_gray": "灰色卷轴与笔", + "item.trickster.scroll_and_quill_green": "绿色卷轴与笔", + "item.trickster.scroll_and_quill_light_blue": "淡蓝色卷轴与笔", + "item.trickster.scroll_and_quill_light_gray": "淡灰色卷轴与笔", + "item.trickster.scroll_and_quill_lime": "黄绿色卷轴与笔", + "item.trickster.scroll_and_quill_magenta": "品红色卷轴与笔", + "item.trickster.scroll_and_quill_orange": "橙色卷轴与笔", + "item.trickster.scroll_and_quill_pink": "粉红色卷轴与笔", + "item.trickster.scroll_and_quill_purple": "紫色卷轴与笔", + "item.trickster.scroll_and_quill_red": "红色卷轴与笔", + "item.trickster.scroll_and_quill_white": "白色卷轴与笔", + "item.trickster.scroll_and_quill_yellow": "黄色卷轴与笔", + "item.trickster.written_scroll": "定稿卷轴", + "item.trickster.written_scroll_black": "黑色定稿卷轴", + "item.trickster.written_scroll_blue": "蓝色定稿卷轴", + "item.trickster.written_scroll_brown": "棕色定稿卷轴", + "item.trickster.written_scroll_cyan": "青色定稿卷轴", + "item.trickster.written_scroll_gray": "灰色定稿卷轴", + "item.trickster.written_scroll_green": "绿色定稿卷轴", + "item.trickster.written_scroll_light_blue": "淡蓝色定稿卷轴", + "item.trickster.written_scroll_light_gray": "淡灰色定稿卷轴", + "item.trickster.written_scroll_lime": "黄绿色定稿卷轴", + "item.trickster.written_scroll_magenta": "品红色定稿卷轴", + "item.trickster.written_scroll_orange": "橙色定稿卷轴", + "item.trickster.written_scroll_pink": "粉红色定稿卷轴", + "item.trickster.written_scroll_purple": "紫色定稿卷轴", + "item.trickster.written_scroll_red": "红色定稿卷轴", + "item.trickster.written_scroll_white": "白色定稿卷轴", + "item.trickster.written_scroll_yellow": "黄色定稿卷轴", + "item.trickster.warding_charm": "戒守护符", + "item.trickster.spell_ink": "法术墨水", + "item.trickster.top_hat": "高顶礼帽", + "item.trickster.witch_hat": "女巫帽", + "item.trickster.fez": "菲斯帽", + "item.trickster.wand": "魔杖", + "item.trickster.macro_ring": "宏戒指", + "item.trickster.amethyst_knot": "紫水晶晶结", + "item.trickster.emerald_knot": "绿宝石晶结", + "item.trickster.diamond_knot": "钻石晶结", + "item.trickster.echo_knot": "回响晶结", + "item.trickster.cracked_echo_knot": "开裂的回响晶结", + "item.trickster.command_knot": "命令晶结", + "item.trickster.spell_core": "法术核心", + "item.trickster.rusted_spell_core": "生锈法术核心", + "item.trickster.ominous_spell_core": "不祥法术核心", + "block.trickster.spell_resonator": "法术谐振器", + "block.trickster.spell_construct": "法术组构台", + "block.trickster.modular_spell_construct": "模块式法术组构台", + "block.trickster.light": "光源", + "block.trickster.scroll_shelf": "卷轴架", + "effect.trickster.mana_boost": "魔力超流", + "effect.trickster.mana_deficiency": "魔力降流", + "tag.item.trickster.can_evaluate_dynamically": "可动态执行", + "tag.item.trickster.holdable_hat": "可手持帽子", + "tag.item.trickster.scrolls": "卷轴", + "tag.item.trickster.spell_cost": "法术消耗品", + "death.attack.mana_overflux": "%1$s的魔术秀不合时宜地终结了", + "death.attack.mana_overflux.player": "%2$s终止了%1$s的魔术秀", + "key.categories.trickster": "戏法师", + "key.trickster.take_hat": "取下帽子", + "key.trickster.modify_spell": "修改法术(仅创造)", + "text.config.trickster-config.title": "戏法师(Trickster)配置", + "text.config.trickster-config.section.client": "客户端", + "text.config.trickster-config.section.server": "服务端", + "text.config.trickster-config.section.aurora-client": "Aurora的专属客户端微调", + "text.config.trickster-config.option.topHatInterceptScrolling": "副手持帽子时拦截快捷栏滚选", + "text.config.trickster-config.option.invertTopHatScrolling": "反转帽子滚选方向", + "text.config.trickster-config.option.revealToHotbar": "展示的值显示到动作栏中", + "text.config.trickster-config.option.maxExecutionsPerSpellPerTick": "每个法术每刻最大执行操作次数", + "text.config.trickster-config.option.allowSwapBedrock": "允许交换基岩", + "text.config.trickster-config.option.maxBlockBreakingHardness": "摧毁之技巧可摧毁方块的最大硬度", + "text.config.trickster-config.option.dragDrawing": "拖动绘制", + "text.config.trickster-config.option.barsHorizontal": "条栏水平显示", + "text.config.trickster-config.option.disableOffhandScrollOpening": "主手持有卷轴才可修改" +} \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/concepts.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/concepts.md new file mode 100644 index 000000000000..14e5fab134fa --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/concepts.md @@ -0,0 +1,9 @@ +```json +{ + "title": "Concepts", + "icon": "trickster:top_hat", + "ordinal": -1 +} +``` + +This category contains some useful conventions and concepts used in common magics. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/delusions_ingresses.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/delusions_ingresses.md new file mode 100644 index 000000000000..01b65ce2824e --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/delusions_ingresses.md @@ -0,0 +1,15 @@ +```json +{ + "title": "Delusions & Ingresses", + "icon": "trickster:mirror_of_evaluation", + "ordinal": 1, + "parent": "trickster:tricks" +} +``` + +Delusion tricks generate a value based on context, with no input given. +These usually make up the leaf nodes of a spell tree. + + +Ingress tricks gather information based on the input given. +Unlike distortions however, they aren't guaranteed to always return the same result. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/distortions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/distortions.md new file mode 100644 index 000000000000..30a8064bc651 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/distortions.md @@ -0,0 +1,11 @@ +```json +{ + "title": "Distortions", + "icon": "trickster:scroll_and_quill", + "ordinal": 2, + "parent": "trickster:tricks" +} +``` + +Distortions are tricks that purely manipulate data. +When given the same set of inputs, these will always give the same output. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/items.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/items.md new file mode 100644 index 000000000000..27ab07573c57 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/items.md @@ -0,0 +1,9 @@ +```json +{ + "title": "Items", + "icon": "trickster:macro_ring", + "ordinal": 0 +} +``` + +Entries in this category go over some of the items available to the aspiring magician. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/ploys.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/ploys.md new file mode 100644 index 000000000000..e7b893995f43 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/ploys.md @@ -0,0 +1,14 @@ +```json +{ + "title": "Ploys", + "icon": "trickster:wand", + "ordinal": 3, + "parent": "trickster:tricks" +} +``` + +Ploys are a subset of tricks that perform actions and either alter the world, or something less substantial. + + +Often, ploys will have a mana cost. This is denoted by a swirl icon under the pattern. +Hover over the icon to see how mana cost is calculated. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tricks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tricks.md new file mode 100644 index 000000000000..d172a2862bbc --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tricks.md @@ -0,0 +1,12 @@ +```json +{ + "title": "Tricks", + "icon": "trickster:written_scroll", + "ordinal": 1 +} +``` + +Tricks are the base unit that spells are constructed from. + + +A trick takes inputs and/or outputs and either performs an operation on them, or creates side effects. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tutorials.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tutorials.md new file mode 100644 index 000000000000..233a038f8925 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/tutorials.md @@ -0,0 +1,10 @@ +```json +{ + "title": "Tutorials", + "icon": "minecraft:filled_map", + "ordinal": 2 +} +``` + +Start learning circle-based magic here. +This category contains a set of linear tutorials to take you through the most important concepts. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/concepts.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/concepts.md new file mode 100644 index 000000000000..028774a2cee8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/concepts.md @@ -0,0 +1,9 @@ +```json +{ + "title": "概念", + "icon": "trickster:top_hat", + "ordinal": -1 +} +``` + +本分类主要涉及普通魔术中一些有用的惯例和概念。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/delusions_ingresses.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/delusions_ingresses.md new file mode 100644 index 000000000000..e28dd3e154d4 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/delusions_ingresses.md @@ -0,0 +1,13 @@ +```json +{ + "title": "错觉术与辑流术", + "icon": "trickster:mirror_of_evaluation", + "ordinal": 1, + "parent": "trickster:tricks" +} +``` + +错觉术会根据上下文生成值,无需输入。通常作为法术树的叶节点存在。 + + +辑流术会根据输入收集信息。此类戏法与错觉术不同,它们多次执行产生的结果不一定一致。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/distortions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/distortions.md new file mode 100644 index 000000000000..d98692b756dd --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/distortions.md @@ -0,0 +1,10 @@ +```json +{ + "title": "曲变术", + "icon": "trickster:scroll_and_quill", + "ordinal": 2, + "parent": "trickster:tricks" +} +``` + +曲变术是仅对数据进行操作的戏法。给定相同的输入,必定得出同样的输出。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/items.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/items.md new file mode 100644 index 000000000000..cd14c55c86c4 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/items.md @@ -0,0 +1,9 @@ +```json +{ + "title": "物品", + "icon": "trickster:macro_ring", + "ordinal": 0 +} +``` + +本分类下的条目介绍了各式物品,任诸位雄心壮志的魔术师和戏法师们挑选。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/ploys.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/ploys.md new file mode 100644 index 000000000000..9e523debe481 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/ploys.md @@ -0,0 +1,13 @@ +```json +{ + "title": "技巧术", + "icon": "trickster:wand", + "ordinal": 3, + "parent": "trickster:tricks" +} +``` + +技巧术是一类戏法,能够执行特定操作,并对世界造成影响,或至少对一些事物造成影响。 + + +通常来说,技巧术会消耗魔力。有消耗的图案下方画有一个涡旋。将鼠标悬停在其上以查看消耗量的计算方式。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tricks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tricks.md new file mode 100644 index 000000000000..c06686e0b480 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tricks.md @@ -0,0 +1,12 @@ +```json +{ + "title": "戏法", + "icon": "trickster:written_scroll", + "ordinal": 1 +} +``` + +戏法是法术的基本构成单元。 + + +戏法会接收输入、输出、或二者均取,并对其执行一定的操作,或是产生些许副作用。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tutorials.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tutorials.md new file mode 100644 index 000000000000..dc984ed4de90 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/categories/tome_of_tomfoolery/zh_cn/tutorials.md @@ -0,0 +1,10 @@ +```json +{ + "title": "教程", + "icon": "minecraft:filled_map", + "ordinal": 2 +} +``` + +圆环魔术就此开始。 +本分类下有若干按序排布的教程,以手把手教导最为重要的概念。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/macro.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/macro.md new file mode 100644 index 000000000000..687db5a902e0 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/macro.md @@ -0,0 +1,30 @@ +```json +{ + "title": "Macros", + "icon": "trickster:macro_ring", + "category": "trickster:concepts" +} +``` + +Macros allow you to create your own revisions to aid with spell scribing. + + +A [map](^trickster:distortions/map) that links a set of patterns to a set of spells is used to define macros. +These maps, when inscribed into any ring and worn in a ring slot, will be checked for keys matching any drawn patterns. + +;;;;; + +A simple [Macro Ring](^trickster:items/ring) can be used for this purpose if no other rings are available. + + +If a macro for a drawn pattern is found, the associated spell will be cast and given one argument: +A copy of the circle it is drawn in. +The spell is then expected to return a new spell fragment to replace the fragment given. + + +This effectively lets anyone create their own set of revisions. + +;;;;; + +Note: Macro spells are not capable of [long casting](^trickster:concepts/multi_tick). +This means they do not take a spell slot, but also can't run more than about 64 circles. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/mana.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/mana.md new file mode 100644 index 000000000000..823a4fb41b3a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/mana.md @@ -0,0 +1,30 @@ +```json +{ + "title": "Mana", + "icon": "minecraft:glow_ink_sac", + "category": "trickster:concepts" +} +``` + +Mana is what fuels ploys. It is the cost of manipulating the world. + + +As is tradition, amounts of Mana are measured in Gandalfs, or G, named after a certain famous wizard. +One Gandalf being defined as the amount of magical energy required to light a candle. + +;;;;; + +Any amount of Mana that is lesser than one kiloGandalf, or kG is generally considered negligible. + + +Draw rate, or any change in Mana, is measured in Merlins, or M. +Merlins are defined as Gandalfs per Tick, +Ticks being the smallest unit of meaningful time, at 1/20th of a second. + + +For example, a spell drawing 50 M would consume 1 kiloGandalf per second. + +;;;;; + +Mana can be persistently stored and acquired via Knots. +See [this entry](^trickster:items/knots) for more information on those. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/multi_tick.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/multi_tick.md new file mode 100644 index 000000000000..ba8c96d520aa --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/multi_tick.md @@ -0,0 +1,37 @@ +```json +{ + "title": "Long Spells", + "icon": "minecraft:clock", + "category": "trickster:concepts" +} +``` + +Spells do not all execute instantly. Unless cast through a mirror, a big enough spell limits execution to a certain amount of circles per second. +It may even run forever, +provided its caster remains alive, the spell does not blunder, and it never runs out of circles to execute. + +;;;;; + +To cast a spell capable of running long, a free spell slot is required, even if the spell completes within one twentieth of a second. + + +Without an empty spell slot, no spells can be cast except through a mirror. Spell slots may be viewed from the caster's inventory. + +;;;;; + +Spell slots have the following states: + +- inactive (collapsed) +- inactive and blundered (red) +- active and okay (green) +- active and at maximum executions per second (orange) +- active but waiting (white) + +;;;;; + +Patterns that execute spell fragments create sub-spells within their current spell. +A spell may not have a sub-spell more than 255 spells deep, +and will blunder if such a thing is attempted. + + +If a so-called forking pattern is *effectively* the final pattern in the current spell, **this limit is ignored**. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/signatures.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/signatures.md new file mode 100644 index 000000000000..8afd3f97f678 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/signatures.md @@ -0,0 +1,9 @@ +```json +{ + "title": "Trick Signatures", + "icon": "minecraft:writable_book", + "category": "trickster:concepts" +} +``` + +Coming soon! Ask for help in Discord if you get stuck! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trace.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trace.md new file mode 100644 index 000000000000..c52efb8e0fe0 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trace.md @@ -0,0 +1,27 @@ +```json +{ + "title": "Stack Traces", + "icon": "minecraft:tripwire_hook", + "category": "trickster:concepts" +} +``` + +Spell failures are referred to as *blunders*. When a spell blunders, a stack trace is printed out, +signifying *where* in the spell the failure occurred. Stack traces are colon-separated lists of characters of three varieties: + +- # (pound/hashtag) +- \> (chevron/angle bracket) +- any number + +;;;;; + +The numbers are input indexes, +while both the chevrons and hashtags indicate a change of context into a different spell fragment. +The former indicates a fragment provided by the current spell, +while the latter means the fragment came from elsewhere. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Indexes|>Each circle in a spell has a number, an *index*, +that states its position relative to its parent. The purple pin on the parent circle is always counter-clockwise of the first subcircle, +which has an index of zero. Each subcircle clockwise of the first subcircle has an index one greater than the one before it. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/tricks_explanation.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/tricks_explanation.md new file mode 100644 index 000000000000..2dd0a40d0596 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/tricks_explanation.md @@ -0,0 +1,22 @@ +```json +{ + "title": "Trick Types", + "icon": "minecraft:oak_leaves", + "category": "trickster:concepts" +} +``` + +All tricks fit in the following categories: + +- Delusion: no-input value-generating tricks +- Distortion: fixed-input pure tricks +- Ingress: tricks that gather information based on input +- Ploy: input-only and/or mana-consuming tricks + +;;;;; + +- Revision: scribing patterns +- Stratagem: any trick that operates on a variable amount of inputs + +These categories are roughly followed, but in many cases, +tricks will be sorted based more on intention than rigid definition. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trigger_items.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trigger_items.md new file mode 100644 index 000000000000..c23b870ca253 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/trigger_items.md @@ -0,0 +1,26 @@ +```json +{ + "title": "Trigger Items", + "icon": "minecraft:diamond_sword", + "category": "trickster:concepts" +} +``` + +While the [Wand](^trickster:items/wand) is the most common, and most versatile, way of quickly casting spells, it is not the only one available. +Other items may cast their inscribed spell upon certain criteria being met. These items and their criteria are described here. + +;;;;; + +<|page-title@lavender:book_components|title=Warrior's Rage|>On tools and melee weapons, +the Warrior's Rage executes the inscribed spell when bringing harm to an entity. The targeted entity is received as the first argument. + +;;;;; + +<|page-title@lavender:book_components|title=Prospector's Glee|>Prior to destroying a block, +the Prospector's Glee begins the spell inscribed on the held tool. The position of the breaking block is received as the first argument. + +;;;;; + +<|page-title@lavender:book_components|title=Performer's Grace|>Moments before touching down on a block, +the Performer's Grace triggers a spell inscribed in footwear. The distance that the wearer fell is passed as the first argument. +When held back by water, there is no Grace to the Performer. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/ward.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/ward.md new file mode 100644 index 000000000000..fa393a8f63a8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/concepts/ward.md @@ -0,0 +1,20 @@ +```json +{ + "title": "Wards", + "icon": "minecraft:shield", + "category": "trickster:concepts" +} +``` + +Wards are defensive spells that are cast when you are the target of a ploy. +Your ward receives the caster, and a list containing the inputs the caster is passing to the triggering glyph. +The expected signature for a ward is the following: + +--- + +entity | vector, any[] -> + +;;;;; + +The ward used is retrieved from the combined maps of all charms worn by the target, where the key is the triggering glyph. +The triggered ward requires an empty spell slot to be run, but begins prior to the execution of the triggering glyph. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/constants.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/constants.md new file mode 100644 index 000000000000..a74fc83cfdd9 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/constants.md @@ -0,0 +1,38 @@ +```json +{ + "title": "Constants", + "icon": "minecraft:bedrock" +} +``` + +Described here are scribing patterns which set the glyph they are drawn in to a literal value. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,4\,7,title=Foundational Revision|> + +{gray}(Scribing pattern){} + +--- + +Replaces the glyph with the number two. + +;;;;; + +<|pattern@trickster:templates|pattern=6\,3\,0\,2\,5\,8,title=Catalogue Revision|> + +{gray}(Scribing pattern){} + +--- + +Replaces the glyph with an empty list. + +;;;;; + +<|pattern@trickster:templates|pattern=2\,5\,8\,6\,3\,0,title=Atlas Delusion|> + +{gray}(Scribing pattern){} + +--- + +Replaces the glyph with an empty map. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/arguments.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/arguments.md new file mode 100644 index 000000000000..fe26b809112f --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/arguments.md @@ -0,0 +1,95 @@ +```json +{ + "title": "Arguments", + "icon": "minecraft:map", + "category": "trickster:delusions_ingresses" +} +``` + +Fragments can be passed into executed [spell fragments](^trickster:distortions/functions) as arguments. + + +These fragments can be retrieved within the spell fragment using a set of specific glyphs. + + +At a maximum, eight arguments can be passed into a spell fragment. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_1,title=Primary Delusion|> + +-> any + +--- + +Returns the first argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_2,title=Secondary Delusion|> + +-> any + +--- + +Returns the second argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_3,title=Tertiary Delusion|> + +-> any + +--- + +Returns the third argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_4,title=Quaternary Delusion|> + +-> any + +--- + +Returns the fourth argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_5,title=Quinary Delusion|> + +-> any + +--- + +Returns the fifth argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_6,title=Senary Delusion|> + +-> any + +--- + +Returns the sixth argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_7,title=Septenary Delusion|> + +-> any + +--- + +Returns the seventh argument passed, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_8,title=Octonary Delusion|> + +-> any + +--- + +Returns the eighth argument passed, if available. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/block.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/block.md new file mode 100644 index 000000000000..dd289302ef1a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/block.md @@ -0,0 +1,59 @@ +```json +{ + "title": "Block Querying", + "icon": "minecraft:white_wool", + "category": "trickster:delusions_ingresses" +} +``` + +This entry contains tricks that query or inspect blocks in the world. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_block,title=Ingress of Validation|> + +vector -> block + +--- + +Returns the block type at the given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_block_hardness,title=Ingress of Hardness|> + +vector -> number + +--- + +Returns the hardness of the block at the given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:can_place_block,title=Ingress of Suitability|> + +vector, [block] -> boolean + +--- + +Returns whether the given block can be placed at the given position. If no block is given, returns whether the position is replaceable. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_redstone_power,title=Ingress of Logic|> + +vector -> number + +--- + +Returns the redstone power level inputted into the given block position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_resonator,title=Ingress of Resonance|> + +vector -> number + +--- + +Returns the power level of the [Spell Resonator](^trickster:items/spell_resonator) at the given position. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/caster_tricks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/caster_tricks.md new file mode 100644 index 000000000000..6a468191f100 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/caster_tricks.md @@ -0,0 +1,99 @@ +```json +{ + "title": "Casting Context", + "icon": "trickster:wand", + "category": "trickster:delusions_ingresses" +} +``` + +This entry contains delusion tricks that retrieve context about the casting entity or block. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:reflection,title=Positioning Delusion|> + +-> vector + +--- + +Returns the location the spell is being cast from. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:facing_reflection,title=Directional Delusion|> + +-> vector + +--- + +Returns the direction the casting block or entity is facing as a unit vector, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:caster_reflection,title=Reflection Delusion|> + +-> entity + +--- + +Returns the entity casting the spell. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_dimension,title=Dimensional Delusion|> + +-> dimension + +--- + +Returns the dimension which the caster is in. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:mana_reflection,title=Authority Delusion|> + +-> number + +--- + +Returns the amount of mana directly available to the spell. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:max_mana_reflection,title=Crowning Delusion|> + +-> number + +--- + +Returns the maximum amount of mana that *could be* available to the spell. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:current_thread,title=Delusion of Order|> + +-> number + +--- + +Returns the slot running this spell, or -1 if slots are not supported. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hotbar_reflection,title=Framed Delusion|> + +-> number + +--- + +Returns the selected hotbar slot of the caster, if available. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_macro_ring,title=Macro Delusion|> + +-> {pattern: spell} + +--- + +Retrieves a map containing the combined maps of all rings worn. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity.md new file mode 100644 index 000000000000..4cdf63f000cf --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity.md @@ -0,0 +1,149 @@ +```json +{ + "title": "Entity Querying", + "icon": "minecraft:cow_spawn_egg", + "category": "trickster:delusions_ingresses" +} +``` + +Various tricks related to gathering data about entities. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_entity_type,title=Motive Verification Ingress|> + +entity -> entity_type + +--- + +Given an entity, returns its type. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_position,title=Locational Ingress|> + +entity -> vector + +--- + +Given an entity, returns its position in the world. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_eye_position,title=Perspective Ingress|> + +entity -> vector + +--- + +Given an entity, returns the position of its head. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_facing,title=Directional Ingress|> + +entity -> vector + +--- + +Given an entity, returns its facing as a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_velocity,title=Movement Ingress|> + +entity -> vector + +--- + +Given an entity, returns its current velocity as a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:height_reflection,title=Stature Ingress|> + +entity -> number + +--- + +Given an entity, returns its height in blocks. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sneaking_reflection,title=Alternative Ingress|> + +entity -> boolean + +--- + +Given an entity, returns whether the entity is crouching. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sprinting_reflection,title=Trekking Ingress|> + +entity -> boolean + +--- + +Given an entity, returns whether the entity is sprinting. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:blocking_reflection,title=Guard Ingress|> + +entity -> boolean + +--- + +Given an entity, returns whether the entity is blocking using a shield. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_max_health,title=Vigor Ingress|> + +entity -> number + +--- + +Given an entity, returns its maximum health. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_health,title=Fettle Ingress|> + +entity -> number + +--- + +Given an entity, returns its current health. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_armour,title=Bulwark Ingress|> + +entity -> number + +--- + +Given an entity, returns its total armor value. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_scale,title=Distortion of Ingress|> + +entity -> number + +--- + +Returns the scale of the given entity. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_flecks,title=Observer's Ingress|> + +[entity] -> number[] + +--- + +Returns the identifiers of all the flecks the caster or the given player can see. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity_locating.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity_locating.md new file mode 100644 index 000000000000..e9221fee799c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/entity_locating.md @@ -0,0 +1,29 @@ +```json +{ + "title": "Entity Targeting", + "icon": "minecraft:chicken_spawn_egg", + "category": "trickster:delusions_ingresses" +} +``` + +Tricks to help find and target entities in the world. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:block_find_entity,title=Embracing Ingress|> + +vector, [entity_type] -> entity + +--- + +Finds an entity at a specific block position, optionally restricted by entity type. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:range_find_entity,title=Ingress of Shared Fate|> + +vector, number, [entity_type] -> entity[] + +--- + +Finds all entities in the provided range around a specific block position. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/imports.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/imports.md new file mode 100644 index 000000000000..52a0988face8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/imports.md @@ -0,0 +1,35 @@ +```json +{ + "title": "Reusability", + "icon": "trickster:top_hat", + "category": "trickster:delusions_ingresses" +} +``` + +Multiple patterns exist for easy reusability of spell fragments stored in the caster's inventory. + + +These directly execute spells stored in items with given arguments, +which can potentially return fragments back to the calling spell, +or have other side effects. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:import,title=Assistance Stratagem|> + +item, any... -> any + +--- + +Searches the caster's inventory for a specific item. +The first item found with an inscribed spell will be cast with the provided arguments. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:import_hat,title=Cranium Stratagem|> + +number, any... -> any + +--- + +Grabs the spell from the specified slot in the caster's [Top Hat](^trickster:items/top_hat), casts it with the provided arguments, and returns the result. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/inventory.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/inventory.md new file mode 100644 index 000000000000..14a23428bf56 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/inventory.md @@ -0,0 +1,116 @@ +```json +{ + "title": "Inventory Information", + "icon": "minecraft:bundle", + "category": "trickster:delusions_ingresses" +} +``` + +Tricks that pull information from the caster's inventory. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_item_in_slot,title=Fence's Ingress|> + +slot -> item + +--- + +Returns the type of item that the given slot contains. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:other_hand,title=Juggling Delusion|> + +-> item + +--- + +Returns the type of item in the caster's other hand. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Slot References|>Item slots may be referenced by spells. +Creating such a reference comes at no cost. However, using the reference in a way that moves the items within the slot, will incur a move cost. +This cost is equivalent to 8kG + (distance * amount * 0.5kG). Slot references will always point to a block position, or use the *current caster at the time of move*. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:other_hand_slot,title=Catch Delusion|> + +-> slot + +--- + +Returns a slot reference of the caster's other hand. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_inventory_slot,title=Intrusive Ingress|> + +number, [vector | entity] -> slot + +--- + +Constructs a slot from an index and an inventory source, using the caster by default. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_hat,title=Cranium Delusion|> + +-> number | void + +--- + +Returns the selected slot in the caster's [Top Hat](^trickster:items/top_hat). + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_mana_in_slot,title=Ingress of Authority|> + +slot... -> number + +--- + +Returns the amount of mana in the given slots. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_max_mana_in_slot,title=Crowning Ingress|> + +slot... -> number + +--- + +Returns the maximum amount of mana which may be stored in the given slots. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_count_in_slot,title=Ingress of Plenitude|> + +slot -> number + +--- + +Returns the amount of items stored in the given slot. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:block_from_item,title=Placement Distortion|> + +item -> block | void + +--- + +Returns the block type the given item type can be placed as, or void if the item is not a block. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:item_from_block,title=Pickup Distortion|> + +block -> item | void + +--- + +Returns the item type that can be used to place the given block type, +or void if the block doesn't have a corresponding item. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/raycast.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/raycast.md new file mode 100644 index 000000000000..d8fae615df9f --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/delusions_ingresses/raycast.md @@ -0,0 +1,49 @@ +```json +{ + "title": "Raycasting", + "icon": "minecraft:spectral_arrow", + "category": "trickster:delusions_ingresses" +} +``` + +Raycasting tricks take either an entity or a position and a direction, and will return what the entity is looking at, +or what the vectors are pointing to. + + +Raycasts which target blocks may optionally be made to hit fluids if their last argument is true. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast,title=Pinpoint Ingress|> + +entity, [boolean] -> vector | + +vector, vector, [boolean] -> vector + +--- + +Returns the block that is hit. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast_side,title=Bearing Ingress|> + +entity, [boolean] -> vector | + +vector, vector, [boolean] -> vector + +--- + +Returns a vector representing the side of the block that is hit. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast_entity,title=Mark Ingress|> + +entity -> entity | + +vector, vector -> entity + +--- + +Returns the entity that is hit. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/arithmetic.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/arithmetic.md new file mode 100644 index 000000000000..99d57a2cd8f2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/arithmetic.md @@ -0,0 +1,226 @@ +```json +{ + "title": "Arithmetic", + "icon": "minecraft:copper_bulb", + "category": "trickster:distortions" +} +``` + +The following patterns regard basic arithmetic and simple mathematical operations. + + +Many base arithmetical operations, though not all, will work on both single numbers and vectors. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add,title=Annexation Stratagem|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +Adds many numbers or vectors into a single value. +A number and a vector will combine into a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:subtract,title=Desertion Stratagem|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +Subtracts many numbers or vectors into a single value. +A number and a vector will combine into a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:multiply,title=Domination Stratagem|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +Multiplies many numbers or vectors into a single value. +A number and a vector will combine into a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:divide,title=Submission Stratagem|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +Divides many numbers or vectors into a single value. +A number and a vector will combine into a vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:modulo,title=Distortion of Wholes|> + +number, number -> number + +--- + +Returns the remainder of dividing the first number by the second number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:power,title=Distortion of Supremacy|> + +number, number -> number + +--- + +Returns the first number raised to the power of the second. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:max,title=Noble Stratagem|> + +number... | number[] -> number + +--- + +Returns the highest of many input values. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:min,title=Insignificance Stratagem|> + +number... | number[] -> number + +--- + +Returns the lowest of many input values. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:ceil,title=Distortion of Grandeur|> + +number -> number + +--- + +Returns the value of the input rounded up. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:floor,title=Distortion of Humility|> + +number -> number + +--- + +Returns the value of the input rounded down. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:round,title=Distortion of Objectivity|> + +number -> number + +--- + +Returns the rounded value of the input. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sqrt,title=Distortion of Decline|> + +number -> number + +--- + +Returns the square root of the input. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:invert,title=Negation Distortion|> + +number -> number | vec -> vec + +--- + +Inverts the given number or vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:abs,title=Absolutist's Distortion|> + +number -> number + +--- + +If the given number is negative, returns its positive equivalent. Otherwise, does nothing. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sin,title=Primary Distortion of Geometry|> + +number -> number + +--- + +Returns the sine of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cos,title=Secondary Distortion of Geometry|> + +number -> number + +--- + +Returns the cosine of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:tan,title=Tertiary Distortion of Geometry|> + +number -> number + +--- + +Returns the tangent of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arcsin,title=Primary Inverse Distortion of Geometry|> + +number -> number + +--- + +Returns the arcsine of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arccos,title=Secondary Inverse Distortion of Geometry|> + +number -> number + +--- + +Returns the arccosine of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arctan,title=Tertiary Inverse Distortion of Geometry|> + +number -> number + +--- + +Returns the arctangent of the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arctan2,title=Cartesian Angle Distortion|> + +number, number -> number + +--- + +Returns the angle measure between positive X axis and the ray from the origin to the point (y, x). \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/boolean.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/boolean.md new file mode 100644 index 000000000000..7628ea27469e --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/boolean.md @@ -0,0 +1,94 @@ +```json +{ + "title": "Boolean Logic", + "icon": "minecraft:comparator", + "category": "trickster:distortions" +} +``` + +This chapter describes a few patterns that can be used to perform boolean logic operations. + + +While glyphs here may indicate they require a boolean input, +it is worth noting that any fragment will be automatically coerced into a boolean value when required. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:if_else,title=Decision Distortion|> + +boolean, any, any -> any + +--- + +Returns one of two provided options based on a boolean value. +If true, the first option is returned. Otherwise, the second. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:equals,title=Parity Stratagem|> + +any... -> boolean + +--- + +Checks for equality between many inputs. Will only return true if all inputs are equal. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:not_equals,title=Disparity Stratagem|> + +any... -> boolean + +--- + +Checks for inequality between many inputs. Will return false if any input is equal to any other. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:all,title=Stratagem Bar None|> + +boolean... -> boolean + +--- + +Will only return true if all inputs are true. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:any,title=Stratagem In General|> + +boolean... -> boolean + +--- + +Will return true if any provided input is true. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:none,title=Stratagem In Absence|> + +boolean... -> boolean + +--- + +Will return true if none of the provided inputs are true. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:lesser_than,title=Lesser Distortion|> + +number, number -> boolean + +--- + +Returns whether the first number is lesser than the second. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:greater_than,title=Greater Distortion|> + +number, number -> boolean + +--- + +Returns whether the first number is greater than the second. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/functions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/functions.md new file mode 100644 index 000000000000..d7520f1fbdd1 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/functions.md @@ -0,0 +1,134 @@ +```json +{ + "title": "Spell Fragments", + "icon": "minecraft:paper", + "category": "trickster:distortions" +} +``` + +Just as values can be created, passed around, and used by spells, so can parts of the spell itself. + + +When nesting one circle as a glyph inside another, +but not immediately providing any subcircles to the upper circle, +the upper circle will return the inner circle as a fragment. + +;;;;; + +This fragment can then be used in a number of ways, including being written to an item using [Notulist's Ploy](^trickster:tricks/basic#4), +and being cast later or even multiple times within the same spell. + + +It is also very possible to pass a spell fragment inside of itself, and execute it again there, +using recursion to create what is essentially a loop. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:execute,title=Grand Stratagem|> + +spell, any... -> any + +--- + +A powerful trick indeed, it executes the passed in spell fragment, +providing it with all other passed in fragments as arguments. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:execute_same_scope,title=Quiet Distortion|> + +spell -> any + +--- + +Executes the given spell with the current spell's arguments. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:fork,title=Utensil Stratagem|> + +spell, any... -> number + +--- + +Dispatches the given spell to a free spell slot. The used spell slot is returned, or a negative if it failed. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Collections|>Collections are fragments which contain other fragments and may be accessed using a specific key. +Lists are collections where the key is a whole number between zero and the size of the list, exclusive. +Maps are also collections, though their keys may be any value and aren't automatically determined by order of insertion. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:fold,title=Folding Distortion|> + +spell, collection, any -> any + +--- + +For each entry in the collection, execute the given spell, with the given fragment as the first result. + +;;;;; + +Each iteration receives four arguments: + +--- + +any, any, any, collection + +--- + +Where the first argument is the result of the last iteration, the second is the current value, the third is its key, +and the fourth is the given collection. + +;;;;; + +The result of each execution is passed as the first argument to the next, where the last's result is the return of this trick. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:try_catch,title=Cautious Stratagem|> + +spell, spell, any... -> any + +--- + +Attempts to execute the first spell. If it blunders, the second spell is run and the blunder is silenced. Excess values are arguments to both. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:atomic,title=Stratagem of Singularity|> + +spell, any... -> any + +--- + +Executes the given spell in a single tick, blundering if it's not possible due to spell size or illegal operations. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:supplier,title=Supply Distortion|> + +any -> spell + +--- + +Creates a new spell fragment which returns the previously provided fragment when executed. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:closure,title=Closure Stratagem|> + +spell, {any: any} -> spell + +--- + +Replaces the keys of the map that are in the given spell with the value they map to. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Arguments|>Fragments can be passed into executed spell fragments as arguments. + + +See the chapter on [arguments](^trickster:delusions_ingresses/arguments) for more information. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md new file mode 100644 index 000000000000..f0caf6b68051 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md @@ -0,0 +1,112 @@ +```json +{ + "title": "List Manipulation", + "icon": "minecraft:string", + "category": "trickster:distortions" +} +``` + +Within spells, it is possible to create lists of an arbitrary amount of fragments merged into a single value. + + +Lists are zero indexed. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_size,title=Tally Distortion|> + +any[] -> number + +--- + +Returns the amount of elements in the given list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_add,title=Expansion Stratagem|> + +any[], any... -> any[] + +--- + +Appends one or many elements to the end of the given list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_add_range,title=Collection Stratagem|> + +any[], any[]... -> any[] + +--- + +Creates a new list containing the elements of all given lists. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_take_range,title=Isolation Distortion|> + +any[], number, [number] -> any[] + +--- + +Returns a list containing the elements of the given list with indexes starting at the first number and ending before the second. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_reverse,title=Counter Distortion|> + +any[] -> any[] + +--- + +Returns the given list, reversed. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_insert,title=Inflation Stratagem|> + +any[], number, any... -> any[] + +--- + +Inserts one or many elements at a specific position in the given list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_get,title=Extraction Distortion|> + +any[], number -> any + +--- + +Finds and returns an element from the given list based on index. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_index_of,title=Locating Distortion|> + +any[], any -> number | void + +--- + +Finds and returns the index of a specific element in the given list, or void if the element is not in the list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_remove,title=Expulsion Stratagem|> + +any[], number... -> any[] + +--- + +Removes one or many elements from the given list by their index. Indexes do not move around mid-removal. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_remove_element,title=Eviction Stratagem|> + +any[], any... -> any[] + +--- + +Removes one or many elements from the given list by checking their equality with the set of given fragments. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/map.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/map.md new file mode 100644 index 000000000000..f4b70f0fb079 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/map.md @@ -0,0 +1,52 @@ +```json +{ + "title": "Map Manipulation", + "icon": "minecraft:filled_map", + "category": "trickster:distortions" +} +``` + +This chapter describes patterns that can be used to work with maps. +Maps allow for an association between one fragment and another, +similarly to how a dictionary associates a word to a definition. + + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_insert,title=Charting Stratagem|> + +{any: any}, [any, any]... -> any + +--- + +Inserts key-value pairs into the given map. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_get,title=Navigator's Distortion|> + +{any: any}, any -> any + +--- + +If there is a value associated with the given fragment, returns it. Otherwise, returns void. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_merge,title=Admiral's Stratagem|> + +{any: any}, {any: any}... -> {any: any} + +--- + +Combines many maps into one. Duplicate entries are prioritized by input index. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_remove,title=Stratagem of Annulment|> + +{any: any}, any... -> {any: any} + +--- + +Removes entries from the given map which have any of the given keys. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/misc.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/misc.md new file mode 100644 index 000000000000..ba4fbad93f16 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/misc.md @@ -0,0 +1,39 @@ +```json +{ + "title": "Misc Distortions", + "icon": "minecraft:iron_nugget", + "category": "trickster:distortions" +} +``` + +A few miscellaneous distortions that don't fit into any other category. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:type_fragment,title=Argumentative Distortion|> + +any -> type + +--- + +Returns the type of the given fragment. Can be used to validate inputs, among other things. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hash_values,title=Decaying Distortion|> + +[any]... -> number + +--- + +Combines all given inputs into a single number. The same inputs will always produce the same number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:escape_pattern,title=Interpretation Distortion|> + +pattern -> pattern_literal + +--- + +Converts a pattern into a literal representation of itself, to be used when constructing spells. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/tree.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/tree.md new file mode 100644 index 000000000000..20b8323afa48 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/tree.md @@ -0,0 +1,114 @@ +```json +{ + "title": "Spell Manipulation", + "icon": "minecraft:oak_sapling", + "category": "trickster:distortions" +} +``` + +Although [Scribing Patterns](^trickster:editing) allow for spells to be edited before they are cast, +the following patterns allow for a spell to modify other spells *during* the cast. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Addresses|>Just as elements of a list are accessed by their index, +parts of a spell are accessed by their address. +An address is a list of integers that forms a path to a specific circle in a spell. + +;;;;; + +To find the address of a circle, start at the central circle in the spell. Next, find the sub-circle attached to the central circle that is in the +path to the circle you are finding the address of. Take the index of that circle, which is the number of circles that come before it, counterclockwise. +Repeat this process, adding each index to the list until you reach the circle you are finding the address of. The list you constructed is the address to +that circle. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:locate_glyph,title=Pinpoint Distortion|> + +spell, any -> number[] | void + +--- + +Returns the address of the first circle in the given spell with a glyph matching the given fragment. +The spell is searched using [BFS](https://en.wikipedia.org/wiki/Breadth-first_search). + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:locate_glyphs,title=Discovering Distortion|> + +spell, any -> number[][] + +--- + +Returns a list of all the addresses of circles in the given spell with a glyph matching the given fragment. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:retrieve_glyph,title=Retrieval Distortion|> + +spell, number[] -> any + +--- + +Returns the glyph of the circle at the given address. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_glyph,title=Replacement Distortion|> + +spell, number[], any -> spell + +--- + +Replaces the glyph of the circle at the given address with the given fragment. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_subparts,title=Bundle Distortion|> + +spell -> spell[] + +--- + +Returns the branches of a spell as a list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:retrieve_subtree,title=Felling Distortion|> + +spell, number[] -> spell | void + +--- + +Returns the circle (and its branches) at the given address. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_subtree,title=Grafting Distortion|> + +spell, number[], spell -> spell + +--- + +Grafts the latter spell into the former, replacing the circle at the given address. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add_subtree,title=Branching Distortion|> + +spell, number[], spell -> spell + +--- + +Attaches the latter spell to the circle at the given address as a new branch. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:remove_subtree,title=Pruning Distortion|> + +spell, number[] -> spell | void + +--- + +Removes the circle at the given address. Returns void if the root node is removed. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/vector.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/vector.md new file mode 100644 index 000000000000..136f77827472 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/distortions/vector.md @@ -0,0 +1,103 @@ +```json +{ + "title": "Vector Operations", + "icon": "minecraft:arrow", + "category": "trickster:distortions" +} +``` + +While much vector math can be done with basic [arithmetic](^trickster:distortions/arithmetic) patterns, +some operations require more specialized functionality. +This chapter provides some of these. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_x,title=Primary Distortion|> + +vector -> number + +--- + +Returns the X component of the given vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_y,title=Secondary Distortion|> + +vector -> number + +--- + +Returns the Y component of the given vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_z,title=Tertiary Distortion|> + +vector -> number + +--- + +Returns the Z component of the given vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:merge_vector,title=Absorption Distortion|> + +number, number, number | + +number[] -> vector + +--- + +Merges three input numbers into a vector. Inputs may be provided by a list. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:length,title=Magnitude Distortion|> + +vector -> number + +--- + +Returns the length of the given vector. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:dot_product,title=Alignment Distortion|> + +vector, vector -> number + +--- + +Returns the dot product of the given vectors. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cross_product,title=Perpendicular Distortion|> + +vector, vector -> vector + +--- + +Returns the cross product of the given vectors. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:normalize,title=Regularity Distortion|> + +vector -> vector + +--- + +Normalizes the given vector to a length of one. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:align_vector,title=Aligned Regularity Distortion|> + +vector -> vector + +--- + +Normalizes the given vector to a length of one and aligns it to the nearest cardinal axis. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/editing.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/editing.md new file mode 100644 index 000000000000..458dace820c3 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/editing.md @@ -0,0 +1,247 @@ +```json +{ + "title": "Spell-Scribing", + "icon": "trickster:scroll_and_quill", + "ordinal": 1 +} +``` + +<|pattern@trickster:templates|pattern=0\,4\,8\,7,title=Extensive Revision|> + +{gray}(Scribing pattern){} + +--- + +Can be used to add a new subcircle to any circle. + +;;;;; + +![](trickster:textures/gui/img/extension_revision.png,fit) + +When Extensive Revision is drawn in the blue circle, the green circle will be created. + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8\,5,title=Inner Revision|> + +{gray}(Scribing pattern){} + +--- + +Adds a new inner circle to an existing circle. +Inner circles act like glyphs, and can be activated as such. +See [Spell Fragments](^trickster:distortions/functions). + +;;;;; + +![](trickster:textures/gui/img/inner_revision.png,fit) + +When Inner Revision is drawn in the outer blue circle, the green circle will be created. + +;;;;; + +An inner circle acts like a glyph, +either returning its value, or being executed with arguments. + + +When no subcircles are connected to it, +the circle containing the inner circle will return the inner circle as a spell fragment. +This can be used for meta-programming, recursion, and permanent storage of dynamic spells, among other things. + +;;;;; + +When the circle *does* have connected subcircles, +it executes the inner circle directly as if it was called by a [Grand Stratagem](^trickster:distortions/functions#3), +using the results from the subcircles connected to the outer circle as parameters. + + +This can be very useful when needing to use one value in multiple places, +as inner circles and spell fragments are the only way to move fragments back to the leaves of a tree. + +;;;;; + +<|pattern@trickster:templates|pattern=3\,0\,4\,8,title=Split Revision|> + +{gray}(Scribing pattern){} + +--- + +Replaces the circle it is drawn in with a new circle, with the old circle as a subcircle. + +;;;;; + +![](trickster:textures/gui/img/split_revision.png,fit) + +When Split Revision is drawn in the blue circle, it adds it as a subcircle to the newly created green circle. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,4\,8,title=Growth Revision|> + +{gray}(Scribing pattern){} + +--- + +Nests the circle it is drawn in inside another circle as its inner circle. + +;;;;; + +![](trickster:textures/gui/img/growth_revision.png,fit) + +When Growth is drawn in the blue circle, it adds it as an inner circle to the newly created green circle. + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8,title=Grafting Revision|> + +{gray}(Scribing pattern){} + +--- + +Removes the circle it is drawn in. Will Replace it with the original circle's first subcircle if available. + +;;;;; + +![](trickster:textures/gui/img/grafting_revision.png,fit) + +When Grafting is drawn in the yellow circle, it and the red circle are deleted and replaced by the green circle. + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8\,5\,2\,1\,0\,3\,6\,7\,8,title=Pruning Revision|> + +{gray}(Scribing pattern){} + +--- + +Removes the circle it is drawn in and any attached subcircles. + +;;;;; + +![](trickster:textures/gui/img/pruning_revision.png,fit) + +When Pruning Revision is drawn in the yellow circle, it and the red circles are deleted. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,4\,6,title=Ascension Revision|> + +{gray}(Scribing pattern){} + +--- + +Expands the circle it is drawn in to replace its outer circle. + +;;;;; + +![](trickster:textures/gui/img/ascension_revision.png,fit) + +When Ascension Revision is drawn in the blue circle, it deletes and replaces the red circle. + +;;;;; + +<|pattern@trickster:templates|pattern=6\,3\,0\,4\,8,title=Devotion Revision|> + +{gray}(Scribing pattern){} + +--- + +Adds a new subcircle to the outer circle. + +;;;;; + +![](trickster:textures/gui/img/devotion_revision.png,fit) + +When Devotion Revision is drawn in the blue circle, the green circle is created. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,5,title=Shifting Revision|> + +{gray}(Scribing pattern){} + +--- + +Shifts the subcircles of the circle it is drawn in, clockwise, so that the last subcircle is now the first. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,3,title=Reverse Shifting Revision|> + +{gray}(Scribing pattern){} + +--- + +Accomplishes the opposite of the Shifting Revision, moving subcircles counter-clockwise. + +;;;;; + +<|pattern@trickster:templates|pattern=2\,4\,3,title=Shuffling Revision|> + +{gray}(Scribing pattern){} + +--- + +Swaps the first subcircle with the second subcircle. + +;;;;; + +<|pattern@trickster:templates|pattern=4\,0\,1\,4\,2\,1,title=Notulist's Revision|> + +{gray}(Scribing pattern){} + +--- + +Reads a spell from the user's offhand and grafts it onto the spell currently being edited, +replacing the circle it is drawn in. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,4\,1\,0\,4\,7,title=Inner Notulist's Revision|> + +{gray}(Scribing pattern){} + +--- + +Reads a spell from the user's offhand and places it as a glyph in the center of the circle it is drawn in. + +;;;;; + +<|pattern@trickster:templates|pattern=4\,3\,0\,4\,5\,2\,4\,1,title=Grand Revision|> + +{gray}(Scribing pattern){} + +--- + +Replaces the glyph of the circle it is drawn in with the result of executing the user's offhand spell. +Requires possession of a [Mirror](^trickster:items/mirror_of_evaluation). + +;;;;; + +<|pattern@trickster:templates|pattern=1\,4\,7\,6\,4\,8\,7,title=Plagiarist's Revision|> + +{gray}(Scribing pattern){} + +--- + +Copies the circle it is drawn in to the user's offhand. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,8\,6\,1,title=Interpretation Revision|> + +{gray}(Scribing pattern){} + +--- + +Creates a pattern literal of the pattern contained within the circle it is drawn in. + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,4\,8\,7\,6\,4\,2\,1\,4,title=Address Revision|> + +{gray}(Scribing pattern){} + +--- + +When this scribing pattern is drawn, the [address](^trickster:distortions/tree#2) of the circle this pattern was drawn in is written to the item in your other hand. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/intro.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/intro.md new file mode 100644 index 000000000000..67f74ae67377 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/intro.md @@ -0,0 +1,23 @@ +```json +{ + "title": "Introduction", + "icon": "minecraft:written_book", + "ordinal": 0 +} +``` + +Welcome to the **Tome of Tomfoolery**! Your guide to magic, trickery, and applied mathematics. + + +This book consists of many chapters spread out over a few categories. +Aside from the tutorials section, these chapters are intended to be read in no particular order and only when required. + +;;;;; + +If you run into particular trouble using the mod, have trouble understanding something, +or encounter any bugs or other issues, please let us know via **[Discord](https://discord.gg/WcYsDDQtyR)**. + + +More importantly though, have fun! + +![](trickster:textures/gui/img/catstare.png) diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/cracked_echo_knot.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/cracked_echo_knot.md new file mode 100644 index 000000000000..ea6cb7510687 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/cracked_echo_knot.md @@ -0,0 +1,14 @@ +```json +{ + "title": "Cracked Echo Knot", + "icon": "trickster:cracked_echo_knot", + "category": "trickster:items", + "required_advancements": [ + "trickster:cracked_echo_knot" + ], + "secret": true +} +``` + +Found in the remnants of an ancient civilization, these [Knots](^trickster:items/knots) are broken, and yet still usable. +They recharge naturally at only twice the rate of an Emerald Knot, but have a capacity twice that of a Diamond Knot. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/echo_knot.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/echo_knot.md new file mode 100644 index 000000000000..5eaffd3cf543 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/echo_knot.md @@ -0,0 +1,17 @@ +```json +{ + "title": "Echo Knot", + "icon": "trickster:echo_knot", + "category": "trickster:items", + "required_advancements": [ + "trickster:echo_knot" + ], + "secret": true +} +``` + +From a single shard, two [Knots](^trickster:items/knots) are made. +With a capacity equivalent to twice that of a Diamond Knot and a natural recharge rate of three, +Echo Knots are already quite incredible. +But that's not what makes them truly unique. Each pair, born of the same Echo Shard, share the same store of mana. +Fill one, and its twin is filled as well, no matter where in the world it may be. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/knots.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/knots.md new file mode 100644 index 000000000000..8f6ebef395e8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/knots.md @@ -0,0 +1,48 @@ +```json +{ + "title": "Knots", + "icon": "trickster:emerald_knot", + "category": "trickster:items" +} +``` + +Knots are gemstones encased in glass orbs that hold a certain +amount of [Mana](^trickster:concepts/mana) based on the rarity of the gem they're made from. + + +Some gems have unique properties when made into a Knot, such as Amethyst, +which, unlike other gems, already contains Mana when converted, +but cannot be recharged naturally. + +;;;;; + +Most gems or crystals can be made into Knots using +[Ploy of the Moon Watcher](^trickster:ploys/mana#2). + + +This ploy optionally takes two arguments, +one [slot](^trickster:delusions_ingresses/inventory#4) containing a gem, another holding a Glass Block. +If the latter isn't provided, the first available Glass Block will be used. +If the former isn't provided, an Amethyst Shard will be used in the same manner. +As such, it is not possible to create non-amethyst Knots without providing a slot reference. + +;;;;; + +<|item-tag@trickster:templates|tag-id=trickster:spoilerless_mana_knots|> + +A few known Knot types are: + +- __Amethyst__\ +Creation cost: none +Capacity: 128 kG +- __Emerald__\ +Creation cost: 512 kG +Capacity: 1024 kG +- __Diamond__\ +Creation cost: 8192 kG +Capacity: 16384 kG + +;;;;; + +Other gems and crystals may be able to be turned into Knots as well, +but this must be determined on a case-by-case basis. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/mirror_of_evaluation.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/mirror_of_evaluation.md new file mode 100644 index 000000000000..7b04f6a83bd2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/mirror_of_evaluation.md @@ -0,0 +1,34 @@ +```json +{ + "title": "Mirror of Evaluation", + "icon": "trickster:mirror_of_evaluation", + "category": "trickster:items" +} +``` + +A Mirror of Evaluation is a tool very similar to the ever-useful [Scroll and Quill](^trickster:items/scroll_and_quill). +The main difference is that it greedily casts any part of the spell it can while it is being written. + + +Say for example you write a subcircle with two more subcircles, each containing a [Foundational Delusion](^trickster:constants#1). + +;;;;; + +When drawn, the glyphs of these subcircles will become literals for the number 2. + + +Then, you can draw say, an [Annexation Stratagem](^trickster:distortions/arithmetic#2) in the parent circle of the two twos. +This will immediately consume the two subcircles and evaluate to a literal 4 as a glyph in the parent circle. + +;;;;; + +The best way to understand these workings is absolutely to try them out for yourself: + + + +It's worth noting that, while it casts any part of the spell it can, the mirror still stores the spell its holding +inside itself as an inscribed spell. + +;;;;; + +Thus making it accessible to all conventional spell reading and writing methods. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/modular_spell_construct.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/modular_spell_construct.md new file mode 100644 index 000000000000..abb69791b0bb --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/modular_spell_construct.md @@ -0,0 +1,19 @@ +```json +{ + "title": "Modular Spell Construct", + "icon": "trickster:modular_spell_construct", + "category": "trickster:items" +} +``` + +A Modular Spell Construct, unlike the simple [Spell Construct](^trickster:items/spell_construct), does not execute the spell inscribed onto it. +Instead, up to four [Spell Cores](^trickster:items/spell_core) may be inserted into the Construct's corner slots, where they will be executed concurrently. +The Spell Cores draw mana from the [Knot](^trickster:items/knots) placed in the Construct's center, and share the same [Crow Mind](^trickster:tricks/basic#7). + +;;;;; + +The multiple cores in this Construct type can access and delegate tasks to one +another using the same tricks as the ones used for player spell slot manipulation. +This lets advanced spell casters design persistent multithreaded spells. + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ominous_spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ominous_spell_core.md new file mode 100644 index 000000000000..997323189b06 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ominous_spell_core.md @@ -0,0 +1,15 @@ +```json +{ + "title": "Ominous Spell Core", + "icon": "trickster:ominous_spell_core", + "category": "trickster:items", + "required_advancements": [ + "trickster:ominous_spell_core" + ], + "secret": true +} +``` + +A variant of the [Spell Core](^trickster:items/spell_core) found in the vaults of Trial Chambers. +They execute their inscribed spell at a rate equal to that of player spells. +It's not clear how they're made, though only the shimmer of diamond differentiates them from the typical Spell Core. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ring.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ring.md new file mode 100644 index 000000000000..12f6177cc46a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/ring.md @@ -0,0 +1,11 @@ +```json +{ + "title": "Macro Ring", + "icon": "trickster:macro_ring", + "category": "trickster:items" +} +``` + +A plain gold ring used for containing [Macros](^trickster:concepts/macro). + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/rusted_spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/rusted_spell_core.md new file mode 100644 index 000000000000..545fde77cf09 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/rusted_spell_core.md @@ -0,0 +1,14 @@ +```json +{ + "title": "Rusted Spell Core", + "icon": "trickster:rusted_spell_core", + "category": "trickster:items", + "required_advancements": [ + "trickster:rusted_spell_core" + ], + "secret": true +} +``` + +Old and worn, these [Spell Cores](^trickster:items/spell_core) are found in abandoned chests throughout the Overworld. +Unlike others, they are forged of metal and have begun to rust. It is highly inadvisable to utilize them without great caution. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_and_quill.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_and_quill.md new file mode 100644 index 000000000000..a515c87ddd36 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_and_quill.md @@ -0,0 +1,48 @@ +```json +{ + "title": "Scroll and Quill", + "icon": "trickster:scroll_and_quill", + "category": "trickster:items" +} +``` + +The Scroll and Quill can be used to easily write and store complex and reusable spells. + + +Right-clicking it opens the [Spell-Scribing](^trickster:editing) interface, letting you directly modify the contained spell. + + +Scrolls can be stored in a [Top Hat](^trickster:items/top_hat) for easy access and safe-keeping. + +;;;;; + +The written spell can be read from the scroll by means of [Notulist's Delusion](^trickster:tricks/basic#3). +It is also possible to write to a scroll programmatically using [Notulist's Ploy](^trickster:tricks/basic#4) + + + +;;;;; + +Scrolls can be dyed by combining them with any dye in a crafting table: + +<|item-tag@trickster:templates|tag-id=trickster:dyed_scroll_and_quill|> + +A Scroll and Quill can also be signed by shift-right-clicking it. +This lets you give it a custom name for free, but it cannot be written to anymore by any means. + +;;;;; + +However, signed scrolls can be charged with one to eight vials of spell ink, +a special concoction that imbues scrolls with a single-use pool of mana. + + +Scrolls that have been imbued with mana can have their contained spell cast at no risk to the user, +however, doing so consumes the scroll. + +;;;;; + +Single-use scrolls have an internal buffer of mana with a capacity equivalent to the amount of spell ink used in their making, times 100. + + + +Do Not Consume! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_shelf.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_shelf.md new file mode 100644 index 000000000000..d92e86eb0f46 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/scroll_shelf.md @@ -0,0 +1,22 @@ +```json +{ + "title": "Scroll Shelves", + "icon": "trickster:scroll_shelf", + "category": "trickster:items" +} +``` + +Scroll Shelves are a nice way to store and visually display your collection of spells in the world. +These blocks function similarly to Chiseled Bookshelves, +you can right-click a scroll into any of the empty slots on its front side, +and take it out with another click. + +;;;;; + +Scrolls on a shelf will display in the color they're dyed as, if applicable, +and when targeted with your crosshair, will show their name for easy browsing. + + +Shelves can interact with hoppers. + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_construct.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_construct.md new file mode 100644 index 000000000000..f835c0ae4600 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_construct.md @@ -0,0 +1,23 @@ +```json +{ + "title": "Spell Construct", + "icon": "trickster:spell_construct", + "category": "trickster:items" +} +``` + +A Spell Construct is a relatively simple device that, +when inscribed with a spell and placed into the world, will persistently cast said spell. + + +Constructs are most useful for [long-running](^trickster:concepts/multi_tick) +spells that respond to happenings in the world, or trigger periodically. + +;;;;; + +If a source of mana is required, any [Knot](^trickster:items/knots) +may be inserted into the center of the Construct with a right-click. +They may also be shift-right-clicked to reset the currently running spell, +ignoring any previous blunders. + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_core.md new file mode 100644 index 000000000000..475cba5c5fcb --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_core.md @@ -0,0 +1,20 @@ +```json +{ + "title": "Spell Core", + "icon": "trickster:spell_core", + "category": "trickster:items" +} +``` + +Spell Cores may be inserted into a [Modular Spell Construct](^trickster:items/modular_spell_construct), +where they will run the spell inscribed onto them at 75% the speed of a player's. + + +When removed, they maintain their state, and resume once re-inserted, unless a different spell is inscribed. + +;;;;; + +To construct a Spell Core, one must have a shard of amethyst as a *channel*, a pearl of the End as a *heart*, a thread of gold as a *mind*, and a wrapping of leather as a *guard*. + + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_resonator.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_resonator.md new file mode 100644 index 000000000000..0ae666d0ba3d --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/spell_resonator.md @@ -0,0 +1,16 @@ +```json +{ + "title": "Spell Resonator", + "icon": "trickster:spell_resonator", + "category": "trickster:items" +} +``` + +A simple device that can be set to emit any redstone power level into the block it's attached to. + + +Can be configured and queried by [Resonance Ploy](^trickster:ploys/block#12) and [Ingress of Resonance](^trickster:delusions_ingresses/block#5) respectively. + +;;;;; + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/top_hat.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/top_hat.md new file mode 100644 index 000000000000..121f0fe61e89 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/top_hat.md @@ -0,0 +1,41 @@ +```json +{ + "title": "Hats", + "icon": "trickster:top_hat", + "category": "trickster:items" +} +``` + +The caster's hat is quite an ingenious accessory. +After equipping it on their head, a caster can press the +button to take the hat into their offhand quickly. + + +When a hat is held in your offhand, you can right-click to open it, and insert up to 27 scrolls. +These scrolls can then be selected by shift-scrolling while holding the hat. + +;;;;; + +Now, when a running spell tries to access the spell in your other hand via [Notulist's Delusion](^trickster:tricks/basic#3), +it will read the spell from the selected scroll in the held hat instead. + + +You can also access the spell in any slot of your hat directly using [Cranium Stratagem](^trickster:delusions_ingresses/imports#3), +or read the selected slot using [Cranium Delusion](^trickster:delusions_ingresses/inventory#7). + +;;;;; + +A few different types of hat are available depending on your likes and preferences! +They all function the exact same though. + + +The classic Top Hat: + + +;;;;; + +A mysterious Witch Hat: + + +And even the humble (but very cool) Fez: + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/wand.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/wand.md new file mode 100644 index 000000000000..40666f9d693a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/wand.md @@ -0,0 +1,13 @@ +```json +{ + "title": "Wand", + "icon": "trickster:wand", + "category": "trickster:items" +} +``` + +A wand is a very simple magical tool that will cast a spell inscribed into it when right-clicked. + + + +Spells can be inscribed into a wand using [Notulist's Ploy](^trickster:tricks/basic#4). diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/warding_charm.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/warding_charm.md new file mode 100644 index 000000000000..35612612995c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/items/warding_charm.md @@ -0,0 +1,11 @@ +```json +{ + "title": "Warding Charm", + "icon": "trickster:warding_charm", + "category": "trickster:items" +} +``` + +A basic magical trinket capable of holding spells to be used for [Warding](^trickster:concepts/ward). + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/landing_page.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/landing_page.md new file mode 100644 index 000000000000..58033f105c45 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/landing_page.md @@ -0,0 +1,7 @@ +```json +{ + "title": "Tome of Tomfoolery" +} +``` + +<|spell-preview@trickster:templates|spell=YwyT9+Z3YJjPxgRiMLg4cDGDGIwMDgyMIAZHCAMDg9azL5ogToCHQydYdIMPA0RakYGJEcwI4HHoxKcQaGAnE4TBwAEWYWBUQLICjxkLGhwaoVqZIArBDAYAAInoArsAAAA=|> diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/block.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/block.md new file mode 100644 index 000000000000..fe1a0c727dfd --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/block.md @@ -0,0 +1,123 @@ +```json +{ + "title": "Block Interaction", + "icon": "minecraft:string", + "category": "trickster:ploys" +} +``` + +This entry contains tricks that operate directly on blocks in the world. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:break_block,title=Ploy of Destruction|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=max(hardness * 1kG\, 8kG)|> + +Breaks the block at the given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:place_block,title=Ploy of Creation|> + +vector, slot | + +vector, block -> vector + +<|cost-rule@trickster:templates|formula=max(distance * 1kG\, 8kG)|> + +Places the given block at the given position. Will consume its respective item. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:swap_block,title=Ploy of Exchange|> + +vector, vector -> + +<|cost-rule@trickster:templates|formula=60kG + distance * 1kG|> + +Exchanges the blocks at two positions in the world. Neither of the positions can be empty. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Heating and Cooling|>By pushing or pulling a large quantity of mana into or from a block, it may be rapidly heated or cooled. + + +Given these extreme temperature changes, some blocks may change significantly in useful ways, +though some collateral effects on surrounding blocks should be expected. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:heat,title=Ploy of Investiture|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=80kG|> + +Instantly heat up the given block significantly. + + +Heating a furnace like this would be quite effective. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cool,title=Ploy of Divestiture|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=80kG|> + +Instantly cools off the given block significantly. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:erode,title=Ploy of Attrition|> + +vector, vector -> vector + +<|cost-rule@trickster:templates|formula=80kG|> + +Wears down the block at the first given position, making use of the water at the second given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_flower,title=Floral Ploy|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=5kG|> + +Conjures a random flower at the given position. +The block underneath must have a solid top face. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_water,title=Aquatic Ploy|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=15kG|> + +Conjures a small splash of water at the given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_light,title=Illumination Ploy|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=20kG|> + +Conjures a permanent light source at the given position. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:power_resonator,title=Resonance Ploy|> + +vector, number -> boolean + +<|cost-rule@trickster:templates|formula=distance / 2kG|> + +Powers the [Spell Resonator](^trickster:items/spell_resonator) at the given position with the given power level, between 0 and 15. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/entity.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/entity.md new file mode 100644 index 000000000000..8e0b53eaf11b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/entity.md @@ -0,0 +1,81 @@ +```json +{ + "title": "Entity Ploys", + "icon": "minecraft:sheep_spawn_egg", + "category": "trickster:ploys" +} +``` + +Various tricks related to manipulating entities. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add_velocity,title=Kinetic Ploy|> + +entity, vector -> entity + +<|cost-rule@trickster:templates|formula=3kG + length^3 * 2kG|> + +Applies the given vector as velocity to the given entity. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:change_weight,title=Ploy of Featherweight|> + +entity, number -> entity + +<|cost-rule@trickster:templates|formula=60kG|> + +Given a number between zero and one, multiplies the given entity's effective gravity by that number for one second, provided it is alive. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:polymorph,title=Polymorph Ploy|> + +entity, entity -> + +<|cost-rule@trickster:templates|formula=8000kG|> + +Polymorphs the first entity to appear to be the second in every way. **Currently only works with players.** + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:dispel_polymorph,title=Dispel Polymorph Ploy|> + +entity -> entity + +<|cost-rule@trickster:templates|formula=1000kG|> + +Dispels any polymorph on the given entity. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:store_entity,title=Containment Ploy|> + +entity -> + +<|cost-rule@trickster:templates|formula=2000kG + distance ^ (distance / 5kG)|> + +Stores the given entity in the caster's offhand item. +The item must support entity storage, and the entity must not be a player. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:release_entity,title=Extrication Ploy|> + +vector -> entity | void + +<|cost-rule@trickster:templates|formula=2000kG + distance ^ (distance / 5kG)|> + +Releases the entity stored in the caster's offhand item to the given position, returning it. +Returns void if there is no entity. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_scale,title=Ploy of Occupation|> + +entity, number -> entity + +<|cost-rule@trickster:templates|formula=abs(currentScale - newScale)^2 * 100kG + newScale * 50kG|> + +Changes the scale of the given entity. Entities cannot be scaled below 0.0625 or above 8 times their usual size. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/flecks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/flecks.md new file mode 100644 index 000000000000..44300ac1d1b2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/flecks.md @@ -0,0 +1,59 @@ +```json +{ + "title": "Flecks", + "icon": "minecraft:ghast_tear", + "category": "trickster:ploys" +} +``` + +*In this world,* + +*I wander.* + + +*In our minds,* + +*I carve.* + + +*In their eyes,* + +*I behold,* + + +*A beauty so fine,* + +*It cannot be held.* + + +-- Oapheli + +;;;;; + +Flecks are a method of displaying data to select players. +They last for a mere second, needing to be continuously refreshed. + + +All fleck-creating tricks take an identifying number, which may be used by any caster to update and overwrite the fleck. +The number is returned for chaining. +All flecks can also take an optional list of players, or a sole player, for which the fleck will display only to them. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:draw_spell,title=Marketer's Ploy|> + +number, vector, vector, spell, [entity[] | entity] -> number + +--- + +At the given position, with the given facing, display the given spell. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:draw_line,title=Artist's Ploy|> + +number, vector, vector, [entity[] | entity] -> number + +--- + +Draws a line between the given positions. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/inventory.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/inventory.md new file mode 100644 index 000000000000..f0034507305c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/inventory.md @@ -0,0 +1,39 @@ +```json +{ + "title": "Inventory Manipulation", + "icon": "minecraft:chest", + "category": "trickster:ploys" +} +``` + +Listed here are ploys that interact with inventory slots or other inventory features. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:drop_stack_from_slot,title=Ploy of Offering|> + +slot, vector, [number] -> entity + +--- + +Drops items from the given slot at a position, returning their entity. Optionally, an amount can be specified. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:swap_slot,title=Swindler's Ploy|> + +slot, slot -> + +--- + +Swaps the item stacks within the given slots. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_hat,title=Cranial Shift Ploy|> + +number -> boolean + +--- + +Sets the selected slot in the caster's [Top Hat](^trickster:items/top_hat), returning a boolean based on success. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/mana.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/mana.md new file mode 100644 index 000000000000..0b89e5efe454 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/mana.md @@ -0,0 +1,39 @@ +```json +{ + "title": "A Shimmer in the Night", + "icon": "trickster:echo_knot", + "category": "trickster:ploys" +} +``` + +Ploys for creating [Knots](^trickster:items/knots) and moving mana between them. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:battery_creation,title=Ploy of the Moon Watcher|> + +[slot], [slot] -> + +--- + +Creates a Knot of the type of the given item using a Glass Block. Uses amethyst if no slot is provided. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:push_mana,title=Benevolent Conduit's Ploy|> + +number, slot... -> number + +--- + +Pushes mana into the given slots, up to the given number per slot, and returns the amount moved. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:pull_mana,title=Malevolent Conduit's Ploy|> + +number, slot... -> number + +--- + +Pulls mana from the given slots, up to the given number per slot, and returns the amount moved. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/message.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/message.md new file mode 100644 index 000000000000..59ae29471eb3 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/message.md @@ -0,0 +1,29 @@ +```json +{ + "title": "Interspell Communication", + "icon": "minecraft:feather", + "category": "trickster:ploys" +} +``` + +Utilizing the following tricks, spells may communicate with each other. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:message_send,title=Dispatch Ploy|> + +any, [number] -> any + +<|cost-rule@trickster:templates|formula=max(0kG\, range - 16kG)|> + +Sends the given fragment to all spells within 16 blocks. Range may be extended by the given number at the cost of mana. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:message_listen,title=Ploy of Receipt|> + +-> any[] + +--- + +Returns all messages received on the tick after they were received. Will not return until at least one message is received. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/misc.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/misc.md new file mode 100644 index 000000000000..ba4d0bbe99c1 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/misc.md @@ -0,0 +1,76 @@ +```json +{ + "title": "Misc Ploys", + "icon": "minecraft:iron_ingot", + "category": "trickster:ploys" +} +``` + +A few miscellaneous ploys that don't fit into any other category. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:delay_execution,title=Ploy of Suspension|> + +[number] -> number + +--- + +Delays the execution of the current spell by the given number of ticks, or until the next tick. +Returns the delay. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:pin_chunk,title=Ploy of Celestial Pin|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=4kG|> + +Fully loads the chunk containing the given position for exactly 4 seconds. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Bars|>Spells can display arbitrary values on the caster's screen as bars. + + +Bars are identified by a number and can be overwritten at any time by using the same number again. +Bars are randomly colored based on their identifier. The same identifier will always display as the same color. + +;;;;; + +A bar can either be given one number, which will be interpreted on a scale of 0 to 1, or two numbers, +which means it will interpret the first as the current and the second as the maximum value. + + +It also always returns the given value to its parent circle when updated, allowing for easy chaining. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:show_bar,title=Ploy of Clarity|> + +number, number, [number] -> number + +--- + +Shows a bar on the caster's screen identified by the first number displaying the second number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:clear_bar,title=Ploy of Obfuscation|> + +number -> number + +--- + +Immediately clears a bar from the caster's screen identified by the given number. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:kill_thread,title=Executioner's Ploy|> + +[number] -> boolean + +--- + +Terminates the spell running at the given spell slot, or the current spell if no slot is provided. Returns a boolean based on success. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/particle.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/particle.md new file mode 100644 index 000000000000..bd5a9dd5f341 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/particle.md @@ -0,0 +1,19 @@ +```json +{ + "title": "Particles", + "icon": "minecraft:firework_rocket", + "category": "trickster:ploys" +} +``` + +Various ploys for displaying particles in the world. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:highlight,title=Flourish Ploy|> + +vector... | vector[] -> vector + +--- + +Highlights the given blocks and returns the first input unmodified. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/projectile.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/projectile.md new file mode 100644 index 000000000000..5b88685e0990 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/ploys/projectile.md @@ -0,0 +1,54 @@ +```json +{ + "title": "Projectiles", + "icon": "minecraft:fire_charge", + "category": "trickster:ploys" +} +``` + +Tricks for manipulating projectiles. Tricks in this category will take the required item from their caster's inventory, +or optionally a specific slot. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_arrow,title=Ballista's Ploy|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20kG + distance ^ (distance / 3kG)|> + +Summons an arrow at the given position, returning it. +Requires an arrow. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_fireball,title=Pyromancer's Ploy|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20kG + distance ^ (distance / 3kG)|> + +Summons a fireball at the given position, returning it. +Requires a fire charge. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_dragon_breath,title=Dragon's Ploy|> + +vector, [slot], [slot] -> entity + +<|cost-rule@trickster:templates|formula=20kG + distance ^ (distance / 3kG)|> + +Summons a ball of dragon's breath at the given position, returning it. +Requires a bottle of dragon's breath and a fire charge. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_tnt,title=Demolitionist's Ploy|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20kG + distance ^ (distance / 3kG)|> + +Summons lit TNT at the given position, returning it. +Requires TNT. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/basic.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/basic.md new file mode 100644 index 000000000000..502ebd21c02c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/basic.md @@ -0,0 +1,119 @@ +```json +{ + "title": "Basic Tricks", + "icon": "minecraft:bricks", + "category": "trickster:tricks" +} +``` + +Here listed are the most basic but useful general purpose tricks. +Any aspiring magician is recommended to learn these. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Inscribed Fragments|>A fragment can be inscribed onto any item that a player can hold in their inventory. +If inscribed on a block, the fragment will be removed if the block is placed. + + +Some items may have additional interactions when inscribed with fragments, +[Wands](^trickster:items/wand) for example will cast a spell fragment when right-clicked. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_spell,title=Notulist's Delusion|> + +-> any + +--- + +If the item in the caster's other hand contains an inscribed fragment, returns the fragment. +If not, returns void. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_spell,title=Notulist's Ploy|> + +any, [slot] -> any + +--- + +Inscribes a fragment onto the item in the given slot or in the caster's offhand. +Returns its input, after ephemeral decay. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_closed_spell,title=Proprietary Notulist's Ploy|> + +any, [slot] -> any + +--- + +Same as Notulist's Ploy, but the fragment cannot be read by conventional means. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:clear_spell,title=Alethophobe's Ploy|> + +[slot] -> + +--- + +Clears any fragment inscribed onto the item in the given slot or in the caster's offhand. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:reveal,title=Showcase Stratagem|> + +any... -> any + +--- + +Shows all given values as a chat message to the caster and returns the first. + +;;;;; + +<|page-title@lavender:book_components|title=Note: The Crow Mind|>The Crow Mind, not to be confused with other black bird related minds, +lets spells store and retrieve any one fragment, **persistently**, between casts. + + +This can be used for many things, such as counters, +marking locations, and selecting targets. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_crow_mind,title=Crow Mind Delusion|> + +-> any + +--- + +Returns the value currently stored in the caster's crow mind. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_crow_mind,title=Crow Mind Ploy|> + +any -> any + +--- + +Stores the supplied value in the caster's Crow Mind, overwriting any value that might already be present. + +;;;;; + +<|page-title@lavender:book_components|title=Note: Casting Cost|>After receiving multiple complaints at Tomfoolery Inc. HQ about the balance of this mod, +we've decided to properly implement material spell casting costs. + + +However, player freedom and choice is also very important to us. +As such, this system operates on an opt-in basis. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cost,title=Cost Ploy|> + +-> + +--- + +Consumes one amethyst shard from the caster's inventory. Will blunder if none are available. \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/transmog.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/transmog.md new file mode 100644 index 000000000000..09379e922086 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tricks/transmog.md @@ -0,0 +1,59 @@ +```json +{ + "title": "Transmogrification", + "icon": "transmog:void_fragment", + "category": "trickster:tricks", + "fabric:load_conditions": { + "condition": "fabric:any_mods_loaded", + "values": [ + "transmog" + ] + } +} +``` + +It seems that, unlike some, this world supports the transmogrification of one item into another. + + +Transmogrification is a way to change purely the appearance of items, +keeping all their attributes and other behaviour intact. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:transmog,title=Ploy of Transmogrification|> + +slot, item -> boolean + +<|cost-rule@trickster:templates|formula=20kG|> + +Transmogrifies the item in the given slot to appear as the given item. Returns true if changes were made. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hidden_transmog,title=Ploy of Subterfuge|> + +slot -> boolean + +<|cost-rule@trickster:templates|formula=30kG|> + +Applies a void transmogrification to the item in the given slot. Returns true if changes were made. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:remove_transmog,title=Ploy of Origin|> + +slot -> boolean + +<|cost-rule@trickster:templates|formula=10kG|> + +Removes any transmogrification from the item in the given slot. Returns true if changes were made. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_transmog,title=Ingress of Transmogrification|> + +slot -> item + +--- + +Returns the transmogrification on the item in the given slot, or void if none is applied. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/1_getting_started.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/1_getting_started.md new file mode 100644 index 000000000000..a1fbfc8ea3df --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/1_getting_started.md @@ -0,0 +1,51 @@ +```json +{ + "title": "1. Getting Started", + "icon": "minecraft:paper", + "ordinal": 0, + "category": "trickster:tutorials" +} +``` + +To begin writing spells, you'll need to gather a few magical tools to help you. + + +At a bare minimum, you'll need a [Mirror of Evaluation](^trickster:items/mirror_of_evaluation) +and a [Scroll and Quill](^trickster:items/scroll_and_quill). +These items form the basis of a spellcaster's toolkit. + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:scroll_and_quill|>The Scroll and Quill is where you actually write your spells. +These enchanted pieces of paper can hold any single spell circle, +and allow you to easily modify it, just by using the item. + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:mirror_of_evaluation|>The Mirror, which you'll also need, serves a variety of purposes. + + +For one, it can be used to directly cast the spells you write in scrolls, +something that scrolls cannot do on their own. + + +More often though, the mirror will be used for prototyping. + +;;;;; + +It functions very much like a scroll, with a similar interface, +except that any glyphs written in a mirror will be cast the moment its possible to. +The center of their circle will then be filled with the result of their execution, if any. + + +This behaviour is also often used to generate constant values, +which can then be embedded into other spells, written in scrolls. + +--- + +;;;;; + +Aside from these essential items, a few other things may be worth gathering: + +- A [Wand](^trickster:items/wand) can be inscribed with any spell to directly cast it, as explained later. +- A [Top Hat](^trickster:items/top_hat) holds multiple scrolls in one item, and can serve as a form of memory for more advanced spells. diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/2_mana_basics.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/2_mana_basics.md new file mode 100644 index 000000000000..f06f9dc98941 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/2_mana_basics.md @@ -0,0 +1,81 @@ +```json +{ + "title": "2. The Basics of Mana", + "icon": "minecraft:paper", + "ordinal": 1, + "category": "trickster:tutorials" +} +``` + +To be able to do any proper spellcasting, you'll need access to **Mana**. +Any spell that affects the world will consume a certain amount of Mana, scaling significantly for larger effects. + + +Amounts of Mana can be measured in Gandalfs, or G, named after a certain famous wizard. + +;;;;; + +One Gandalf is defined as the amount of magical energy required to light a candle. +As such, many spell costs will be measured in kiloGandalfs, or kG, +since one Gandalf by itself is a very small amount. + + + +Mana can be persistently stored in Knots, like the one below: +<|item-spotlight@lavender:book_components|item=trickster:amethyst_knot|> + +;;;;; + +These gemstones encased in glass orbs hold a certain +amount of Mana based on the rarity of the gem they're made from. +Some gems also have unique properties when made into a Knot, such as Amethyst, +which, unlike other gems, already contains Mana when converted, +but cannot be refilled by any known means. + + +This makes Amethyst Knots a great source of Mana to get started with, +or when in a pinch. + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:emerald_knot|>Most Knots, though, can be refilled by simply exposing them to the night sky. +They will charge most quickly at or near full or new moons, but not at all on some days in between. + + +Knots also keep track of their current draw rate in their tooltip, +which can be very useful for long-running spells. + +;;;;; + +Draw rate, or any change in Mana, is measured in Merlins, or M. +Merlins are defined as Gandalfs per Tick, +Ticks being the smallest unit of meaningful time, at 1/20th of a second. + + +For example, a spell drawing 50 M would consume 1 kiloGandalf per second. +<|item-spotlight@lavender:book_components|item=trickster:diamond_knot|> + +;;;;; + +To actually create a Knot, one can simply use [Ploy of the Moon Watcher](^trickster:ploys/mana#2) +while having an Amethyst and Glass Block in their inventory. +An Amethyst Knot costs no Mana to create, as it can provide its own power, +but any other Knot requires an appropriate amount of Mana to be constructed, +as detailed [here](^trickster:concepts/mana). + +;;;;; + +Other Knot types will also require the caster to specify the slot containing +the appropriate gem as a first argument, but this will be covered later. + + +For now, drawing the [Ploy of the Moon Watcher](^trickster:ploys/mana#2) +in your [Mirror of Evaluation](^trickster:items/mirror_of_evaluation) +as follows will allow you to create Amethyst Knots with ease. +Create a few of these before continuing! + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwqT9+b/wDGjlQEAks2CzAoAAAA=|> + +{gray}(Drag to pan and scroll to zoom){} diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/3_first_spell.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/3_first_spell.md new file mode 100644 index 000000000000..3dc93a9f0d64 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/3_first_spell.md @@ -0,0 +1,115 @@ +```json +{ + "title": "3. Your First Spell", + "icon": "minecraft:paper", + "ordinal": 2, + "category": "trickster:tutorials" +} +``` + +Now that you've got a [Scroll](^trickster:items/scroll_and_quill) you can right-click it to open the spell-scribing interface. +Spells consist of a tree-like structure of intersecting circles, and each circle contains a center glyph to denote its function. + +;;;;; + +When first opening a new scroll, you will see just one circle. This is the **root node**. +Every other circle in your spell originates from it. + + +To begin writing a spell, so-called scribing patterns or revisions can be used to add, remove, and move around circles. +The most basic scribing pattern is [Extensive Revision](^trickster:editing#1), +which adds one extra subcircle to the circle it's drawn in. + +;;;;; + +Unlike most patterns, revisions activate instantly when drawn at any point in either a scroll or mirror. +They are the only way to directly affect the shape of your spell. + + +Another scribing pattern that may be useful for basic spells is [Grafting Revision](^trickster:editing#12), +which removes excess circles from the hierarchy. + + +With that out of the way, try to recreate the following spell in your scroll: + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+YP6GBjZQQxGFwOMIAZHCEMDAwA8vUGkRwAAAA=|> + +{gray}(Drag to pan and scroll to zoom){} + +;;;;; + +Once that's done, hold the scroll in your offhand, and draw the following spell in your mirror: + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+bf6MPEyghiMLo0tTIAADybrxgTAAAA|> + +;;;;; + +You may notice that, while drawing, the top pattern gets replaced with the spell from your scroll. + + +Afterward, if you did everything correctly, the spell should have targeted and broken the block you were looking at! +This is the most basic way of spellcasting, write the spell in a scroll, and cast it using your mirror. + + +**But why did this work?** + +;;;;; + +When a spell is cast, drawn glyphs will take the output from connected subcircles as input, +perform an operation, and output to their parent circle. + + +Think of a spell like a tree with many splitting branches. +First, the leaves of the tree (the most deeply nested circles) create or read values from the world. +These can be constants or, for example, a reference to the caster. +These are called [Delusions](^trickster:delusions_ingresses). + +;;;;; + +After this, intermediate glyphs process the information into an appropriate format, +for example taking a reference to a creature, and returning its position. +These are either [Distortions](^trickster:distortions) or [Ingresses](^trickster:delusions_ingresses). + + +Some glyphs may not return a value, often called [Ploys](^trickster:ploys). +These glyphs will affect the world, which is usually the end goal of the entire spell. + +;;;;; + +With this information in mind, we can take a look back at the spell in our scroll, +and recognise three types of glyphs (also known as tricks). + + +The most deeply nested glyph must be a Delusion, as it takes no inputs. +Meanwhile, the glyph in the root node has to be a Ploy, since it only takes inputs, and provides no output. +Which means the intermediate circle must contain either a Distortion or an Ingress. + +;;;;; + +If you were to look up these patterns in the [Tricks](^trickster:tricks) section of this book, +you'd see this assessment is correct. From smallest to largest circle, this spell is made up of: + +- [Reflection Delusion](^trickster:delusions_ingresses/caster_tricks#4) +- [Archer's Ingress](^trickster:delusions_ingresses/raycast#2) +- and [Ploy of Destruction](^trickster:ploys/block#2) + +Take a look at the inputs and outputs listed for these tricks, and try to understand how this spell combines them! + +;;;;; + +**Okay, but how did we cast it?** + + +Well, we took advantage of the mirror's tendency to cast anything it touches. +The patterns we drew in the mirror are [Notulist's Delusion](^trickster:tricks/basic#3) and [Grand Stratagem](^trickster:distortions/functions#3). +The former returns any spell held in the caster's offhand as data, while the latter takes a spell as data and casts it. + + +Yes, spells can cast other spells. + +;;;;; + +This chapter covered the basic concepts you need to know to start making simple spells of your own. +Go experiment, and see what's possible! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/4_easier_casting.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/4_easier_casting.md new file mode 100644 index 000000000000..657a417a5b3e --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/4_easier_casting.md @@ -0,0 +1,63 @@ +```json +{ + "title": "4. Easier Casting", + "icon": "minecraft:paper", + "ordinal": 3, + "category": "trickster:tutorials" +} +``` + +It's worth noting that casting spells through the Mirror of Evaluation has a few drawbacks. +Most obviously, it's a massive hassle drawing those two patterns every time. +Potentially more importantly though, any spell cast +happening through the mirror can only execute at most *64 circles*. +That really isn't a lot! + +;;;;; + +This is where [Wands](^trickster:items/wand) come in. +As briefly mentioned in the first chapter, +wands execute any spell inscribed onto them when right-clicked. + + +What's inscribing you may ask? Actually, you've already partially interacted with it. +[Notulist's Delusion](^trickster:tricks/basic#3), used in chapter two, is used to read an inscribed spell from an item. +This works on Scrolls because a spell written on them technically counts as being inscribed. + +;;;;; + +Spells can actually be inscribed onto *any* item, +though only Scrolls and Mirrors let you directly edit them. + + +Writing a spell to an item can be done by using [Notulist's Ploy](^trickster:tricks/basic#4). +Similarly to [Grand Stratagem](^trickster:distortions/functions#3), it only takes one input, and provides no output. + + +You can use a spell like the following in a mirror to read and inscribe a spell. + +;;;;; + +First draw the small pattern while holding your spell, +then swap to the item you want to inscribe, and draw the other pattern. +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+bf6MPEwAhiMLo0tTIAAH43+GkTAAAA|> + +;;;;; + +Inscribing a spell onto a Wand will give it an enchanted glint, +and show the inscribed spell in its tooltip. + + +When you use your new Wand, +a [Spell Slot](^trickster:concepts/multi_tick) is consumed while the spell runs, +allowing the spell to run for as long as needed to complete. + + +Combining all this, try inscribing the following spell onto a Wand: + +;;;;; + +<|spell-preview@trickster:templates|spell=YwyT9+ZnYDjAwwhiMDI4dDKBRVwOMIBFOEIYGBhADCEUEQDelYOZNwAAAA==|> + +Once you have it inscribed, try it out to see what it does. +After that, try looking up the tricks to see *how*! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/5_spell_structure.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/5_spell_structure.md new file mode 100644 index 000000000000..f3c7a81489e2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/5_spell_structure.md @@ -0,0 +1,64 @@ +```json +{ + "title": "5. Spell Structure", + "icon": "minecraft:paper", + "ordinal": 4, + "category": "trickster:tutorials" +} +``` + +While chapter two covered the basics of spell-scribing, +there are a few important elements it doesn't mention. + + +Most importantly, some tricks may take multiple inputs, +as seen in the example spell in the last chapter. +Unlike there though, tricks sometimes also require inputs +to be of specific types, in a specific order. + +;;;;; + +The inputs a trick takes, in addition to the output it provides, +are called its **Signature**. +These signatures are used all across this book +whenever a pattern for a trick is shown. + + +If you're having trouble understanding the format used for signatures, +check out [the entry explaining them in more detail](^trickster:concepts/signatures)! + + +**But how do we know which circle comes first?** + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+ZnAAIW9/lWJxhgAMSx/4DEcUCWceCAcgC7HdBfPgAAAA==|> + +Take a look at the spell above. +Its subcircles are labelled with the order they're cast, from 0 to 3. + +;;;;; + +This is the same order they'll be inputted into the parent circle in. +How do we know this? +That's what the **Divider Pin** is for. + + +All circles with at least one subcircle will have a transparent blue +Divider Pin somewhere on their ring. +Starting from this pin, subcircles are cast in a clockwise fashion, +and may be numbered starting from zero. + + +See if you can spot the pin on this spell! + +;;;;; + +One last thing! +Aside from [Extensive Revision](^trickster:editing#1) and [Grafting Revision](^trickster:editing#12), +a lot of additional scribing patterns are also available, +ranging from simple conveniences to actual gamechangers. + + +If you haven't already, be sure to check out the [Spell-Scribing](^trickster:editing) +chapter in its entirety! \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/6_functions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/6_functions.md new file mode 100644 index 000000000000..7e0b03394a48 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/6_functions.md @@ -0,0 +1,10 @@ +```json +{ + "title": "7. Spell Fragments", + "icon": "minecraft:paper", + "ordinal": 6, + "category": "trickster:tutorials" +} +``` + +Coming soon! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/7_recursion.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/7_recursion.md new file mode 100644 index 000000000000..902785926a67 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/tutorials/7_recursion.md @@ -0,0 +1,10 @@ +```json +{ + "title": "6. Recursion", + "icon": "minecraft:paper", + "ordinal": 5, + "category": "trickster:tutorials" +} +``` + +Coming soon! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/macro.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/macro.md new file mode 100644 index 000000000000..409b478c9997 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/macro.md @@ -0,0 +1,26 @@ +```json +{ + "title": "宏", + "icon": "trickster:macro_ring", + "category": "trickster:concepts" +} +``` + +宏可用来新造修订术,以协助法术抄绘。 + + +宏是图案到法术的[映射](^trickster:distortions/map)。将此类映射抄入任意戒指并佩戴;后续在编写法术时,就会检索其中有无键与绘制的图案一致。 + +;;;;; + +如果没有其他戒指,有简易的[宏戒指](^trickster:items/ring)可供使用。 + + +如果找到了对应的宏键,即会执行对应的法术,并传入绘制处圆的副本作为唯一参数。该法术应当返回一个新法术片段,用以替代传入的片段。 + + +每一位戏法师都能借此制造他们自己的修订术。 + +;;;;; + +注意:宏法术无法[长时施法](^trickster:concepts/multi_tick)。也即,它们不会占用法术槽,因此无法包含超过64个圆。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/mana.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/mana.md new file mode 100644 index 000000000000..51fa583dd682 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/mana.md @@ -0,0 +1,26 @@ +```json +{ + "title": "魔力", + "icon": "minecraft:glow_ink_sac", + "category": "trickster:concepts" +} +``` + +魔力是技巧术的动力,也是操纵世界的代价。 + + +依照传统,为纪念一位著名巫师,魔力量的单位为甘道夫(Gandalf),简称为“甘”,符号为“G”。此单位的定义为:点亮一根蜡烛需要1甘的魔法能量。 + +;;;;; + +少于1千甘道夫(或“千甘”和“kG”)的魔力量通常可以忽略不计。 + + +消耗速率,或者魔力的变化率,使用梅林(Merlin)作为单位,简称为“梅”,符号为“M”。此单位的定义为甘道夫每刻;其中,刻是有意义时间的最小单位,相当于1/20秒。 + + +比如,50梅的法术每秒即消耗1千甘。 + +;;;;; + +魔力可持久存储于晶结中。更多有关信息参见[此条目](^trickster:items/knots)。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/multi_tick.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/multi_tick.md new file mode 100644 index 000000000000..0f84326260bb --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/multi_tick.md @@ -0,0 +1,33 @@ +```json +{ + "title": "长时法术", + "icon": "minecraft:clock", + "category": "trickster:concepts" +} +``` + +不是所有法术都能立即执行完毕。除非通过手镜施放,足够大的法术每秒只能执行一定数量的圆。只要施法者不死亡,法术本身不产生失策,并且仍有待执行的圆,这类法术甚至可以永远执行下去。 + +;;;;; + +为施放能够长时运行的法术,需要先留出一个法术槽;就算1/20秒内能执行结束也不可省去这一步骤。 + + +若法术槽均被占用,则除手镜外的施放方式不可用。法术槽可在施法者物品栏中查看。 + +;;;;; + +法术槽有如下几个状态: + +- 不活跃(缩回) +- 不活跃且出现失策(红色) +- 活跃且状态正常(绿色) +- 活跃且达到最大执行速度(橙色) +- 活跃但在等待(白色) + +;;;;; + +执行法术片段的图案会在其所处法术中创造子法术,计作1层。法术中不可存在超出255层深的子法术,若有即产生失策。 + + +如果子法术的创建位于当前法术*实质上*的最后一个图案,**此限制无效**。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/signatures.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/signatures.md new file mode 100644 index 000000000000..4c0cb2d8943d --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/signatures.md @@ -0,0 +1,9 @@ +```json +{ + "title": "戏法签名", + "icon": "minecraft:writable_book", + "category": "trickster:concepts" +} +``` + +即将到来!碰到困难可以来Discord寻求帮助! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trace.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trace.md new file mode 100644 index 000000000000..7474679bf6b2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trace.md @@ -0,0 +1,21 @@ +```json +{ + "title": "栈追踪", + "icon": "minecraft:tripwire_hook", + "category": "trickster:concepts" +} +``` + +法术中产生的故障称作“失策”。失策的法术会打印栈追踪,以标明故障出现的*位置*。栈追踪是由冒号分隔的字符列表,各段可分为三类: + +- #(井号) +- \>(角括号、尖括号) +- 任意数 + +;;;;; + +其中,数是输入的索引,尖括号和井号则表示上下文切换到了另一个法术片段中去。尖括号指新片段由当前法术提供,井号指片段来自其他地方。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:索引|>法术中的所有圆都有其对应的数,即*索引*。此数用于说明圆相对其父圆的位置。父圆上的紫色销永远位于第一子圆的逆时针方向,第一子圆的索引为0。后续所有子圆的索引都比前一子圆多1。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/tricks_explanation.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/tricks_explanation.md new file mode 100644 index 000000000000..91294905527b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/tricks_explanation.md @@ -0,0 +1,21 @@ +```json +{ + "title": "戏法的分类", + "icon": "minecraft:oak_leaves", + "category": "trickster:concepts" +} +``` + +所有的戏法均可分到如下类别中: + +- 错觉术:产生值的无输入戏法 +- 曲变术:输入数目固定的戏法 +- 辑流术:根据输入收集信息的戏法 +- 技巧术:仅有输入、或消耗魔力、或二者兼有的戏法 + +;;;;; + +- 修订术:抄绘图案 +- 谋略术:输入数目不固定的戏法 + +这些分类并不十分严谨;在许多情况下,戏法更常由其意图分类,而非完全采用严格定义。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trigger_items.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trigger_items.md new file mode 100644 index 000000000000..a8e135fcb52b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/trigger_items.md @@ -0,0 +1,21 @@ +```json +{ + "title": "反应触发物品", + "icon": "minecraft:diamond_sword", + "category": "trickster:concepts" +} +``` + +尽管[魔杖](^trickster:items/wand)是快速施法最常用、最泛用的手段,它也并非是唯一的选择。其他物品会在达成特定要求时施放抄入的法术。物品的种类及其具体要求见后页。 + +;;;;; + +<|page-title@lavender:book_components|title=战士之怒|>抄入工具和近战武器后,战士之怒会在其对实体造成伤害时执行法术。所攻击的实体传入为第一参数。 + +;;;;; + +<|page-title@lavender:book_components|title=勘探工之喜|>在破坏方块之前,抄入手持工具的勘探工之喜即会开始执行法术。所破坏方块的位置传入为第一参数。 + +;;;;; + +<|page-title@lavender:book_components|title=表演家之赦|>在摔落到方块上的前一瞬,表演家之赦即会触发足部装备中抄有的法术。穿戴者摔落过的距离传入为第一参数。倘若落到水中接受了缓冲,表演家便不会前来赦免痛苦。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/ward.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/ward.md new file mode 100644 index 000000000000..a4bc783ed9db --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/concepts/ward.md @@ -0,0 +1,17 @@ +```json +{ + "title": "戒守", + "icon": "minecraft:shield", + "category": "trickster:concepts" +} +``` + +戒守是一类防御性法术,成为技巧术的目标时即会施放。它们需接受施法者作为输入,还需传入一个参数列表,以送至触发戒守的符记。戒守法术的签名应与下述一致: + +--- + +entity | vector, any[] -> + +;;;;; + +目标佩戴的所有护符中抄有的映射全部结合,所得的映射作为戒守总集,映射中的键即为能触发戒守的符记。进入活跃状态的戒守需要占用一个空法术槽,且会在触发戒守的符记施放之前就抢先施放。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/constants.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/constants.md new file mode 100644 index 000000000000..8ebdbfd0a92a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/constants.md @@ -0,0 +1,38 @@ +```json +{ + "title": "常量", + "icon": "minecraft:bedrock" +} +``` + +本节的抄绘图案能将绘制处的符记变为字面量。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,4\,7,title=基础之错觉|> + +{gray}(抄绘图案){} + +--- + +将符记换为数“2”。 + +;;;;; + +<|pattern@trickster:templates|pattern=6\,3\,0\,2\,5\,8,title=目录之错觉|> + +{gray}(抄绘图案){} + +--- + +将符记换为空列表。 + +;;;;; + +<|pattern@trickster:templates|pattern=2\,5\,8\,6\,3\,0,title=图册之错觉|> + +{gray}(抄绘图案){} + +--- + +将符记换为空映射。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/arguments.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/arguments.md new file mode 100644 index 000000000000..c04d2692057b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/arguments.md @@ -0,0 +1,95 @@ +```json +{ + "title": "参数", + "icon": "minecraft:map", + "category": "trickster:delusions_ingresses" +} +``` + +法术片段可以作为参数传入[法术片段](^trickster:distortions/functions)。 + + +此类参数可在法术片段中直接通过特定图案获取。 + + +法术片段中最多可获取八个片段。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_1,title=甲参之错觉|> + +-> any + +--- + +返回第一参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_2,title=乙参之错觉|> + +-> any + +--- + +返回第二参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_3,title=丙参之错觉|> + +-> any + +--- + +返回第三参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_4,title=丁参之错觉|> + +-> any + +--- + +返回第四参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_5,title=戊参之错觉|> + +-> any + +--- + +返回第五参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_6,title=己参之错觉|> + +-> any + +--- + +返回第六参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_7,title=庚参之错觉|> + +-> any + +--- + +返回第七参数,需该参数存在。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:load_argument_8,title=辛参之错觉|> + +-> any + +--- + +返回第八参数,需该参数存在。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/block.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/block.md new file mode 100644 index 000000000000..15c5bd82435d --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/block.md @@ -0,0 +1,59 @@ +```json +{ + "title": "方块查询", + "icon": "minecraft:white_wool", + "category": "trickster:delusions_ingresses" +} +``` + +本节的戏法能用于查询或检视世界中的方块。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_block,title=校验之辑流|> + +vector -> block + +--- + +返回所给位置处方块的类型。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_block_hardness,title=硬度之辑流|> + +vector -> number + +--- + +返回所给位置处方块的硬度。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:can_place_block,title=适用之辑流|> + +vector, [block] -> boolean + +--- + +检查所给位置能否放置所给方块。若未给定方块,检查该位置方块可否被替换。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_redstone_power,title=逻辑之辑流|> + +vector -> number + +--- + +返回所给位置处收到的红石信号强度。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_resonator,title=谐振之辑流|> + +vector -> number + +--- + +返回所给位置处[法术谐振器](^trickster:items/spell_resonator)的信号强度。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/caster_tricks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/caster_tricks.md new file mode 100644 index 000000000000..053bd03cf4f8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/caster_tricks.md @@ -0,0 +1,99 @@ +```json +{ + "title": "施法上下文", + "icon": "trickster:wand", + "category": "trickster:delusions_ingresses" +} +``` + +本节中的错觉术能获取施法实体和方块的上下文。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:reflection,title=定位之错觉|> + +-> vector + +--- + +返回法术施放的位置。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:facing_reflection,title=朝向之错觉|> + +-> vector + +--- + +若可行,将施法方块或实体的朝向返回为单位向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:caster_reflection,title=自审之错觉|> + +-> entity + +--- + +返回施放法术的实体。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_dimension,title=维度之错觉|> + +-> dimension + +--- + +返回法术施放的维度。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:mana_reflection,title=权威之错觉|> + +-> number + +--- + +返回法术直接可用的魔力的量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:max_mana_reflection,title=加冕之错觉|> + +-> number + +--- + +返回法术最多*可能*可用的魔力的量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:current_thread,title=序数之错觉|> + +-> number + +--- + +返回运行此法术的槽位;若不支持槽位,返回-1。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hotbar_reflection,title=框选之错觉|> + +-> number + +--- + +若可用,返回施法者所选中的快捷栏槽位。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_macro_ring,title=宏之错觉|> + +-> {pattern: spell} + +--- + +获取并结合所佩戴所有戒指中的映射。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity.md new file mode 100644 index 000000000000..9c7cda02e619 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity.md @@ -0,0 +1,149 @@ +```json +{ + "title": "实体查询", + "icon": "minecraft:cow_spawn_egg", + "category": "trickster:delusions_ingresses" +} +``` + +各类能获取实体信息的戏法。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_entity_type,title=动机验证之辑流|> + +entity -> entity_type + +--- + +给定实体,返回其类型。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_position,title=位置之辑流|> + +entity -> vector + +--- + +给定实体,返回其在世界中的位置。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_eye_position,title=视角之辑流|> + +entity -> vector + +--- + +给定实体,返回其头部位置。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_facing,title=朝向之辑流|> + +entity -> vector + +--- + +给定实体,返回其朝向向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_velocity,title=运动之辑流|> + +entity -> vector + +--- + +给定实体,返回其当前的速度向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:height_reflection,title=身材之辑流|> + +entity -> number + +--- + +给定实体,返回其高度,以格为单位。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sneaking_reflection,title=换立之辑流|> + +entity -> boolean + +--- + +给定实体,检查其是否在潜行。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sprinting_reflection,title=远足之辑流|> + +entity -> boolean + +--- + +给定实体,检查其是否在疾跑。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:blocking_reflection,title=盾护之辑流|> + +entity -> boolean + +--- + +给定实体,检查其是否在举盾防御。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_max_health,title=活力之辑流|> + +entity -> number + +--- + +给定实体,返回其最大生命值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_health,title=体健之辑流|> + +entity -> number + +--- + +给定实体,返回其当前生命值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_armour,title=垒墙之辑流|> + +entity -> number + +--- + +给定实体,返回其总护甲值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_scale,title=居形之曲变|> + +entity -> number + +--- + +返回所给实体的尺寸。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_flecks,title=观察者之辑流|> + +[entity] -> number[] + +--- + +返回施法者或给定玩家可见所有视形的标识符。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity_locating.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity_locating.md new file mode 100644 index 000000000000..dd7ae9d15dfa --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/entity_locating.md @@ -0,0 +1,29 @@ +```json +{ + "title": "实体定位", + "icon": "minecraft:chicken_spawn_egg", + "category": "trickster:delusions_ingresses" +} +``` + +用于查找和定位世界中实体的戏法。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:block_find_entity,title=怀抱之辑流|> + +vector, [entity_type] -> entity + +--- + +查找给定位置处的实体,可传入实体类型加以限制。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:range_find_entity,title=同命之辑流|> + +vector, number, [entity_type] -> entity[] + +--- + +查找距所给位置处给定范围内的所有实体。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/imports.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/imports.md new file mode 100644 index 000000000000..b8ce302fc7c1 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/imports.md @@ -0,0 +1,32 @@ +```json +{ + "title": "可重用性", + "icon": "trickster:top_hat", + "category": "trickster:delusions_ingresses" +} +``` + +有若干图案能轻松重复利用施法者物品栏中存储的法术片段。 + + +这些图案会直接执行物品中的法术,并使用输入作为执行参数。执行后有可能会向调用法术返回值与片段,或是会产生其他副作用。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:import,title=协助之谋略|> + +item, any... -> any + +--- + +寻找施法者物品栏中的所给物品,并施放第一个抄有法术的目标物品中的法术,使用输入值作为执行参数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:import_hat,title=颅骨之谋略|> + +number, any... -> any + +--- + +获取施法者[高顶礼帽](^trickster:items/top_hat)中给定槽位处的法术,使用输入值作为执行参数施放,并返回执行结果。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/inventory.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/inventory.md new file mode 100644 index 000000000000..e0806bf31211 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/inventory.md @@ -0,0 +1,113 @@ +```json +{ + "title": "物品栏信息", + "icon": "minecraft:bundle", + "category": "trickster:delusions_ingresses" +} +``` + +从施法者物品栏中获取信息的戏法。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_item_in_slot,title=销赃人之辑流|> + +slot -> item + +--- + +返回给定槽位中物品的类型。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:other_hand,title=杂耍之错觉|> + +-> item + +--- + +返回施法者另一只手中物品的类型。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:槽位引用|>物品槽位可被法术引用。制造此类引用没有消耗。但若要使用此类引用以移动槽位中的物品,就需要付出移动所需的代价。此消耗等价于8 kG + (距离 * 数量 * 0.5 kG)。槽位引用必定指向方块的位置,或是指向*移动物品时的施法者*。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:other_hand_slot,title=抛接之错觉|> + +-> slot + +--- + +返回施法者另一只手的槽位引用。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_inventory_slot,title=侵入之辑流|> + +number, [vector | entity] -> slot + +--- + +根据物品栏或容器和索引构建槽位引用,默认使用施法者作为物品栏的来源。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:check_hat,title=颅骨之错觉|> + +-> number | void + +--- + +返回施法者[高顶礼帽](^trickster:items/top_hat)的所选槽位。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_mana_in_slot,title=权威之辑流|> + +slot... -> number + +--- + +返回给定槽位中的魔力的量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_max_mana_in_slot,title=加冕之辑流|> + +slot... -> number + +--- + +返回给定槽位中能容纳的最大魔力的量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_count_in_slot,title=丰裕之辑流|> + +slot -> number + +--- + +返回给定槽位中物品的数量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:block_from_item,title=放置之曲变|> + +item -> block | void + +--- + +返回所给物品类型放置后的方块的类型。若所给物品无法放置为方块,返回void。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:item_from_block,title=拾取之曲变|> + +block -> item | void + +--- + +返回放置所给方块类型所需的物品的类型。若所给方块没有对应物品,返回void。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/raycast.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/raycast.md new file mode 100644 index 000000000000..6481a78f9be4 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/delusions_ingresses/raycast.md @@ -0,0 +1,48 @@ +```json +{ + "title": "射线追踪", + "icon": "minecraft:spectral_arrow", + "category": "trickster:delusions_ingresses" +} +``` + +射线追踪戏法会接受一个实体或位置或方向,并返回该实体的目光所在,或该向量的指向。 + + +以方块为目标的射线追踪可以返回流体,需将最后一个参数设为true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast,title=着点之辑流|> + +entity, [boolean] -> vector | + +vector, vector, [boolean] -> vector + +--- + +返回射线追踪命中的方块。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast_side,title=承座之辑流|> + +entity, [boolean] -> vector | + +vector, vector, [boolean] -> vector + +--- + +返回射线追踪命中的方块的面,以向量表示。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:raycast_entity,title=标记之辑流|> + +entity -> entity | + +vector, vector -> entity + +--- + +返回射线追踪命中的实体。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/arithmetic.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/arithmetic.md new file mode 100644 index 000000000000..1f649ca0091b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/arithmetic.md @@ -0,0 +1,222 @@ +```json +{ + "title": "算术", + "icon": "minecraft:copper_bulb", + "category": "trickster:distortions" +} +``` + +本节的图案主要涉及基础算术及简单数学操作。 + + +许多基础算术操作对数和向量都有效,但并非所有戏法都是这样。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add,title=吞并之谋略|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +将多个数或向量加为单个值。数和向量的和是向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:subtract,title=遗弃之谋略|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +将多个数或向量减为单个值。数和向量的差是向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:multiply,title=统治之谋略|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +将多个数或向量乘为单个值。数和向量的积是向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:divide,title=屈从之谋略|> + +(number | vec)... | (number | vec)[] -> (number | vec) + +--- + +将多个数或向量除为单个值。数和向量的商是向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:modulo,title=整体之曲变|> + +number, number -> number + +--- + +返回第一个数除以第二个数的余数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:power,title=至尊之曲变|> + +number, number -> number + +--- + +返回底数为第一个数,指数为第二个数的幂。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:max,title=高贵之谋略|> + +number... | number[] -> number + +--- + +返回所有输入值中的最大值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:min,title=低位之谋略|> + +number... | number[] -> number + +--- + +返回所有输入值中的最小值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:ceil,title=壮丽之曲变|> + +number -> number + +--- + +将输入值向上取整。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:floor,title=谦卑之曲变|> + +number -> number + +--- + +将输入值向下取整。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:round,title=客观之曲变|> + +number -> number + +--- + +将输入值四舍五入。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sqrt,title=削损之曲变|> + +number -> number + +--- + +返回输入值的平方根。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:invert,title=取反之曲变|> + +number -> number | vec -> vec + +--- + +取反所给数或向量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:abs,title=绝对主义者之曲变|> + +number -> number + +--- + +若所给数为负,返回其相反数。否则直接传出。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:sin,title=甲型几何之曲变|> + +number -> number + +--- + +返回所给数的正弦。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cos,title=乙型几何之曲变|> + +number -> number + +--- + +返回所给数的余弦。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:tan,title=丙型几何之曲变|> + +number -> number + +--- + +返回所给数的正切。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arcsin,title=甲型反几何之曲变|> + +number -> number + +--- + +返回所给数的反正弦。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arccos,title=乙型反几何之曲变|> + +number -> number + +--- + +返回所给数的反余弦。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arctan,title=丙型反几何之曲变|> + +number -> number + +--- + +返回所给数的反正切。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:arctan2,title=笛卡尔角之曲变|> + +number, number -> number + +--- + +返回X轴正向与原点至点(y, x)射线的夹角。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/boolean.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/boolean.md new file mode 100644 index 000000000000..a3bdfd9ac858 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/boolean.md @@ -0,0 +1,92 @@ +```json +{ + "title": "布尔逻辑", + "icon": "minecraft:comparator", + "category": "trickster:distortions" +} +``` + +本节的图案能够执行布尔逻辑运算。 + + +虽然此处会称符记要求传入布尔值,但仍应注意:如有需求,任何法术片段都会自动强制转换为布尔值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:if_else,title=决策之曲变|> + +boolean, any, any -> any + +--- + +根据布尔值返回两个输入量中的一个。若为true,返回第一个;否则返回第二个。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:equals,title=对抵之谋略|> + +any... -> boolean + +--- + +检查各输入是否相等。若全部相等,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:not_equals,title=失抵之谋略|> + +any... -> boolean + +--- + +检查各输入是否不等。若有至少两个输入相等,返回false。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:all,title=无例外之谋略|> + +boolean... -> boolean + +--- + +若所有输入为true,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:any,title=通常态之谋略|> + +boolean... -> boolean + +--- + +若任意输入为true,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:none,title=缺失态之谋略|> + +boolean... -> boolean + +--- + +若没有输入为true,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:lesser_than,title=较小之曲变|> + +number, number -> boolean + +--- + +检查第一个数是否小于第二个数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:greater_than,title=较大之曲变|> + +number, number -> boolean + +--- + +检查第一个数是否大于第二个数。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/functions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/functions.md new file mode 100644 index 000000000000..9c1a136548db --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/functions.md @@ -0,0 +1,126 @@ +```json +{ + "title": "法术片段", + "icon": "minecraft:paper", + "category": "trickster:distortions" +} +``` + +普通的值可以创建、传递、为法术所用,法术自身的片段同样可以。 + + +将圆嵌套到其他圆的内部作为内圆符记,但不为外圆创建子圆,则外圆执行时会将其内圆返回为法术片段。 + +;;;;; + +然后就可对该片段执行多种操作,比如通过[记事员之技巧](^trickster:tricks/basic#4)写入其他物品,或是晚些时候再施放,甚至是在同一个法术中多次施放。 + + +也可以向法术片段传入其自身,然后在那里再次执行,借用递归制造循环。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:execute,title=宏伟之谋略|> + +spell, any... -> any + +--- + +相当强大的戏法,会执行所给法术片段,将其他输入作为执行时的参数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:execute_same_scope,title=静默之曲变|> + +spell -> any + +--- + +执行所给法术,以当前法术的参数作为其参数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:fork,title=器具之谋略|> + +spell, any... -> number + +--- + +为所给法术分配一个空法术槽。返回所占用法术槽的索引,若未能成功分配则返回一个负数。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:集合|>集合是一类法术片段,其中装有其他法术片段,且可通过特定键访问。列表是集合的一种,键为零到列表长度之间的整数,左闭右开。映射也是集合的一种,其键可为任意量,且不会按照插入顺序自动分配。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:fold,title=折叠之曲变|> + +spell, collection, any -> any + +--- + +对集合中的所有元素执行所给法术,第三参数传入为第一次迭代时的“上一迭代的结果”参数。 + +;;;;; + +每次迭代都有四个输入参数: + +--- + +any, any, any, collection + +--- + +第一参数为上一迭代的结果,第二参数为当前操作的值,第三参数为当前操作的键,第四参数为所给集合。 + +;;;;; + +每次迭代的执行结果均会用作下一次迭代的第一参数,最后一次迭代的结果即是整个戏法的结果。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:try_catch,title=谨慎之谋略|> + +spell, spell, any... -> any + +--- + +尝试执行第一法术参数。若产生失策,换而执行第二法术参数并静默该失策。其他输入值同时用作两个法术的参数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:atomic,title=奇点之谋略|> + +spell, any... -> any + +--- + +在单刻内执行所给法术。若法术过大,或产生非法操作,则导致失策。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:supplier,title=供给之曲变|> + +any -> spell + +--- + +创建一个新法术片段,其执行结果即是所给参数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:closure,title=闭包之谋略|> + +spell, {any: any} -> spell + +--- + +将所给法术中与所给映射键对应的符记换成其映射的值。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:参数|>法术片段可以作为参数传入法术片段。 + + +更多信息参见[参数](^trickster:delusions_ingresses/arguments)章节。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/list.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/list.md new file mode 100644 index 000000000000..c2e82a888567 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/list.md @@ -0,0 +1,112 @@ +```json +{ + "title": "列表操纵", + "icon": "minecraft:string", + "category": "trickster:distortions" +} +``` + +法术中可以创建列表。列表中能容纳任意个片段,整体又被视为单个值。 + + +列表索引自零起始。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_size,title=计量之曲变|> + +any[] -> number + +--- + +返回所给列表中元素的数目。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_add,title=扩展之谋略|> + +any[], any... -> any[] + +--- + +将任意个元素接到给定列表末尾。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_take_range,title=孤立之曲真|> + +any[], number, [number] -> any[] + +--- + +取出列表中索引由第一个数起始、在第二个数之前结束的元素,组成子列表并返回。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_reverse,title=计数之曲真|> + +any[] -> any[] + +--- + +倒置所给列表。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_add_range,title=集合之谋略|> + +any[], any[]... -> any[] + +--- + +创建一个新列表,其中包含所有给定列表中的元素。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_insert,title=膨胀之谋略|> + +any[], number, any... -> any[] + +--- + +在给定列表给定位置处插入任意个元素。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_get,title=提取之曲变|> + +any[], number -> any + +--- + +查询并返回给定列表给定索引处的元素。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_index_of,title=定目之曲变|> + +any[], any -> number | void + +--- + +查询并返回给定元素在给定列表中的索引,若列表中不存在该元素,返回void。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_remove,title=驱散之谋略|> + +any[], number... -> any[] + +--- + +根据索引移除给定列表中任意个元素。移除过程中索引不会变化。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:list_remove_element,title=放逐之谋略|> + +any[], any... -> any[] + +--- + +检查给定列表中元素是否与所给参数一致,若一致则移除。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/map.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/map.md new file mode 100644 index 000000000000..7c17f03d8870 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/map.md @@ -0,0 +1,50 @@ +```json +{ + "title": "映射操纵", + "icon": "minecraft:filled_map", + "category": "trickster:distortions" +} +``` + +本节的图案用于操纵映射。映射能建立法术片段到法术片段的联系,类似于字典能将字和其释义联系起来。 + + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_insert,title=编表之谋略|> + +{any: any}, [any, any]... -> any + +--- + +将键值对插入给定映射。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_get,title=领航员之曲变|> + +{any: any}, any -> any + +--- + +若给定法术片段与映射中某键相等,则返回其值;否则返回void。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_merge,title=海军将领之谋略|> + +{any: any}, {any: any}... -> {any: any} + +--- + +将多个映射合一。键相同的键值对取输入索引小的。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:map_remove,title=废止之谋略|> + +{any: any}, any... -> {any: any} + +--- + +移除给定映射中键为所给参数的键值对。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/misc.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/misc.md new file mode 100644 index 000000000000..68167ce93470 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/misc.md @@ -0,0 +1,39 @@ +```json +{ + "title": "杂项曲变术", + "icon": "minecraft:iron_nugget", + "category": "trickster:distortions" +} +``` + +没法分进其他章节的若干杂项曲变术。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:type_fragment,title=参量之曲变|> + +any -> type + +--- + +返回给定片段的类型。可用于校验输入等。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hash_values,title=衰朽之曲变|> + +[any]... -> number + +--- + +将所有给定的输入值变为单个数。给定相同的输入,必定得出同样的数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:escape_pattern,title=释义之曲变|> + +pattern -> pattern_literal + +--- + +将图案变为代表其自身的字面量,供构建法术时使用。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/tree.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/tree.md new file mode 100644 index 000000000000..d482be8854d8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/tree.md @@ -0,0 +1,107 @@ +```json +{ + "title": "法术操纵", + "icon": "minecraft:oak_sapling", + "category": "trickster:distortions" +} +``` + +[抄绘图案](^trickster:editing)能在法术施放前更改法术,而本节中的图案能在法术施放*中*修改。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:地址|>正如列表中的元素可通过索引访问,法术的部件也可由其地址访问。地址是一个整数列表,用以表示法术中前往该圆的路径。 + +;;;;; + +得出圆地址的步骤如下:在根节点处开始;找到前往该圆所需经过的子圆;找出该子圆的索引,即顺时针方向上在该子圆前面的子圆的数目;重复前三步,直至抵达目的圆。所得的列表即是目的圆的地址。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:locate_glyph,title=定址之曲变|> + +spell, any -> number[] | void + +--- + +返回所给法术中、符记为所给参数的第一个圆的地址。搜索时使用[广度优先搜索(BFS)](https://en.wikipedia.org/wiki/Breadth-first_search)。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:locate_glyphs,title=发现之曲变|> + +spell, any -> number[][] + +--- + +返回所给法术中、符记为所给参数的所有圆的地址组成的列表。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:retrieve_glyph,title=检索之曲变|> + +spell, number[] -> any + +--- + +返回所给法术中给定地址处的圆的符记。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_glyph,title=替换之曲变|> + +spell, number[], any -> spell + +--- + +将所给法术中给定地址处的圆的符记替换为所给片段。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_subparts,title=扎束之曲变|> + +spell -> spell[] + +--- + +将法术的各支返回为列表。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:retrieve_subtree,title=伐树之曲变|> + +spell, number[] -> spell | void + +--- + +返回给定地址处的圆及其各支。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_subtree,title=嫁接之曲变|> + +spell, number[], spell -> spell + +--- + +将后一法术嫁接到前一法术中给定地址处,替代该处的圆。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add_subtree,title=分枝之曲变|> + +spell, number[], spell -> spell + +--- + +将后一法术接到前一法术中给定地址处,作为该处圆的子支。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:remove_subtree,title=剪枝之曲变|> + +spell, number[] -> spell | void + +--- + +移除给定地址处的圆。若移除的是根节点,返回void。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/vector.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/vector.md new file mode 100644 index 000000000000..58680712d299 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/distortions/vector.md @@ -0,0 +1,101 @@ +```json +{ + "title": "向量操作", + "icon": "minecraft:arrow", + "category": "trickster:distortions" +} +``` + +许多向量数学运算都可由基础的[算术](^trickster:distortions/arithmetic)图案实现,但某些运算需要更专精的图案。本节图案正在此列。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_x,title=甲元之曲变|> + +vector -> number + +--- + +返回所给向量的X分量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_y,title=乙元之曲变|> + +vector -> number + +--- + +返回所给向量的Y分量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:extract_z,title=丙元之曲变|> + +vector -> number + +--- + +返回所给向量的Z分量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:merge_vector,title=吸收之曲变|> + +number, number, number | + +number[] -> vector + +--- + +将三个输入数合并为向量。可通过列表传入数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:length,title=模长之曲变|> + +vector -> number + +--- + +返回所给向量的长度。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:dot_product,title=合向之曲变|> + +vector, vector -> number + +--- + +返回所给向量的点积。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cross_product,title=垂直之曲变|> + +vector, vector -> vector + +--- + +返回所给向量的叉积。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:normalize,title=归一之曲变|> + +vector -> vector + +--- + +将所给向量归一化至长度为一。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:align_vector,title=合向归一之曲变|> + +vector -> vector + +--- + +将所给向量归一化至长度为一,并将其方向变为最近的轴向。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/editing.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/editing.md new file mode 100644 index 000000000000..91dce9c0eadf --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/editing.md @@ -0,0 +1,237 @@ +```json +{ + "title": "法术抄绘", + "icon": "trickster:scroll_and_quill", + "ordinal": 1 +} +``` + +<|pattern@trickster:templates|pattern=0\,4\,8\,7,title=延枝之修订|> + +{gray}(抄绘图案){} + +--- + +向任意圆添加一个新子圆。 + +;;;;; + +![](trickster:textures/gui/img/extension_revision.png,fit) + +在蓝色圆中绘制延枝之修订后,即会创建绿色圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8\,5,title=内环之修订|> + +{gray}(抄绘图案){} + +--- + +向现有的圆添加一个内圆。内圆的功效与符记类似,激活条件也相同。参见[法术片段](^trickster:distortions/functions)。 + +;;;;; + +![](trickster:textures/gui/img/inner_revision.png,fit) + +在蓝色圆中绘制内环之修订后,即会创建绿色圆。 + +;;;;; + +内圆的功效与符记类似,能返回其结果,或使用参数执行。 + + +无相接的子圆时,包含内圆的圆会将内圆返回为法术片段。此性质可用于元编程、递归、动态法术的持久存储,诸如此类。 + +;;;;; + +*确有*相接的子圆时,内圆会直接像被[宏伟之谋略](^trickster:distortions/functions#3)调用那样执行,并使用相接子圆的输出作为参数。 + + +需要在多处使用一个值的时候,此性质很实用,因为内圆和法术片段是将片段移回叶节点的唯一方式。 + +;;;;; + +<|pattern@trickster:templates|pattern=3\,0\,4\,8,title=分枝之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处的圆换成新圆,原有的圆变成新圆的子圆。 + +;;;;; + +![](trickster:textures/gui/img/split_revision.png,fit) + +在蓝色圆中绘制分枝之修订后,即会创建绿色圆,并将蓝色圆变成绿色圆的子圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,4\,8,title=生长之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处的圆作为内圆嵌入其他圆。 + +;;;;; + +![](trickster:textures/gui/img/growth_revision.png,fit) + +在蓝色圆中绘制生长之修订后,即会创建绿色圆,并将蓝色圆变成绿色圆的内圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8,title=嫁接之修订|> + +{gray}(抄绘图案){} + +--- + +移除绘制处的圆。若有子圆,则替换为其第一子圆。 + +;;;;; + +![](trickster:textures/gui/img/grafting_revision.png,fit) + +在黄色圆中绘制嫁接之修订后,黄色圆和红色圆都会被删除,并由绿色圆替换黄色圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=0\,4\,8\,5\,2\,1\,0\,3\,6\,7\,8,title=剪枝之修订|> + +{gray}(抄绘图案){} + +--- + +移除绘制处的圆及其子圆。 + +;;;;; + +![](trickster:textures/gui/img/pruning_revision.png,fit) + +在黄色圆中绘制剪枝之修订后,黄色圆和红色圆都会被删除。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,4\,6,title=登升之修订|> + +{gray}(抄绘图案){} + +--- + +扩展绘制处的圆,以替换其外圆。 + +;;;;; + +![](trickster:textures/gui/img/ascension_revision.png,fit) + +在蓝色圆中绘制登升之修订后,即会删除红色圆,并由蓝色圆替换。 + +;;;;; + +<|pattern@trickster:templates|pattern=6\,3\,0\,4\,8,title=奉献之修订|> + +{gray}(抄绘图案){} + +--- + +为外圆添加一个子圆。 + +;;;;; + +![](trickster:textures/gui/img/devotion_revision.png,fit) + +在蓝色圆中绘制奉献之修订后,即会创建绿色圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,5,title=旋移之修订|> + +{gray}(抄绘图案){} + +--- + +顺时针循环移动绘制处圆的子圆,即最后一个子圆变为第一子圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,3,title=反向旋移之修订|> + +{gray}(抄绘图案){} + +--- + +功效与旋移之修订相反,会逆时针循环移动子圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=2\,4\,3,title=对换之修订|> + +{gray}(抄绘图案){} + +--- + +交换第一子圆和第二子圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=4\,0\,1\,4\,2\,1,title=记事员之修订|> + +{gray}(抄绘图案){} + +--- + +从施法者副手物品中读出法术,并替换绘制处的圆。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,2\,4\,1\,0\,4\,7,title=内环记事员之修订|> + +{gray}(抄绘图案){} + +--- + +从施法者副手物品中读出法术,并加作绘制处圆的符记。 + +;;;;; + +<|pattern@trickster:templates|pattern=4\,3\,0\,4\,5\,2\,4\,1,title=宏伟之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处圆的符记换为施法者副手物品中法术施放的结果。需持有[手镜](^trickster:items/mirror_of_evaluation)。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,4\,7\,6\,4\,8\,7,title=剽窃者之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处的圆复制入施法者的副手物品。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,8\,6\,1,title=释义之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处圆中已有的图案变为图案字面量。 + +;;;;; + +<|pattern@trickster:templates|pattern=1\,0\,4\,8\,7\,6\,4\,2\,1\,4,title=地址之修订|> + +{gray}(抄绘图案){} + +--- + +将绘制处圆的[地址](^trickster:distortions/tree#2)写入另一只手中的物品。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/intro.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/intro.md new file mode 100644 index 000000000000..3b8a7ee64f48 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/intro.md @@ -0,0 +1,22 @@ +```json +{ + "title": "介绍", + "icon": "minecraft:written_book", + "ordinal": 0 +} +``` + +欢迎阅读《**魔术把戏秘典**》——你在魔法、魔术、应用数学领域中的指南! + + +本书分为数个分类下的许多章节。 +除去“教程”分类外,其余章节并不要求按顺序阅读,也可只在有需求时才阅读。 + +;;;;; + +如果在游玩模组时遇到了困难,或是很难理解某个概念和功能,抑或是碰见了漏洞或者其他问题,请在**[Discord](https://discord.gg/WcYsDDQtyR)**上告知我们。 + + +以及在所有这些中最重要的,玩得开心! + +![](trickster:textures/gui/img/catstare.png) diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/cracked_echo_knot.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/cracked_echo_knot.md new file mode 100644 index 000000000000..755bcb992c75 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/cracked_echo_knot.md @@ -0,0 +1,13 @@ +```json +{ + "title": "开裂的回响晶结", + "icon": "trickster:cracked_echo_knot", + "category": "trickster:items", + "required_advancements": [ + "trickster:cracked_echo_knot" + ], + "secret": true +} +``` + +这些[晶结](^trickster:items/knots)出自古老文明的废墟,残破但仍能够使用。它们会以绿宝石晶结的两倍速度自然充能,其容量则是钻石晶结的两倍。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/echo_knot.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/echo_knot.md new file mode 100644 index 000000000000..3c82bb05a219 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/echo_knot.md @@ -0,0 +1,13 @@ +```json +{ + "title": "回响晶结", + "icon": "trickster:echo_knot", + "category": "trickster:items", + "required_advancements": [ + "trickster:echo_knot" + ], + "secret": true +} +``` + +只消单个碎片,就能制成两个[晶结](^trickster:items/knots),容量相当于钻石晶结的两倍,自然充能速率更是其三倍:回响晶结已堪称超凡脱俗。但这并非它们真正的独特之处。源自同一回响碎片的两个晶结共享一个魔力储库。无论两者在什么地方,将其中一个填满,它的孪生晶结也将被填满。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/knots.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/knots.md new file mode 100644 index 000000000000..ac39c724183b --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/knots.md @@ -0,0 +1,39 @@ +```json +{ + "title": "晶结", + "icon": "trickster:emerald_knot", + "category": "trickster:items" +} +``` + +晶结是包裹着玻璃球壳的宝石,能够存储一定量的[魔力](^trickster:concepts/mana)。宝石的稀有度不同,存储的量也不同。 + + +某些宝石制成晶结后会有特殊的性质。如紫水晶在制成晶结之时就已拥有魔力,但无法以已知方式再次填充;其他的宝石都不具有此性质。 + +;;;;; + +大多数宝石和水晶都可通过[望月者之技巧](^trickster:ploys/mana#2)制成晶结。 + + +此技巧术有两个可选参数,其一为放有宝石的[槽位](^trickster:delusions_ingresses/inventory#4),其二为放有玻璃块的槽位。若未传入后者,则使用第一个可用的玻璃。若未传入前者,则使用第一个可用的紫水晶碎片。也即,如果不提供槽位信息,就无法以紫水晶之外的材料制作晶结。 + +;;;;; + +<|item-tag@trickster:templates|tag-id=trickster:spoilerless_mana_knots|> + +目前已知的几种晶结如下: + +- __紫水晶__\ +制作消耗:无\ +容量:128 kG +- __绿宝石__\ +制作消耗:512 kG +容量:1024 kG +- __钻石__\ +制作消耗:8192 kG +容量:16384 kG + +;;;;; + +其他宝石和水晶也有可能可以制成晶结,但必须一一测试才能证实。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/mirror_of_evaluation.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/mirror_of_evaluation.md new file mode 100644 index 000000000000..b6b92a9a0209 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/mirror_of_evaluation.md @@ -0,0 +1,31 @@ +```json +{ + "title": "执行手镜", + "icon": "trickster:mirror_of_evaluation", + "category": "trickster:items" +} +``` + +执行手镜和实用的[卷轴与笔](^trickster:items/scroll_and_quill)极为相似。两者的主要区别在于:在使用手镜的过程中,它会贪婪地执行法术中的任意部件,只要可以执行就执行。 + + +比如说,你编写了一个子圆,又为其加上了两个子圆,再在这两个子圆里都画上[基础之错觉](^trickster:constants#1)。 + +;;;;; + +绘制时,这两个子圆的符记就会变成数“2”字面量。 + + +然后又比如说,在这两个子圆的父圆里画上[吞并之谋略](^trickster:distortions/arithmetic#2)。如此操作会立刻删去两个子圆,父圆的符记也会变为数“4”字面量。 + +;;;;; + +理解这些机制的最好方式,莫过于亲手实践: + + + +有一点需要注意。手镜虽然会尽其所能执行,但存储在其中的法术依然被视为“抄入”的法术。 + +;;;;; + +也即,手镜可通过所有常规的法术读写方法交互。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/modular_spell_construct.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/modular_spell_construct.md new file mode 100644 index 000000000000..bb40745357bb --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/modular_spell_construct.md @@ -0,0 +1,15 @@ +```json +{ + "title": "模块式法术组构台", + "icon": "trickster:modular_spell_construct", + "category": "trickster:items" +} +``` + +模块式法术组构台和简单的[法术组构台](^trickster:items/spell_construct)不同:它不会执行抄入的法术,而是可以在四角的槽位插入最多四枚[法术核心](^trickster:items/spell_core)。各个法术核心会并发执行,执行所需的魔力来自组构台中央的[晶结](^trickster:items/knots),并且所有法术核心共享[乌鸦之思](^trickster:tricks/basic#7)。 + +;;;;; + +此类组构台中的法术核心可以互相访问和委托任务,所使用的戏法与操纵玩家法术槽所用的一致。高水平的魔术师和戏法师可借此设计出持久执行的多线程法术。 + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ominous_spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ominous_spell_core.md new file mode 100644 index 000000000000..a9deab7811a2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ominous_spell_core.md @@ -0,0 +1,13 @@ +```json +{ + "title": "不祥法术核心", + "icon": "trickster:ominous_spell_core", + "category": "trickster:items", + "required_advancements": [ + "trickster:ominous_spell_core" + ], + "secret": true +} +``` + +[法术核心](^trickster:items/spell_core)的变种,出现在试炼密室的宝库中。它们执行法术的速度与玩家相当。其制作方法仍未解明,但它们与普通法术核心的区别只在于它们的那抹钻石光辉。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ring.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ring.md new file mode 100644 index 000000000000..566214928066 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/ring.md @@ -0,0 +1,11 @@ +```json +{ + "title": "宏戒指", + "icon": "trickster:macro_ring", + "category": "trickster:items" +} +``` + +普通的金戒指,用于承载[宏](^trickster:concepts/macro)。 + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/rusted_spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/rusted_spell_core.md new file mode 100644 index 000000000000..01699ef6486d --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/rusted_spell_core.md @@ -0,0 +1,13 @@ +```json +{ + "title": "生锈法术核心", + "icon": "trickster:rusted_spell_core", + "category": "trickster:items", + "required_advancements": [ + "trickster:rusted_spell_core" + ], + "secret": true +} +``` + +这些[法术核心](^trickster:items/spell_core)老旧而严重磨损,会出现在主世界四处遗落的箱子中。它们与其他法术核心不同,制作时使用的是普通金属,而现如今已经开始生锈了。非常不建议在不做完善准备的情况下使用此类法术核心。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_and_quill.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_and_quill.md new file mode 100644 index 000000000000..45b1909dbefb --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_and_quill.md @@ -0,0 +1,44 @@ +```json +{ + "title": "卷轴与笔", + "icon": "trickster:scroll_and_quill", + "category": "trickster:items" +} +``` + +卷轴与笔是编写与存储复杂而可重用法术的便捷工具。 + + +手持右击会打开[法术抄绘](^trickster:editing)界面,可在其中直接修改卷轴上的法术。 + + +卷轴可以存放在[高顶礼帽](^trickster:items/top_hat)中,方便获取,还能保证其安全。 + +;;;;; + +卷轴上写有的法术可通过[记事员之错觉](^trickster:tricks/basic#3)读出。也可以用[记事员之技巧](^trickster:tricks/basic#4)程序化写入卷轴。 + + + +;;;;; + +在工作台中合成卷轴和任意染料可以为其染色: + +<|item-tag@trickster:templates|tag-id=trickster:dyed_scroll_and_quill|> + +手持卷轴与笔Shift右击可为卷轴署名。如此可为卷轴定制名称,无需消耗任何资源。这之后,卷轴就无法再以任何方式写入。 + +;;;;; + +不过,署过名的卷轴中可以注入一到八瓶法术墨水。法术墨水是一种特殊的制剂,能给卷轴注入仅限单次使用的魔力。 + + +融有魔力的卷轴可以直接施放,不会对施法者造成危害,但这么做会损毁卷轴。 + +;;;;; + +单次使用的卷轴内部有一魔力储库。制作时放入的法术墨水份数乘以100,即为该储库的容量。 + + + +不可食用! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_shelf.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_shelf.md new file mode 100644 index 000000000000..51bd17eab2ac --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/scroll_shelf.md @@ -0,0 +1,18 @@ +```json +{ + "title": "卷轴架", + "icon": "trickster:scroll_shelf", + "category": "trickster:items" +} +``` + +卷轴架是存储卷轴的好方式,也能在视觉上直接展示出你的法术藏品。此方块的功能与雕纹书架类似,手持卷轴右击其前方的空槽位,即可将卷轴放入其中,再次点击就可取出。 + +;;;;; + +经过染色的卷轴放到卷轴架中后,会显示为其染料颜色。将十字准星对准卷轴时,其上会显示其名称以便检索。 + + +卷轴架可与漏斗交互。 + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_construct.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_construct.md new file mode 100644 index 000000000000..1703dc836ae2 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_construct.md @@ -0,0 +1,18 @@ +```json +{ + "title": "法术组构台", + "icon": "trickster:spell_construct", + "category": "trickster:items" +} +``` + +法术组构台是一种较为简单的设备,抄入法术再放置出来,即会持久施放所抄的法术。 + + +组构台最适用于对世界中的变化产生反应,或是会周期性触发的[长时运行](^trickster:concepts/multi_tick)法术。 + +;;;;; + +如果需要提供魔力源,可手持[晶结](^trickster:items/knots)右击组构台的中心以放入。还可Shift右击组构台以重置当前法术,并清除之前产生的失策。 + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_core.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_core.md new file mode 100644 index 000000000000..dcfbf61648b7 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_core.md @@ -0,0 +1,19 @@ +```json +{ + "title": "法术核心", + "icon": "trickster:spell_core", + "category": "trickster:items" +} +``` + +法术核心可以插入[模块式法术组构台](^trickster:items/modular_spell_construct),并在其中以玩家的75%速度运行抄入的法术。 + + +取出后的核心会保留其状态,插回即恢复运行,除非在此期间抄入了不同的法术。 + +;;;;; + +为制造一个法术核心,必须使用一枚紫水晶的碎片作为*通路*,一颗末地的珍珠作为*心脏*,一缕金线作为*意识*,一圈皮革环作为*守卫*。 + + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_resonator.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_resonator.md new file mode 100644 index 000000000000..afa26b0a9984 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/spell_resonator.md @@ -0,0 +1,16 @@ +```json +{ + "title": "法术谐振器", + "icon": "trickster:spell_resonator", + "category": "trickster:items" +} +``` + +一件简单的设备,能向所依附的方块发出任意强度的红石信号。 + + +可分别通过[谐振之技巧](^trickster:ploys/block#12)和[谐振之辑流](^trickster:delusions_ingresses/block#5)配置与查询其红石信号。 + +;;;;; + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/top_hat.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/top_hat.md new file mode 100644 index 000000000000..536e66867a3a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/top_hat.md @@ -0,0 +1,35 @@ +```json +{ + "title": "帽子", + "icon": "trickster:top_hat", + "category": "trickster:items" +} +``` + +戏法师的帽子是一件相当精巧的物什。戴在头上后,施法者按下键即可将帽子迅速取到副手中。 + + +副手持有帽子时可以右击打开,其中能容纳27张卷轴。持有帽子时按住Shift滚动滚轮,可以切换选中哪张卷轴。 + +;;;;; + +若是一条正在执行的法术试图通过[记事员之错觉](^trickster:tricks/basic#3)访问另一只手中的法术,则它会转而读取所持帽子中选定的卷轴。 + + +还可以通过[颅骨之谋略](^trickster:delusions_ingresses/imports#3)访问帽中任意槽位的法术,或是通过[颅骨之错觉](^trickster:delusions_ingresses/inventory#7)读出所选槽位中的法术。 + +;;;;; + +帽子有多种不同款式,可随心意挑选。它们的功能完全一致。 + + +经典款高顶礼帽: + + +;;;;; + +神秘的女巫帽: + + +甚至还有朴实(但很酷)的菲斯帽: + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/wand.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/wand.md new file mode 100644 index 000000000000..ebbded201d7a --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/wand.md @@ -0,0 +1,13 @@ +```json +{ + "title": "魔杖", + "icon": "trickster:wand", + "category": "trickster:items" +} +``` + +魔杖是一件相当简单的魔法工具,手持右击时其会施放抄入其中的法术。 + + + +可通过[记事员之技巧](^trickster:tricks/basic#4)向魔杖抄入法术。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/warding_charm.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/warding_charm.md new file mode 100644 index 000000000000..9364a7bc5978 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/items/warding_charm.md @@ -0,0 +1,11 @@ +```json +{ + "title": "戒守护符", + "icon": "trickster:warding_charm", + "category": "trickster:items" +} +``` + +基础的魔法饰品,能够承载用作[戒守](^trickster:concepts/ward)的法术。 + + diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/landing_page.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/landing_page.md new file mode 100644 index 000000000000..aef8a972a9f9 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/landing_page.md @@ -0,0 +1,7 @@ +```json +{ + "title": "魔术把戏秘典" +} +``` + +<|spell-preview@trickster:templates|spell=YwyT9+Z3YJjPxgRiMLg4cDGDGIwMDgyMIAZHCAMDg9azL5ogToCHQydYdIMPA0RakYGJEcwI4HHoxKcQaGAnE4TBwAEWYWBUQLICjxkLGhwaoVqZIArBDAYAAInoArsAAAA=|> diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/block.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/block.md new file mode 100644 index 000000000000..820a1ff18d2e --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/block.md @@ -0,0 +1,121 @@ +```json +{ + "title": "方块交互", + "icon": "minecraft:string", + "category": "trickster:ploys" +} +``` + +本节中的图案会直接在世界中的方块上运作。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:break_block,title=摧毁之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=max(硬度 * 1 kG\, 8 kG)|> + +破坏给定位置处的方块。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:place_block,title=造物之技巧|> + +vector, slot | + +vector, block -> vector + +<|cost-rule@trickster:templates|formula=max(距离 * 1 kG\, 8 kG)|> + +将所给方块放置在所给位置处。会消耗物品。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:swap_block,title=交换之技巧|> + +vector, vector -> + +<|cost-rule@trickster:templates|formula=60 kG + 距离 * 1 kG|> + +交换世界中两个位置处的方块。两处均不允许为空气。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:加热与冷却|>向方块灌入大量魔力可加热方块,从中抽出大量魔力可冷却。 + + +某些方块经受此类极端温度变化后会变为有用的事物,不过如此操作会对其周围方块产生附带效果。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:heat,title=赋权之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=80 kG|> + +立即猛烈加热所给方块。 + + +可借此高效加热熔炉。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cool,title=撤权之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=80 kG|> + +立即让所给方块大幅冷却。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:erode,title=损蚀之技巧|> + +vector, vector -> vector + +<|cost-rule@trickster:templates|formula=80 kG|> + +使用第二个位置处的水锈蚀第一个位置处的方块。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_flower,title=花卉之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=5 kG|> + +在所给位置处随机构筑一朵花。下方方块的顶面需为土壤。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_water,title=盈水之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=15 kG|> + +在所给位置处构筑出一潭水。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:conjure_light,title=光辉之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=20 kG|> + +在所给位置处构筑出一个永久性光源。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:power_resonator,title=谐振之技巧|> + +vector, number -> boolean + +<|cost-rule@trickster:templates|formula=距离 / 2 kG|> + +令所给位置处[法术谐振器](^trickster:items/spell_resonator)产生所给强度的信号,强度需在0到15之间。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/entity.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/entity.md new file mode 100644 index 000000000000..4b100d3e927c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/entity.md @@ -0,0 +1,79 @@ +```json +{ + "title": "实体交互", + "icon": "minecraft:sheep_spawn_egg", + "category": "trickster:ploys" +} +``` + +与操纵实体有关的各种戏法。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:add_velocity,title=动能之技巧|> + +entity, vector -> entity + +<|cost-rule@trickster:templates|formula=3 kG + 向量长度^3 * 2 kG|> + +将所给向量视为速度,并施予所给实体。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:change_weight,title=轻羽之技巧|> + +entity, number -> entity + +<|cost-rule@trickster:templates|formula=60 kG|> + +给定0到1之间的数,若实体为生物实体,则让其所受重力变为原重力与所给数的积,持续1秒。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:polymorph,title=变身之技巧|> + +entity, entity -> + +<|cost-rule@trickster:templates|formula=8000 kG|> + +将第一个实体变身为第二个实体,仅会变换外形。**目前只对玩家有效。** + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:dispel_polymorph,title=解除变身之技巧|> + +entity -> entity + +<|cost-rule@trickster:templates|formula=1000 kG|> + +解除所给实体上的变身效果。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:store_entity,title=收容之技巧|> + +entity -> + +<|cost-rule@trickster:templates|formula=2000 kG + 距离 ^ (距离 / 5) kG|> + +将所给实体存储到施法者的副手物品中。该物品必须能存储实体,且实体不可为玩家。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:release_entity,title=释脱之技巧|> + +vector -> entity | void + +<|cost-rule@trickster:templates|formula=2000 kG + 距离 ^ (距离 / 5) kG|> + +将存储在施法者副手物品中的实体释放到给定位置,并返回该实体。若无实体,返回void。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_scale,title=居形之技巧|> + +entity, number -> entity + +<|cost-rule@trickster:templates|formula=abs(当前尺寸 - 新尺寸)^2 * 100 kG + 新尺寸 * 50 kG|> + +变动所给实体的尺寸。目标尺寸不可小于原大的0.0625,也不可大于原大的8倍。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/flecks.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/flecks.md new file mode 100644 index 000000000000..4354634bbf31 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/flecks.md @@ -0,0 +1,56 @@ +```json +{ + "title": "视形", + "icon": "minecraft:ghast_tear", + "category": "trickster:ploys" +} +``` + +*人世茫茫,* + +*于间彷徨。* + + +*意识回环,* + +*于间镌廊。* + + +*目光乍落,* + +*于间显相,* + + +*华若天赐,* + +*人心向往。* + + +—— 欧阿菲利 + +;;;;; + +视形是对特定玩家显示数据的方法。视形只会显示短短一秒,因此需要不停刷新。 + + +所有制造视形的戏法都需要用作标识的数,后续其他施法者也可以用该数更新和覆写视形。戏法会返回该数,便于链式执行。视形还能接受一个玩家列表或玩家的可选参数,只有这些玩家能看见该视形。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:draw_spell,title=营销员之技巧|> + +number, vector, vector, spell, [entity[] | entity] -> number + +--- + +在所给位置以所给朝向显示所给法术。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:draw_line,title=艺术家之技巧|> + +number, vector, vector, [entity[] | entity] -> number + +--- + +在所给位置间绘制线段。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/inventory.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/inventory.md new file mode 100644 index 000000000000..0da4ce7c6fcf --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/inventory.md @@ -0,0 +1,39 @@ +```json +{ + "title": "物品栏操纵", + "icon": "minecraft:chest", + "category": "trickster:ploys" +} +``` + +本节技巧术能与物品栏的槽位及其他特性交互。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:drop_stack_from_slot,title=祭献之技巧|> + +slot, vector, [number] -> entity + +--- + +在给定位置处丢出物品,并返回该物品实体。有丢出数目参数可选。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:swap_slot,title=骗徒之技巧|> + +slot, slot -> + +--- + +交换给定槽位的物品组。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:set_hat,title=颅骨挪移之技巧|> + +number -> boolean + +--- + +将施法者[高顶礼帽](^trickster:items/top_hat)的所选槽位设为该数,根据成功与否返回布尔值。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/mana.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/mana.md new file mode 100644 index 000000000000..398805f25be0 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/mana.md @@ -0,0 +1,39 @@ +```json +{ + "title": "黑夜中的幽光", + "icon": "trickster:echo_knot", + "category": "trickster:ploys" +} +``` + +用于制造[晶结](^trickster:items/knots)和在其间转移魔力的戏法。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:battery_creation,title=望月者之技巧|> + +[slot], [slot] -> + +--- + +使用所给槽位中的宝石和水晶及玻璃制造晶结。若未提供槽位参数,则使用紫水晶。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:push_mana,title=善流之技巧|> + +number, slot... -> number + +--- + +向给定槽位的物品输送魔力,每个槽位最多传输给定数的量,并返回实际传输的量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:pull_mana,title=恶流之技巧|> + +number, slot... -> number + +--- + +从给定槽位的物品抽取魔力,每个槽位最多传输给定数的量,并返回实际传输的量。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/message.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/message.md new file mode 100644 index 000000000000..4277b3d675cd --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/message.md @@ -0,0 +1,29 @@ +```json +{ + "title": "法术间交流", + "icon": "minecraft:feather", + "category": "trickster:ploys" +} +``` + +本节的戏法能让不同法术间互相沟通交流。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:message_send,title=派遣之技巧|> + +any, [number] -> any + +<|cost-rule@trickster:templates|formula=max(0 kG\, 范围 - 16 kG)|> + +将传入的片段发送到16格内的所有法术。可给定范围参数扩展范围,此时需消耗魔力。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:message_listen,title=收据之技巧|> + +-> any[] + +--- + +在收到消息的后一刻返回所有消息。若未收到消息,会等待至收到消息再返回。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/misc.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/misc.md new file mode 100644 index 000000000000..072f126226ca --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/misc.md @@ -0,0 +1,73 @@ +```json +{ + "title": "杂项技巧术", + "icon": "minecraft:iron_ingot", + "category": "trickster:ploys" +} +``` + +没法分进其他章节的若干杂项技巧术。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:delay_execution,title=挂起之技巧|> + +[number] -> number + +--- + +将当前法术的执行延迟所给数刻,未指定则延迟一刻。返回延迟量。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:pin_chunk,title=天钉之技巧|> + +vector -> vector + +<|cost-rule@trickster:templates|formula=4 kG|> + +将包含所给位置的区块完全加载4秒。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:条栏|>法术可在施法者的屏幕上将任意值显示为条栏。 + + +条栏由数标识,且可借此数随时修改。条栏的颜色由其标识符决定,同样的标识符必定产生同样的颜色。 + +;;;;; + +可向条栏传入一个数,视作0到1之间的比例;也可传入两个数,第一个数为当前量,第二个为最大量。 + + +更新时其会向父圆返回其值,方便链式执行。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:show_bar,title=清晰之技巧|> + +number, number, [number] -> number + +--- + +在施法者的屏幕中显示一个条栏,使用第一个数作为标识符,并显示第二个数。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:clear_bar,title=混淆之技巧|> + +number -> number + +--- + +立即清除施法者屏幕中标识符为所给数的条栏。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:kill_thread,title=行刑者之技巧|> + +[number] -> boolean + +--- + +终止所给法术槽中的法术,若未指定法术槽则终止当前法术。根据成功与否返回布尔值。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/particle.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/particle.md new file mode 100644 index 000000000000..dc6214ead484 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/particle.md @@ -0,0 +1,19 @@ +```json +{ + "title": "粒子", + "icon": "minecraft:firework_rocket", + "category": "trickster:ploys" +} +``` + +能在世界中显示粒子的多种技巧术。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:highlight,title=繁盛之技巧|> + +vector... | vector[] -> vector + +--- + +高亮给定的方块,返回第一个输入。 \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/projectile.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/projectile.md new file mode 100644 index 000000000000..7df91a1497e6 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/ploys/projectile.md @@ -0,0 +1,49 @@ +```json +{ + "title": "弹射物", + "icon": "minecraft:fire_charge", + "category": "trickster:ploys" +} +``` + +能操纵弹射物的戏法。本节戏法会消耗施法者物品栏中的物品,或是需要提供槽位信息。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_arrow,title=弩炮之技巧|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20 kG + 距离 ^ (距离 / 3) kG|> + +在给定位置召唤一根箭,并返回其实体。需要消耗箭。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_fireball,title=火焰术师之技巧|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20 kG + 距离 ^ (距离 / 3) kG|> + +在给定位置召唤一个火球,并返回其实体。需要消耗火焰弹。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_dragon_breath,title=巨龙之技巧|> + +vector, [slot], [slot] -> entity + +<|cost-rule@trickster:templates|formula=20 kG + 距离 ^ (距离 / 3) kG|> + +在给定位置召唤一个末影龙火球,并返回其实体。需要消耗龙息和火焰弹。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:summon_tnt,title=爆破师之技巧|> + +vector, [slot] -> entity + +<|cost-rule@trickster:templates|formula=20 kG + 距离 ^ (距离 / 3) kG|> + +在给定位置召唤一个激活的TNT,并返回其实体。需要消耗TNT。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/basic.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/basic.md new file mode 100644 index 000000000000..8820198eb145 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/basic.md @@ -0,0 +1,110 @@ +```json +{ + "title": "基础戏法", + "icon": "minecraft:bricks", + "category": "trickster:tricks" +} +``` + +本节列出了最为基础也最为通用的戏法。推荐每一位雄心勃勃的魔术师和戏法师都学会这些戏法。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:抄入的片段|>只要某一物品可存储在玩家物品栏中,那就可以抄入法术片段。若抄入的是方块,放置后其上法术片段即会消失。 + + +某些物品抄入法术后会具有额外的交互功能,如[魔杖](^trickster:items/wand)会在右击时施放法术片段。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_spell,title=记事员之错觉|> + +-> any + +--- + +若施法者另一只手中物品抄有法术片段,则返回该片段;否则返回void。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_spell,title=记事员之技巧|> + +any, [slot] -> any + +--- + +将法术片段抄入所给槽位中或施法者副手中的物品。在片刻之后返回其输入值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_closed_spell,title=禁文记事员之技巧|> + +any, [slot] -> any + +--- + +与记事员之技巧相同,但抄入的片段无法以常规方式读出。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:clear_spell,title=畏真者之技巧|> + +[slot] -> + +--- + +清除所给槽位中或施法者副手中物品上的法术片段。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:reveal,title=展示之谋略|> + +any... -> any + +--- + +将给定的所有值作为聊天信息发送给施法者,返回第一参数。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:乌鸦之思|>乌鸦之思(不应与其他黑鸟之思混淆)能让法术存入或取回一个法术片段,且该片段会在不同次施法间**保留**。 + + +乌鸦之思可以用作计数器,用来标记位置,以及用来选定目标。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:read_crow_mind,title=乌鸦灵思之错觉|> + +-> any + +--- + +返回施法者乌鸦之思中的值。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:write_crow_mind,title=乌鸦灵思之技巧|> + +any -> any + +--- + +将所给值存进施法者的乌鸦之思,并覆盖其中的值。 + +;;;;; + +<|page-title@lavender:book_components|title=笔记:施法消耗|>在收到多封来自魔术把戏股份有限公司总部关于本模组平衡性的投诉信后,我们决定正式实装物质层面上的法术消耗。 + + +但是,玩家们的自由和选择权利也对我们至关重要。因此,本系统不作强制要求。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:cost,title=消耗之技巧|> + +-> + +--- + +消耗施法者物品栏中的一个紫水晶碎片。若无则产生失策。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/transmog.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/transmog.md new file mode 100644 index 000000000000..a01e088bb0b6 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tricks/transmog.md @@ -0,0 +1,58 @@ +```json +{ + "title": "幻化", + "icon": "transmog:void_fragment", + "category": "trickster:tricks", + "fabric:load_conditions": { + "condition": "fabric:any_mods_loaded", + "values": [ + "transmog" + ] + } +} +``` + +这个世界似乎有些不同寻常:其中物品的外形能幻化成另一种物品。 + + +幻化只会转换物品的外观,而不会影响其属性和行为。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:transmog,title=幻化之技巧|> + +slot, item -> boolean + +<|cost-rule@trickster:templates|formula=20 kG|> + +将给定槽位中的物品幻化为给定物品。若幻化成功,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:hidden_transmog,title=诡谋之技巧|> + +slot -> boolean + +<|cost-rule@trickster:templates|formula=30 kG|> + +将给定槽位中的物品幻化为虚无。若幻化成功,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:remove_transmog,title=原形之技巧|> + +slot -> boolean + +<|cost-rule@trickster:templates|formula=10 kG|> + +去除给定槽位中物品的幻化。若去除成功,返回true。 + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:get_transmog,title=幻化之辑流|> + +slot -> item + +--- + +返回给定槽位物品上的幻化效果。若未经幻化,返回void。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/1_getting_started.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/1_getting_started.md new file mode 100644 index 000000000000..055a961aebf4 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/1_getting_started.md @@ -0,0 +1,43 @@ +```json +{ + "title": "1. 初出茅庐", + "icon": "minecraft:paper", + "ordinal": 0, + "category": "trickster:tutorials" +} +``` + +在开始编写法术之前,你需要先准备一些魔法工具用作辅助。 + + +若要精简再精简,也应准备好一面[执行手镜](^trickster:items/mirror_of_evaluation)以及一份[卷轴与笔](^trickster:items/scroll_and_quill)。这些物品是戏法师工具基础中的基础。 + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:scroll_and_quill|>卷轴与笔是真正编写法术的地方。这些附魔的纸页能够承载单个任意法术圆,还可直接进行修改;简单使用物品即可。 + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:mirror_of_evaluation|>同样是必需品的执行手镜则有多种用途。 + + +例如,它可用来直接施放卷轴中编写的法术。这一功能仅凭卷轴自身无法做到。 + + +它更常用来进行原型开发。 + +;;;;; + +手镜的使用方法和卷轴相当类似:两者界面相似,但手镜中编写的符记会在可以执行时立即执行。执行后如有结果,则会保存在圆的内部。 + + +这一行为也通常用来生成常量,然后将其嵌入到卷轴中的其他法术内。 + +--- + +;;;;; + +在上述两种必需品外,还有几个物品可供考虑: + +- [魔杖](^trickster:items/wand)。其中可抄入任意法术,且能直接施法,详细见后续说明。 +- [高顶礼帽](^trickster:items/top_hat)。能存储多份卷轴,也可当作高级法术的一类存储器。 diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/2_mana_basics.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/2_mana_basics.md new file mode 100644 index 000000000000..2e94f75dd7fa --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/2_mana_basics.md @@ -0,0 +1,61 @@ +```json +{ + "title": "2. 魔力的基础知识", + "icon": "minecraft:paper", + "ordinal": 1, + "category": "trickster:tutorials" +} +``` + +踏入正式施法的领域需要的钥匙,正是**魔力**。所有会影响世界的法术都需消耗特定量的魔力,效力越强,法术的消耗就越多,且增长速度很快。 + + +为纪念一位著名巫师,魔力量的单位为甘道夫(Gandalf),简称为“甘”,符号为“G”。 + +;;;;; + +此单位的定义为:点亮一根蜡烛需要1甘的魔法能量。可见,甘道夫是一个很小的单位,大多数法术的消耗因此会使用千甘道夫,或“千甘”和“kG”。 + + + +魔力可持久存储于晶结中,例如下方所示: +<|item-spotlight@lavender:book_components|item=trickster:amethyst_knot|> + +;;;;; + +这些包在玻璃球壳中的宝石能存储魔力,宝石的稀有程度不同,存储的量也不同。某些宝石制成晶结后会有特殊的性质。如紫水晶在制成晶结之时就已拥有魔力,但无法以已知方式再次填充;其他的宝石都不具有此性质。 + + +因此,无论初入领域时还是紧要关头时,紫水晶晶结都是不错的魔力来源。 + +;;;;; + +<|item-spotlight@lavender:book_components|item=trickster:emerald_knot|>不过,大多数晶结只需简单暴露在夜空下,就可补充魔力。新月和满月前后的充能速度最快,两者间的某些夜晚则完全无法充能。 + + +晶结也会在其提示文本中记录当前消耗速率,很适合长期运行的法术。 + +;;;;; + +消耗速率,或者魔力的变化率,使用梅林(Merlin)作为单位,简称为“梅”,符号为“M”。此单位的定义为甘道夫每刻;其中,刻是有意义时间的最小单位,相当于1/20秒。 + + +比如,50梅的法术每秒即消耗1千甘。 +<|item-spotlight@lavender:book_components|item=trickster:diamond_knot|> + +;;;;; + +制作晶结时,需在物品栏中持有玻璃块和一个紫水晶,再直接使用[望月者之技巧](^trickster:ploys/mana#2)。紫水晶晶结自身就可提供魔力,因此其制作过程无需消耗;但其他晶结需要消耗,具体量见[此](^trickster:concepts/mana)。 + +;;;;; + +其他晶结还需施法者指明其槽位,并传入为第一参数,后续章节再详细说明。 + + +现在要做的,就是按后页步骤在[执行手镜](^trickster:items/mirror_of_evaluation)中绘制[望月者之技巧](^trickster:ploys/mana#2),以轻松制作紫水晶晶结。继续之前多做几个吧! + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwqT9+b/wDGjlQEAks2CzAoAAAA=|> + +{gray}(拖动可平移,滚动滚轮可缩放){} diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/3_first_spell.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/3_first_spell.md new file mode 100644 index 000000000000..6413722796d7 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/3_first_spell.md @@ -0,0 +1,94 @@ +```json +{ + "title": "3. 你的第一个法术", + "icon": "minecraft:paper", + "ordinal": 2, + "category": "trickster:tutorials" +} +``` + +准备好一张[卷轴](^trickster:items/scroll_and_quill)之后,手持右击就可打开法术编写界面。法术是一系列圆相互相交而成的树状结构,每个圆中都有符记用以说明其功能。 + +;;;;; + +第一次打开新卷轴时,只会出现一个圆。这就是**根节点**。法术中其他的圆自此绘制开去。 + + +如需编写法术,可使用所谓“抄绘图案”或“修订术”来添加、移除、移动圆。最基础的抄绘图案是[延枝之修订](^trickster:editing#1),能为绘制处的圆添加一个子圆。 + +;;;;; + +修订术图案与绝大多数图案不同,它们在卷轴和手镜中均会立即执行。它们是修改法术形状的唯一方式。 + + +还有一个抄绘图案在基础法术中也很实用——[嫁接之修订](^trickster:editing#12),它能移除法术层次结构中多余的圆。 + + +解决了绘圆问题后,请在卷轴中绘制后页法术: + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+YP6GBjZQQxGFwOMIAZHCEMDAwA8vUGkRwAAAA=|> + +{gray}(拖动可平移,滚动滚轮可缩放){} + +;;;;; + +完成后,副手持卷轴,再在手镜内绘制下述法术: + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+bf6MPEyghiMLo0tTIAADybrxgTAAAA|> + +;;;;; + +绘制时你可能会发现,最上方的图案会直接变成卷轴中的法术。 + + +之后,如果没有意外,法术应当会破坏你看着的方块!这就是最基础的施法方式了:在卷轴中编写法术,再用手镜施放。 + + +**但这么做又为什么能行呢?** + +;;;;; + +施放法术时,所绘制的符记会使用其子圆的输出作为输入,执行某个操作,再将结果输出给其父圆。 + + +可以把法术想成分出很多枝条的树。首先,树的叶圆(嵌套到最深处的圆)会产生或从世界中读出值。这些值可以是常量或施法者的引用。此类符记称作[错觉术](^trickster:delusions_ingresses)。 + +;;;;; + +在那之后,中间的符记会将信息处理成合适的格式。比如接受生物的引用,再返回其位置。此类法术可为[曲变术](^trickster:distortions)和[辑流术](^trickster:delusions_ingresses)。 + + +某些符记可能不会返回值,常称作[技巧术](^trickster:ploys)。这些符记会对世界造成影响,通常也是整个法术的最终目标。 + +;;;;; + +知道这些知识后再回看卷轴中的法术,就可以辨认出其中的三种符记(又称“戏法”)了。 + + +嵌套在最深处的符记必须为错觉术,它不可有输入。而根节点处的符记则必须为技巧术,它只接受输入而没有输出。也即,两者之间的圆中绘制的必须是曲变术或辑流术。 + +;;;;; + +再到本书[戏法](^trickster:tricks)分类中找出这些图案,就能完全证明这一点。按从小到大顺序看,所绘制的法术可分为: + +- [自审之错觉](^trickster:delusions_ingresses/caster_tricks#4) +- [弓箭手之辑流](^trickster:delusions_ingresses/raycast#2) +- 以及[摧毁之技巧](^trickster:ploys/block#2) + +记下这些戏法的输入和输出,再看看这则法术是怎么组织它们的吧! + +;;;;; + +**好的,但我们又要如何施放它呢?** + + +很好,我们会借用手镜“施放一切所触之物”的倾向。在手镜里绘制的图案分别是[记事员之错觉](^trickster:tricks/basic#3)和[宏伟之谋略](^trickster:distortions/functions#3)。前者会返回施法者副手物品内的法术,后者则会接受法术并施放。 + + +对头,法术可以施放其他法术。 + +;;;;; + +本节介绍了自行编写简单法术所需的基础概念。掏出工具去实验吧,看看法术到底能做到什么! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/4_easier_casting.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/4_easier_casting.md new file mode 100644 index 000000000000..f1a3f209a669 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/4_easier_casting.md @@ -0,0 +1,48 @@ +```json +{ + "title": "4. 简化施法", + "icon": "minecraft:paper", + "ordinal": 3, + "category": "trickster:tutorials" +} +``` + +执行手镜有若干缺陷值得注意。最明显的一条是,每次施法都画一遍两个图案很烦。可能更为重要的一条是,由手镜施放的法术最多只能拥有*64个圆*。这可真没多少! + +;;;;; + +这就是[魔杖](^trickster:items/wand)的用武之地了。如第一节中简要提及的,手持魔杖右击,即可施放其中抄有的法术。 + + +你可能会问,“抄”到底是个什么操作?实际上你已经在一定程度上“抄”过法术了。第二节中用到的[记事员之错觉](^trickster:tricks/basic#3)就能读出抄入物品的法术。对卷轴也有效,是因为在其上编写的法术严格说来也算是抄写在其中。 + +;;;;; + +法术可以抄入*任意*物品,但只有在卷轴和手镜中可以直接编辑。 + + +可用[记事员之技巧](^trickster:tricks/basic#4)向物品写入法术。它与[宏伟之谋略](^trickster:distortions/functions#3)类似,只接受一个输入而没有输出。 + + +在手镜中编写后页的法术就可以读出并抄写法术。 + +;;;;; + +首先手持抄有法术的物品,并绘制较小的图案;再换成手持想要抄入的物品,并绘制较大的图案。 +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+bf6MPEwAhiMLo0tTIAAH43+GkTAAAA|> + +;;;;; + +抄有法术的魔杖会具有附魔光效,且会在其提示文本中显示其法术。 + + +使用魔杖施法时,运行中的法术需占用一个[法术槽](^trickster:concepts/multi_tick),以便其执行至完成。 + + +综合前文,往魔杖上抄入后页的法术: + +;;;;; + +<|spell-preview@trickster:templates|spell=YwyT9+ZnYDjAwwhiMDI4dDKBRVwOMIBFOEIYGBhADCEUEQDelYOZNwAAAA==|> + +抄写完毕后可以施放一下,看看它到底有什么功能。然后再找出各个戏法的资料,看看它是*怎么*做到的! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/5_spell_structure.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/5_spell_structure.md new file mode 100644 index 000000000000..1dde0f61f59c --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/5_spell_structure.md @@ -0,0 +1,46 @@ +```json +{ + "title": "5. 法术结构", + "icon": "minecraft:paper", + "ordinal": 4, + "category": "trickster:tutorials" +} +``` + +第二节中介绍了法术抄写的基础知识,但还有几点尚未提到。 + + +最为重要的是,某些戏法可能接受多个输入,如前一节的示例法术。但和那之中的又不同,一些戏法有时会规定输入的类型和顺序。 + +;;;;; + +戏法的输入和输出的数目等称作其**签名**。本书中每次呈现戏法的图案时,都会指明其签名。 + + +如果觉得签名的格式难以理解,可参见[解释条目的详细信息](^trickster:concepts/signatures)! + + +**但我们怎么辨别哪个圆先传入呢?** + +;;;;; + +<|spell-preview-unloadable@trickster:templates|spell=YwyT9+ZnAAIW9/lWJxhgAMSx/4DEcUCWceCAcgC7HdBfPgAAAA==|> + +参见上图法术。其子圆中带有施法顺序的序号,从0起到3结束。 + +;;;;; + +这就是它们传入父圆的顺序了。但又是怎么知道的?**分隔销**。 + + +拥有至少一个子圆的圆上会具有一个蓝色透明的分隔销。自该销起,戏法会按顺时针接受子圆,各子圆也可用自0起的序号标记。 + + +看看你能不能找到前页法术上的分隔销! + +;;;;; + +最后一件事!除[延枝之修订](^trickster:editing#1)和[嫁接之修订](^trickster:editing#12)之外,还有许多个抄绘图案,有些只是便捷了操作,有些却能改变游戏的体验。 + + +如果还没了解过,一定要去完完整整地读一遍[法术抄绘](^trickster:editing)章节! \ No newline at end of file diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/6_functions.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/6_functions.md new file mode 100644 index 000000000000..616c9d113ef6 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/6_functions.md @@ -0,0 +1,10 @@ +```json +{ + "title": "7. 法术片段", + "icon": "minecraft:paper", + "ordinal": 6, + "category": "trickster:tutorials" +} +``` + +即将到来! diff --git a/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/7_recursion.md b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/7_recursion.md new file mode 100644 index 000000000000..966929094bb8 --- /dev/null +++ b/projects/1.21-fabric/assets/trickster/trickster/lavender/entries/tome_of_tomfoolery/zh_cn/tutorials/7_recursion.md @@ -0,0 +1,10 @@ +```json +{ + "title": "6. 递归", + "icon": "minecraft:paper", + "ordinal": 5, + "category": "trickster:tutorials" +} +``` + +即将到来!