Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "Greater Reveal",
"category": "hexcasting:patterns",
"icon": "minecraft:bell",
"pages": [
"Though my _Hexes can use $(l:hexcasting:patterns/basics#hexcasting:print)$(action)Reveal/$ to transmit information to my mind, the resulting message is ephemeral — unless I stand still and reflect on what I've heard recently, it will slip away like anything else someone says. Additionally, constantly hammering my mind with iotas distracts me from more important things.",
"Thus, I've devised a new pattern of my own. It's similar to $(l:hexcasting:patterns/basics#hexcasting:print)$(action)Reveal/$, but the message is lodged well within my mind, and I forget it instantly if I replace it with something else. It can also take a list of messages, for convenience.",
{
"type": "hexcasting:pattern",
"anchor": "hexic:reveal",
"op_id": "hexic:reveal",
"input": "[iota] | iota",
"output": "",
"text": "Takes a list of iotas (or a single non-iota, which is treated as a list with one element) and embeds them in my mind persistently. Displayed iotas survive all methods that would clear a normal Reveal, and can only be cleared by another casting of Greater Reveal or my untimely demise."
},
"$(o)To be a Hexcaster is to glimpse a truth that might best be hidden./$"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{
"name": "Advanced Lists",
"category": "hexcasting:patterns",
"icon": "minecraft:birch_sign",
"advancement": "hexcasting:root",
"pages": [
"These patterns seem to represent common operations I perform on lists. Though these are perfectly possible to do with normal $(l:patterns/lists)List Manipulation/$, it often requires more effort. Perhaps Nature willed them into existence to better understand what I'm doing... or perhaps they are my own invention?",
{
"type": "hexcasting:pattern",
"op_id": "hexic:rotate",
"anchor": "hexic:rotate",
"input": "[a], int",
"output": "[a]",
"text": "Rotates the list leftward: an argument of 1 moves the first item of the list to the end. Negative numbers allow rotating the list rightward."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:take",
"anchor": "hexic:take/count",
"input": "[a], int",
"output": "[a]",
"text": "Selects the first few elements from the input list. If the number is negative, selects the last few elements instead."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:drop",
"anchor": "hexic:drop/count",
"input": "[a], int",
"output": "[a]",
"text": "Drops the first few elements from the input list; the dual to $(l:addon/hexic/lists2#hexic:take/count)$(action)Retention Distillation/$."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:take",
"anchor": "hexic:take/list",
"input": "[a], [int]",
"output": "[a]",
"text": "Selects from the list only elements corresponding to the given indices. Unlike $(l:patterns/lists#hexcasting:index)$(action)Selection Distillation/$, this cannot reorder or duplicate iotas."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:drop",
"anchor": "hexic:drop/list",
"input": "[a], [int]",
"output": "[a]",
"text": "Drops from the list iotas at the given indices. All other iotas are kept in the same order as the input."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:where",
"anchor": "hexic:where/bool",
"input": "[bool]",
"output": "[int]",
"text": "Creates a list of the indices for which True is present. For example, [True, False, True] becomes [0, 2]. I can also mix bools and ints in the input list."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:where",
"anchor": "hexic:where/num",
"input": "[num]",
"output": "[int]",
"text": "Adds each index to the list based on the value. For example, [1, 2, 3] becomes [0, 1, 1, 2, 2, 2]. Zero or negative numbers do not appear at all."
},
{
"type": "hexcasting:pattern",
"header": "Exterior Distillation",
"op_id": "hexcasting:mul",
"anchor": "hexcasting:mul",
"input": "[a], [b]",
"output": "[[a, b]]",
"text": "Calculates the outer product of two lists. The resulting list has an entry for every possible pairing between the input lists."
},
{
"type": "hexcasting:pattern",
"header": "Interior Distillation",
"op_id": "hexcasting:div",
"anchor": "hexcasting:div",
"input": "[a], [b]",
"output": "[[a, b]]",
"text": "Calculates the inner product of two lists. If the two lists were arranged side-by-side, the resulting list has one entry for every row (unpaired elements are skipped)."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:extract",
"anchor": "hexic:extract",
"input": "[a], int",
"output": "[a], [a], a",
"text": "Extracts an iota from the given list, and breaks the list apart around it. Returns all items before the iota, all items after the iota, and finally the iota itself."
},
{
"type": "hexcasting:pattern",
"op_id": "hexic:grep",
"anchor": "hexic:grep",
"input": "[a], [a → bool]",
"output": "[a]",
"text": "Discards iotas from the given list unless they satisfy the given predicate. Using $(l:patterns/meta#hexcasting:halt)$(action)Charon's Gambit/$ discards the current and all remaining iotas."
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

{
"name": "Casting Pouches",
"category": "hexcasting:items",
"icon": "hexic:small_preferred_bundle",
"sortnum": 1,
"pages": [
"Though a $(l:items/phials)$(item)Phial/$ is my ultimate goal for _media storage, knitting a pouch out of $(l:addon/hexic/mediaweave)$(item)mediaweave/$ may help me manage my amethyst better. Only a few cloths are needed to give me some decent capacity. Each pouch holds six slots, and I can extend their capacity to twelve with a bit more weave. A small pouch may go within a large pouch, but neither size can be placed within itself.",
"Upon Nature's request for _media, my pouches will offer themselves and their contents first of all; similarly, if I attempt to $(l:patterns/spells/hexcasting#hexcasting:recharge)$(action)Recharge/$ a pouch, the inserted _media will form a 'cloud' of sorts inside, which will settle into any $(l:items/hexcasting)$(item)trinket/$ or similar within.",
{
"type": "patchouli:text",
"advancement": "hexcasting:enlightenment",
"text": "Something strange about these pouches I have noticed. I can feel the _media $(o)hesitant/$— $(o)resistant/$, even— to leave the pouch. Only the media Nature— no, I— ask for is pulled from the pouch. As amethyst shatters inside, I feel the leftover _media bouncing, ping-ponging, $(o)trapped/$ in the walls until it evaporates. A battery within— my beloved $(l:items/phials)$(item)Phial/$, or an $(l:items/hexcasting)$(item)Artifact/$ of mine, could grab bits of this cloud, with none of the costs $(l:patterns/spells/hexcasting#hexcasting:recharge)$(action)directing the clouds myself/$ incurs."
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Mediaweave",
"category": "hexcasting:items",
"icon": "hexic:preferred_mediaweave",
"advancement": "hexcasting:root",
"pages": [
"A perversion of $(l:hexcasting:patterns/spells/blockworks#hexcasting:edify)$(action)Edify Sapling/$ lets me knit a fabric out of wool and _media. It acts similar to a $(l:hexcasting:items/thought_knot)$(item)Thought-Knot/$, but can only hold _Hexes — standard iotas fizzle instead of embedding themselves in the fabric. Additionally, the weave, radiating with raw energy, can passively exert force on nearby _media, with no mind involved — nothing as powerful as a _Hex, but still useful nonetheless."
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "Nature's Revenge",
"advancement": "hexcasting:enlightenment",
"category": "hexcasting:patterns",
"icon": "arrow",
"pages": [
"No. No. No. I— I thought Horrible was bad— etched into every waking moment— no— no— it hurts— must draw— can't draw— what have I done— why must Nature be like this— ",
{
"type": "hexcasting:pattern",
"op_id": "hexic:whatthefuck",
"anchor": "hexic:whatthefuck",
"input": "???",
"output": "???",
"text": "How could one even begin to draw this?"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Crystal Pens",
"icon": "hexic:preferred_pen",
"advancement": "hexcasting:root",
"category": "hexcasting:items",
"pages": [
"A pen made of amethyst allows me to sketch patterns in midair as input to my spells. Though I use my pen like a normal staff, patterns I draw with it are merely stored in an internal list rather than executed."
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "Echo Shards",
"category": "hexcasting:items",
"icon": "minecraft:echo_shard",
"advancement": "hexcasting:root",
"pages": [
"Ever since acquiring a few $(item)Echo Shards/$ from one of those ancient cities, my _Hexes have felt... restrained in a way, as if the shards were trying to absorb them. Holding a shard in my other hand would let it do so, and would let me release all of the patterns I've drawn at once.",
"This behavior seems rather useful for quickly casting prepared spells. For example, if I let my shard absorb a simple raycast Hex, I could release it all-at-once against an entity rather than having to catch it off-guard standing still. Patterns released from an $(item)Echo Shard/$ are cast against my staff stack, letting me use the newly-found entity by hand."
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "Staffcasting Patterns",
"category": "hexcasting:patterns",
"icon": "hexcasting:staff/mindsplice",
"pages": [
"These patterns force me to cast a _Hex as if I drew it by hand. There are two variants of this pattern: the Greater version keeps the stack from the outside, while the Lesser version uses my staff's stack. My ravenmind is preserved in both cases.",
{
"type": "hexcasting:pattern",
"anchor": "hexic:staffcast_factory",
"op_id": "hexic:staffcast_factory",
"input": "∀αβ. α, [α → β]",
"output": "β",
"text": "Coerces my staff to cast a _Hex. The hex uses the stack of the outer casting environment."
},
"Something's odd about how these patterns are named. I can simulate the Greater variant with merely a wrapper around the Lesser variant, but accessing the staff's stack itself is impossible with purely Greater. Does this not make Lesser strictly more powerful than Greater?",
{
"type": "hexcasting:pattern",
"anchor": "hexic:staffcast_factory/lazy",
"op_id": "hexic:staffcast_factory/lazy",
"input": "[? → ?]",
"output": "",
"text": "Coerces my staff to cast a _Hex. The hex uses the stack of the staff itself, but keeps the outer environment's ravenmind."
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "Stringworms",
"category": "hexcasting:items",
"advancement": "hexcasting:root",
"icon": "hexic:preferred_stringworm",
"pages": [
"A strange object I've discovered, stringworms are worm imitations made from fuzz. I'd imagine some people would have fun playing with them, but they have no use in my studies."
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "Demiplanes",
"advancement": "hexcasting:enlightenment",
"category": "hexcasting:patterns",
"icon": "white_carpet",
"pages": [
"the world under my control nature is mine na$(bold)ture is MI/$NE the world $(underline)the world NO LONGER/$ will $(bold)the OVerworld rule me/$ My $(media)mind is going/$ My $(media)mind/$ is going $(o)THE PAIN OF THOUGHT/$ my mind my $(o)mind/$ my a nine by nine room to myself SOLELY MYE$(bold)LF NO ONE ELSE/$ a $(bold)burst/$ of _media to Shatter the $(media)world/$ nearly $(media)152 allays $(bold)sewn/$ into $(underline)the walls/$ for eternity oh how it must hurt $(bold)IT HURTS IT/$ $(k)TORTUES/$",
{
"type": "hexcasting:pattern",
"op_id": "hexic:makeworld",
"anchor": "hexic:makeworld",
"input": "",
"output": "imprint",
"text": "Creates a fresh cuboid with a 9x9x9 interior, as well as a dimension to hold it in. Costs 18.2 thousand dust."
},
"fragments of space the $(media)world/$ falling apart crumpling a $(o)fine powder/$ to the _media tie my plane TIE IT DOWN WELL bindings of $(media)thought/$ to keep it safe safe from others safe from $(media)me/$ only $(bold)a sliver of an allay's mind for the price/$ eternally trapped n$(underline)ot alive not dead mer/$ely floating Form the $(media)allay into bindings f/$rom some point outside must $(underline)hurry/$ now $(o)I feel it slipping away/$ $(bold)the cost of tying it to itself $(o)disasterous/$ the plane slipping away $(media)my/$ mind slipping away",
{
"type": "hexcasting:pattern",
"op_id": "hexic:attachworld",
"anchor": "hexic:attachworld",
"input": "imprint, vec",
"output": "",
"text": "Binds the given demiplane to a position. This position is used when exiting the demiplane, as well as in case of any $(o)unfortunate accidents/$. Mishaps if I bind a demiplane to the plane I'm in."
},
"My mind is drifting drifting $(o)spinning/$, $(o)running/$ from me with every slice I take of Nature. Every passing moment my grip oh my hands weakening my mind passing through like sand$(2br)I must steady myself. The price of sanity is outright shattering the planes I've made — a burst of media worth 750 shards, and the pocket will crumple like a villager, spewing its contents into where it was bound.$(2br)Testing this process on living creatures is unwise.",
{
"type": "hexcasting:pattern",
"op_id": "hexic:attachworld",
"anchor": "hexic:attachworld",
"input": "imprint, vec",
"output": "",
"text": "Ruptures the boundaries of the given demiplane, destroying its contents. All dropped items and experience are spewed at the plane's attachment point."
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "卓越揭示",
"category": "hexcasting:patterns",
"icon": "minecraft:bell",
"pages": [
"虽然我的$(hex)咒术/$可以用$(l:hexcasting:patterns/basics#hexcasting:print)$(action)揭示/$向我的意识传输信息,所得的结果却总是难以把握。除非我站定,仔细想我刚刚听到了什么,不然它就会隐入到其他人说的话中,以至于完全无法分辨。而且,不断往意识里塞 iota 也让我根本没法专心做要紧的事情。",
"因此,我自己设计了一个图案。它的功能和$(l:hexcasting:patterns/basics#hexcasting:print)$(action)揭示/$类似,但发来的消息会牢牢嵌在我的意识里,而且一经替换就会立刻遗忘。为方便起见,它还能接受一个消息列表。",
{
"type": "hexcasting:pattern",
"anchor": "hexic:reveal",
"op_id": "hexic:reveal",
"input": "[iota] | iota",
"output": "",
"text": "接受 iota 列表(或单个非 iota,此时视作单元素列表)并永久性将其嵌入我的意识。清除普通揭示的方法无法清除此操作展示的 iota,而是只能通过再次施放卓越揭示或死亡清除。"
},
"$(o)成为咒术师,就是去探索本不应被知晓的真相。/$"
]
}
Loading
Loading