Merge branch 'gamma-delta:main' into main

This commit is contained in:
ChuijkYahus 2023-02-19 11:33:10 +08:00 committed by GitHub
commit dee0a8c11a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
46 changed files with 496 additions and 177 deletions

View file

@ -20,6 +20,10 @@ public class HexTags {
public static final TagKey<Item> GRANTS_ROOT_ADVANCEMENT = create("grants_root_advancement");
public static final TagKey<Item> SEAL_MATERIALS = create("seal_materials");
public static final TagKey<Item> IMPETI = create("impeti");
public static final TagKey<Item> DIRECTRICES = create("directrices");
public static final TagKey<Item> MINDFLAYED_CIRCLE_COMPONENTS = create("brainswept_circle_components");
public static TagKey<Item> create(String name) {
return create(modLoc(name));
}
@ -33,6 +37,11 @@ public class HexTags {
public static final TagKey<Block> EDIFIED_LOGS = create("edified_logs");
public static final TagKey<Block> EDIFIED_PLANKS = create("edified_planks");
public static final TagKey<Block> IMPETI = create("impeti");
public static final TagKey<Block> DIRECTRICES = create("directrices");
public static final TagKey<Block> MINDFLAYED_CIRCLE_COMPONENTS = create("brainswept_circle_components");
public static TagKey<Block> create(String name) {
return TagKey.create(Registry.BLOCK_REGISTRY, modLoc(name));
}

View file

@ -104,6 +104,7 @@ public class RegisterClientStuff {
registerGaslight4(HexItems.STAFF_QUENCHED);
registerGaslight4(HexBlocks.QUENCHED_ALLAY.asItem());
registerGaslight4(HexItems.QUENCHED_SHARD);
x.setRenderLayer(HexBlocks.CONJURED_LIGHT, RenderType.cutout());
x.setRenderLayer(HexBlocks.CONJURED_BLOCK, RenderType.cutout());

View file

@ -22,7 +22,6 @@ import net.minecraft.world.level.block.state.properties.SlabType;
import net.minecraft.world.level.storage.loot.LootPool;
import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.world.level.storage.loot.entries.AlternativesEntry;
import net.minecraft.world.level.storage.loot.entries.EntryGroup;
import net.minecraft.world.level.storage.loot.entries.LootItem;
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
import net.minecraft.world.level.storage.loot.functions.ApplyExplosionDecay;
@ -114,15 +113,15 @@ public class HexLootTables extends PaucalLootTableProvider {
.withPool(isThatAnMFingBrandonSandersonReference)
.withPool(isThatAnMFingBadBrandonSandersonReference));
// it looks like loot groups are bugged?
// so instead we add some and then *increment* the amount, gated behind the cond
var quenchedPool = LootPool.lootPool().add(AlternativesEntry.alternatives(
LootItem.lootTableItem(HexBlocks.QUENCHED_ALLAY).when(silkTouchCond),
EntryGroup.list(
LootItem.lootTableItem(HexItems.QUENCHED_SHARD)
.apply(SetItemCountFunction.setCount(UniformGenerator.between(2f, 4f))),
LootItem.lootTableItem(HexItems.QUENCHED_SHARD)
LootItem.lootTableItem(HexItems.QUENCHED_SHARD)
.apply(SetItemCountFunction.setCount(UniformGenerator.between(2f, 4f)))
.apply(SetItemCountFunction.setCount(ConstantValue.exactly(1), true)
.when(BonusLevelTableCondition.bonusLevelFlatChance(Enchantments.BLOCK_FORTUNE,
0.25f, 0.35f, 0.5f, 0.75f, 1.0f))
)
0.25f, 0.5f, 0.75f, 1.0f)))
));
blockTables.put(HexBlocks.QUENCHED_ALLAY, LootTable.lootTable().withPool(quenchedPool));
}

View file

@ -67,6 +67,8 @@ public class HexplatRecipes extends PaucalRecipeProvider {
staffRecipe(recipes, HexItems.STAFF_WARPED, Items.WARPED_PLANKS);
staffRecipe(recipes, HexItems.STAFF_MANGROVE, Items.MANGROVE_PLANKS);
staffRecipe(recipes, HexItems.STAFF_EDIFIED, HexBlocks.EDIFIED_PLANKS.asItem());
staffRecipe(recipes, HexItems.STAFF_QUENCHED, HexItems.QUENCHED_SHARD);
staffRecipe(recipes, HexItems.STAFF_MINDSPLICE, Ingredient.of(HexTags.Items.MINDFLAYED_CIRCLE_COMPONENTS));
ShapelessRecipeBuilder.shapeless(HexItems.THOUGHT_KNOT)
.requires(HexItems.AMETHYST_DUST)
@ -501,6 +503,10 @@ public class HexplatRecipes extends PaucalRecipeProvider {
}
private void staffRecipe(Consumer<FinishedRecipe> recipes, ItemStaff staff, Item plank) {
staffRecipe(recipes, staff, Ingredient.of(plank));
}
private void staffRecipe(Consumer<FinishedRecipe> recipes, ItemStaff staff, Ingredient plank) {
ShapedRecipeBuilder.shaped(staff)
.define('W', plank)
.define('S', Items.STICK)

View file

@ -17,6 +17,14 @@ public class HexBlockTagProvider extends PaucalBlockTagProvider {
@Override
public void addTags() {
tag(HexTags.Blocks.IMPETI)
.add(HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_STOREDPLAYER);
tag(HexTags.Blocks.DIRECTRICES)
.add(HexBlocks.DIRECTRIX_REDSTONE);
tag(HexTags.Blocks.MINDFLAYED_CIRCLE_COMPONENTS)
.addTag(HexTags.Blocks.IMPETI)
.addTag(HexTags.Blocks.DIRECTRICES);
tag(BlockTags.MINEABLE_WITH_PICKAXE)
.add(HexBlocks.SLATE_BLOCK, HexBlocks.SLATE,
HexBlocks.EMPTY_DIRECTRIX, HexBlocks.DIRECTRIX_REDSTONE,

View file

@ -37,6 +37,9 @@ public class HexItemTagProvider extends PaucalItemTagProvider {
this.copy(HexTags.Blocks.EDIFIED_LOGS, HexTags.Items.EDIFIED_LOGS);
this.copy(HexTags.Blocks.EDIFIED_PLANKS, HexTags.Items.EDIFIED_PLANKS);
this.copy(HexTags.Blocks.IMPETI, HexTags.Items.IMPETI);
this.copy(HexTags.Blocks.DIRECTRICES, HexTags.Items.DIRECTRICES);
this.copy(HexTags.Blocks.MINDFLAYED_CIRCLE_COMPONENTS, HexTags.Items.MINDFLAYED_CIRCLE_COMPONENTS);
this.copy(BlockTags.LOGS_THAT_BURN, ItemTags.LOGS_THAT_BURN);
this.copy(BlockTags.LOGS, ItemTags.LOGS);
this.copy(BlockTags.PLANKS, ItemTags.PLANKS);

View file

@ -22,6 +22,7 @@
"item.hexcasting.battery": "Phial of Media",
"item.hexcasting.amethyst_dust": "Amethyst Dust",
"item.hexcasting.charged_amethyst": "Charged Amethyst",
"item.hexcasting.quenched_allay_shard": "Shard of Quenched Allay",
"item.hexcasting.lens": "Scrying Lens",
"item.hexcasting.scroll_small": "Small Scroll",
"item.hexcasting.scroll_small.of": "How did you get this item of %s",
@ -608,7 +609,7 @@
"_comment": "Patchi stuff",
"hexcasting.landing": "I seem to have discovered a new method of magical arts, in which one draws patterns strange and wild onto a hexagonal grid. It fascinates me. I've decided to start a journal of my thoughts and findings.$(br2)$(l:https://discord.gg/4xxHGYteWk)Discord Server Link/$",
"hexcasting.landing": "I seem to have discovered a new method of magical arts, in which one draws patterns strange and wild onto a hexagonal grid. It fascinates me. I've decided to start a journal of my thoughts and findings.$(br2)$(l:https://forum.petra-k.at/index.php)Forum Link/$",
"hexcasting.entry.basics": "Getting Started",
"hexcasting.entry.basics.desc": "The practitioners of this art would cast their so-called _Hexes by drawing strange patterns in the air with a $(l:items/staff)$(item)staff/$-- or craft $(l:items/hexcasting)$(item)powerful magical items/$ to do the casting for them. How might I do the same?",
@ -877,6 +878,16 @@
"hexcasting.page.akashiclib.akashic_record": "Allocating and assigning patterns is simple but oh so boring. I have better things to do. I will need a mind well-used to its work for the extraction to stay sound.",
"hexcasting.page.akashiclib.3": "Then to operate the library is simple, the patterns are routed through the librarian and it looks them up and returns the iota to you. Two actions do the work. $(l:patterns/akashic_patterns)Notes here/$.$(br2)Using an empty $(l:items/scroll)$(item)scroll/$ on a bookshelf copies the pattern there onto the $(l:items/scroll)$(item)scroll/$. Sneaking and using an empty hand clears the datum in the shelf.",
"hexcasting.entry.quenching_allays": "Quenching Allays",
"hexcasting.page.quenching_allays.1": "THEY ARE BITS OF MEDIA. How did I not see it sooner? They are -- as I am a heap of flesh with a scrap, blessed with a scrap of thought, an Allay is a self-sustaining quarrel of media pinned to a scrap of flesh. It explains everything -- their propensity for media, their response to music, I SEE NOW, HOW did the ones before NOT?",
"hexcasting.page.quenching_allays.2": "And given this it is only RIGHT I conquer their peculiar minds -- their peculiar selves -- that is all they are, a mind, a self, a coda. Something about their phase speaks to me. I can... I can compress _media with them, overlay two wends of thought in one space, physical and cognitive, all and once.$(br2)Somehow, the process produces _media of its own. How? Perhaps -- perhaps MY work, the process of doing it --",
"hexcasting.page.quenching_allays.3": "It matters not. I matter not. They matter not, all that matters is what it does. And this is it.$(br2)It must hurt so very much.",
"hexcasting.page.quenching_allays.4": "The product is fragile. Breaking it shatters it into pieces, with $(thing)Fortune/$ increasing the yield... if I wish the block itself I need a silken touch.$(br2)The produced shards are worth thrice an $(l:items/amethyst)$(item)Charged Amethyst Crystal/$ apiece. The block itself is worth four of the shards.",
"hexcasting.page.quenching_allays.5": "They are mercurial, they seem to twist and wink under my fingers, and by giving them a mentor in another form of _media they may be coerced into its shape, in an equivalent exchange of _media.",
"hexcasting.entry.fanciful_staves": "Fanciful Staves",
"hexcasting.page.fanciful_staves.1": "It is only right as I shed the husk of ignorance I replace my tools, my palm-polished staves. These new constructions of mine have no additional properties -- but they are so glorious, oh so Glorious... They match the radiance winking at the corners of my sight.",
"_comment": "Patterns",
"hexcasting.entry.readers_guide": "How to Read this Section",

View file

@ -0,0 +1,19 @@
{
"name": "hexcasting.entry.fanciful_staves",
"category": "hexcasting:greatwork",
"icon": "hexcasting:mindsplice_staff",
"sortnum": 6,
"advancement": "hexcasting:enlightenment",
"entry_color": "54398a",
"pages": [
{
"type": "patchouli:text",
"text": "hexcasting.page.fanciful_staves.1"
},
{
"type": "patchouli:crafting",
"recipe": "hexcasting:quenched_staff",
"recipe2": "hexcasting:mindsplice_staff"
}
]
}

View file

@ -0,0 +1,39 @@
{
"name": "hexcasting.entry.quenching_allays",
"category": "hexcasting:greatwork",
"icon": "hexcasting:quenched_allay",
"advancement": "hexcasting:enlightenment",
"entry_color": "54398a",
"sortnum": 5,
"pages": [
{
"type": "patchouli:text",
"text": "hexcasting.page.quenching_allays.1"
},
{
"type": "patchouli:text",
"text": "hexcasting.page.quenching_allays.2"
},
{
"type": "hexcasting:brainsweep",
"recipe": "hexcasting:brainsweep/quench_allay",
"text": "hexcasting.page.quenching_allays.3"
},
{
"type": "patchouli:spotlight",
"item": "hexcasting:quenched_allay_shard",
"link_recipe": true,
"text": "hexcasting.page.quenching_allays.4"
},
{
"type": "patchouli:crafting",
"recipe": "hexcasting:decompose_quenched_shard/dust",
"text": "hexcasting.page.quenching_allays.5"
},
{
"type": "patchouli:crafting",
"recipe": "hexcasting:decompose_quenched_shard/shard",
"recipe2": "hexcasting:decompose_quenched_shard/charged"
}
]
}

View file

@ -3,6 +3,7 @@
"category": "hexcasting:greatwork",
"icon": "minecraft:nether_star",
"priority": true,
"sortnum": 0,
"advancement": "hexcasting:enlightenment",
"entry_color": "54398a",
"pages": [

View file

@ -1,4 +1,5 @@
// 1.19.2 2023-02-17T23:47:13.460414023 Tags for minecraft:item
// 1.19.2 2023-02-18T11:41:21.846317687 Tags for minecraft:item
b61c62d136132d63889fccca2055c5f7e9b25112 data/hexcasting/tags/items/impeti.json
5928bad07d3872bb60f29ef4f3c885c8e1967c20 data/hexcasting/tags/items/phial_base.json
fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/items/wooden_doors.json
e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/hexcasting/tags/items/edified_planks.json
@ -13,10 +14,12 @@ fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/items/doors.json
684c3206f38cc9cc494d5875c5e56aad004486af data/hexcasting/tags/items/edified_logs.json
e186f43ed06770e698c886691f91b2c6acdb5a2a data/hexcasting/tags/items/seal_materials.json
5f3b600b4fd98744bd08c993ce7bcb9c2f195cd2 data/minecraft/tags/items/leaves.json
9818dcd28edc496bc434b4f7b6b9cc27658d545e data/hexcasting/tags/items/directrices.json
684c3206f38cc9cc494d5875c5e56aad004486af data/minecraft/tags/items/logs.json
5bbfd513fd2eb2090b0c2d1ec33504deb79d53b9 data/minecraft/tags/items/slabs.json
5bbfd513fd2eb2090b0c2d1ec33504deb79d53b9 data/minecraft/tags/items/wooden_slabs.json
4461ef6db41a675fd077dd833cfd0ea537e755be data/c/tags/items/amethyst_dusts.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/items/trapdoors.json
e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/minecraft/tags/items/planks.json
c72a147bc65d26424df199388969ebd11119aed3 data/hexcasting/tags/items/brainswept_circle_components.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/items/wooden_trapdoors.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-17T23:47:13.480823941 LootTables
// 1.19.2 2023-02-18T11:41:21.846932255 LootTables
dec1d3592e82f99d9e059d9c771530f103b2bda5 data/hexcasting/loot_tables/blocks/empty_directrix.json
2c42fc5d8c74c98ad15b8bd50f56541fccbef750 data/hexcasting/loot_tables/blocks/edified_tile.json
cfb39e2151725fe4f9a7269d9b5de8031ea54a44 data/hexcasting/loot_tables/blocks/directrix_redstone.json
@ -34,4 +34,4 @@ b7f7af68760b51d0c438f5c6039f1cd7157fa452 data/hexcasting/loot_tables/blocks/anci
9ee4259b51cccd4582fb2e52ab9f64e92af857bb data/hexcasting/loot_tables/blocks/edified_log.json
c089d3d230ae5354f2a9953f65bba77b6e26d976 data/hexcasting/loot_tables/blocks/edified_trapdoor.json
745b510161cfff804b115f566ad6b50e0cb492d1 data/hexcasting/loot_tables/blocks/slate.json
468f68d1e889afe4f7ce28d1a597a57a17f5a6c3 data/hexcasting/loot_tables/blocks/quenched_allay.json
33ac65cb8351f73958f6d1cb9a5dacfe53d4a2a7 data/hexcasting/loot_tables/blocks/quenched_allay.json

View file

@ -1,24 +1,27 @@
// 1.19.2 2023-02-17T23:47:13.479469333 Tags for minecraft:block
20183cd61968ff6548df2dde1100b6378d68d64b data/minecraft/tags/blocks/wooden_buttons.json
// 1.19.2 2023-02-18T11:41:21.839953411 Tags for minecraft:block
c72a147bc65d26424df199388969ebd11119aed3 data/hexcasting/tags/blocks/brainswept_circle_components.json
357eddf3cee6f16725bed0701d57b2ca3097d74d data/minecraft/tags/blocks/mineable/shovel.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/wooden_trapdoors.json
20183cd61968ff6548df2dde1100b6378d68d64b data/minecraft/tags/blocks/buttons.json
2044a90007e0e25b8d973c936476ac9ae8bc4c5b data/minecraft/tags/blocks/mineable/pickaxe.json
d5a3405be832907cb12fd9d1f423e297fe8e3e66 data/minecraft/tags/blocks/mineable/axe.json
5f3b600b4fd98744bd08c993ce7bcb9c2f195cd2 data/minecraft/tags/blocks/mineable/hoe.json
684c3206f38cc9cc494d5875c5e56aad004486af data/minecraft/tags/blocks/logs_that_burn.json
5f3b600b4fd98744bd08c993ce7bcb9c2f195cd2 data/minecraft/tags/blocks/leaves.json
281cb08b9b68ef049820c4f3f36b40820044681e data/minecraft/tags/blocks/wooden_stairs.json
36b54a86d2ed41c8a503f7a61817a7a9d7a94536 data/minecraft/tags/blocks/crystal_sound_blocks.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/trapdoors.json
37cff4ce449b8069b59b2327d78e073fc026d348 data/minecraft/tags/blocks/wooden_pressure_plates.json
20183cd61968ff6548df2dde1100b6378d68d64b data/minecraft/tags/blocks/wooden_buttons.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/wooden_trapdoors.json
fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/blocks/wooden_doors.json
684c3206f38cc9cc494d5875c5e56aad004486af data/minecraft/tags/blocks/logs.json
684c3206f38cc9cc494d5875c5e56aad004486af data/hexcasting/tags/blocks/edified_logs.json
5bbfd513fd2eb2090b0c2d1ec33504deb79d53b9 data/minecraft/tags/blocks/slabs.json
684c3206f38cc9cc494d5875c5e56aad004486af data/minecraft/tags/blocks/logs_that_burn.json
e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/minecraft/tags/blocks/planks.json
5f3b600b4fd98744bd08c993ce7bcb9c2f195cd2 data/minecraft/tags/blocks/leaves.json
b61c62d136132d63889fccca2055c5f7e9b25112 data/hexcasting/tags/blocks/impeti.json
281cb08b9b68ef049820c4f3f36b40820044681e data/minecraft/tags/blocks/stairs.json
281cb08b9b68ef049820c4f3f36b40820044681e data/minecraft/tags/blocks/wooden_stairs.json
9818dcd28edc496bc434b4f7b6b9cc27658d545e data/hexcasting/tags/blocks/directrices.json
37cff4ce449b8069b59b2327d78e073fc026d348 data/minecraft/tags/blocks/pressure_plates.json
36b54a86d2ed41c8a503f7a61817a7a9d7a94536 data/minecraft/tags/blocks/crystal_sound_blocks.json
fdb48f194d7937ab6b423fa4b90a4d438bf6dd90 data/minecraft/tags/blocks/doors.json
5216ba5c57db29b8dee9aebc63a2e3b17c97dc17 data/minecraft/tags/blocks/trapdoors.json
5bbfd513fd2eb2090b0c2d1ec33504deb79d53b9 data/minecraft/tags/blocks/wooden_slabs.json
37cff4ce449b8069b59b2327d78e073fc026d348 data/minecraft/tags/blocks/wooden_pressure_plates.json
e5df19a1dc6eadf14cd9b0f0fe45a74330b745e9 data/hexcasting/tags/blocks/edified_planks.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-17T23:47:13.480402857 Tags for hexcasting:action
// 1.19.2 2023-02-18T11:41:21.842737196 Tags for hexcasting:action
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/per_world_pattern.json
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/requires_enlightenment.json
e5afc567ea17f035e4eb1d1d48825100b7f6ad68 data/hexcasting/tags/action/can_start_enlighten.json

View file

@ -1,7 +1,8 @@
// 1.19.2 2023-02-17T23:47:13.464974503 Recipes
// 1.19.2 2023-02-18T11:41:21.843161249 Recipes
9f75d3e93ecbbbf3ed9a92b2943397e09dcae1a9 data/hexcasting/recipes/dye_colorizer_light_blue.json
04569ccadfd99f203b0485d0c3e877209290f2b3 data/hexcasting/advancements/recipes/hexcasting.creative_tab/dye_colorizer_pink.json
2a9d4a0f3618abf9e9b8699b318a984d2c836913 data/hexcasting/advancements/recipes/brainsweep/brainsweep/directrix_redstone.json
e8933b048f77673c0d278b238be2a41e76c5fa88 data/hexcasting/recipes/quenched_staff.json
1b510d32bad1a51ad6795fb8e7702d34c8c8cfbe data/hexcasting/advancements/recipes/hexcasting.creative_tab/dye_colorizer_green.json
d73e5d8fec4d3f7d15888bd292f4ad9c1b37cac5 data/hexcasting/advancements/recipes/hexcasting.creative_tab/ageing_scroll_paper_lantern.json
b54339a9e990419e4820491001c4cbdb7aa9fddb data/hexcasting/recipes/artifact.json
@ -31,6 +32,7 @@ ebfa29e0a62a629afbe18681e09cc7be95a3529e data/hexcasting/advancements/recipes/he
2aa2e5c268ae440238eaf4cea20011b0c8f81a49 data/hexcasting/advancements/recipes/hexcasting.creative_tab/pride_colorizer_demiboy.json
326925a948aeb17aabafbc25ed2562a257796d29 data/hexcasting/recipes/dye_colorizer_yellow.json
9f55e6ff1f2633e4ad390868e7952b700e5309a4 data/hexcasting/advancements/recipes/brainsweep/brainsweep/impetus_rightclick.json
8293ffbca8a83c19bdb4684a6f8676791b5f0884 data/hexcasting/advancements/recipes/hexcasting.creative_tab/quenched_staff.json
4440b41499c9c32e297dc184c39da010ff82ac5e data/hexcasting/advancements/recipes/hexcasting.creative_tab/uuid_colorizer.json
5a90084c03d6e8424872870c8b65f4771b447f03 data/hexcasting/recipes/brainsweep/budding_amethyst.json
638c534059597cebb9dc1e927c76a2809ddbfd42 data/hexcasting/recipes/akashic_connector.json
@ -111,6 +113,7 @@ ef5a19ab2710fd0ce836d767588fe6a54a528a48 data/hexcasting/recipes/dye_colorizer_w
229931adf8d62f659de5950d711afd24fb5aa535 data/hexcasting/advancements/recipes/brainsweep/brainsweep/akashic_record.json
1754e1304908edf58a70fe8548f9d0ede22a1dd3 data/hexcasting/recipes/pride_colorizer_pansexual.json
d684142c75bee35e6035d1829e271704d4ccdff3 data/hexcasting/advancements/recipes/hexcasting.creative_tab/pride_colorizer_lesbian.json
7fc1a033a4c628c72539e8b4941b488234f57045 data/hexcasting/recipes/mindsplice_staff.json
4ffed306e5f640054a6f269ae0e548388f087996 data/hexcasting/recipes/warped_staff.json
f45428f892d2064fafa29ea644eea21354e2e322 data/hexcasting/advancements/recipes/hexcasting.creative_tab/edified_staff.json
8715e71c2fb59ee458ce217040c9a8dd0db04789 data/hexcasting/advancements/recipes/hexcasting.creative_tab/lens.json
@ -177,6 +180,7 @@ d323e21de69d0606d1fac03fa8820e5857e4e1f1 data/hexcasting/recipes/dynamicseal_spe
5902d75cd2474604f2bb1067187ba574eb1e15fc data/hexcasting/recipes/compat/farmersdelight/cutting/akashic_wood.json
07902912a9ca6f8da48ed579ec318bb760d4f8df data/hexcasting/recipes/pride_colorizer_nonbinary.json
7a51e934846a0d7fe00a808cfa22fd85da67fe9d data/hexcasting/recipes/brainsweep/impetus_look.json
01fe458d83b9f196b59407d2099b70f93656fc71 data/hexcasting/advancements/recipes/hexcasting.creative_tab/mindsplice_staff.json
1407fa19f33b98ad0f125a0cba0cf8388b1441e5 data/hexcasting/advancements/recipes/hexcasting.creative_tab/decompose_quenched_shard/charged.json
a184ee70962538e4f8641c707d6dca8796ca36e7 data/hexcasting/recipes/edified_slab.json
22ff2d626da7f5fdc1411b4df75a6fc6a0e52df7 data/hexcasting/advancements/recipes/hexcasting.creative_tab/edified_slab.json

View file

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"hexcasting:charged_amethyst"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "hexcasting:mindsplice_staff"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"hexcasting:mindsplice_staff"
]
}
}

View file

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"hexcasting:charged_amethyst"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "hexcasting:quenched_staff"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"hexcasting:quenched_staff"
]
}
}

View file

@ -24,30 +24,23 @@
"name": "hexcasting:quenched_allay"
},
{
"type": "minecraft:group",
"children": [
"type": "minecraft:item",
"functions": [
{
"type": "minecraft:item",
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4.0,
"min": 2.0
},
"function": "minecraft:set_count"
}
],
"name": "hexcasting:quenched_allay_shard"
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4.0,
"min": 2.0
},
"function": "minecraft:set_count"
},
{
"type": "minecraft:item",
"add": true,
"conditions": [
{
"chances": [
0.25,
0.35,
0.5,
0.75,
1.0
@ -56,9 +49,11 @@
"enchantment": "minecraft:fortune"
}
],
"name": "hexcasting:quenched_allay_shard"
"count": 1.0,
"function": "minecraft:set_count"
}
]
],
"name": "hexcasting:quenched_allay_shard"
}
]
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"A": {
"item": "hexcasting:charged_amethyst"
},
"S": {
"item": "minecraft:stick"
},
"W": {
"tag": "hexcasting:brainswept_circle_components"
}
},
"pattern": [
" SA",
" WS",
"S "
],
"result": {
"item": "hexcasting:mindsplice_staff"
}
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"A": {
"item": "hexcasting:charged_amethyst"
},
"S": {
"item": "minecraft:stick"
},
"W": {
"item": "hexcasting:quenched_allay_shard"
}
},
"pattern": [
" SA",
" WS",
"S "
],
"result": {
"item": "hexcasting:quenched_staff"
}
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"#hexcasting:impeti",
"#hexcasting:directrices"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"hexcasting:directrix_redstone"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"values": [
"hexcasting:impetus_look",
"hexcasting:impetus_rightclick",
"hexcasting:impetus_storedplayer"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"#hexcasting:impeti",
"#hexcasting:directrices"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"hexcasting:directrix_redstone"
]
}

View file

@ -0,0 +1,8 @@
{
"replace": false,
"values": [
"hexcasting:impetus_look",
"hexcasting:impetus_rightclick",
"hexcasting:impetus_storedplayer"
]
}

View file

@ -1,9 +1,12 @@
// 1.19.2 2023-02-17T23:14:30.876927309 Tags for minecraft:item
// 1.19.2 2023-02-18T11:42:13.01822805 Tags for minecraft:item
2f5c5bd21580004c998765215166adaa72e0d96b data/forge/tags/items/dusts/amethyst.json
873bab891e0827973ebfe9fedd352c95778d7fbe data/forge/tags/items/gems.json
c5aac196bf97183b43d794c6aac8e206f4b71e37 data/hexcasting/tags/items/brainswept_circle_components.json
918a356b647d2670172763517ab9f885d3b9451b data/hexcasting/tags/items/directrices.json
42c76a43081acfb0194e2cee6de18104fb0ba5ad data/hexcasting/tags/items/edified_logs.json
86828f8056bfdfdd2aff10d7a9dbc6c269c25b8a data/hexcasting/tags/items/edified_planks.json
03bd3a58ae7367d6a21eb3acbbd70fe65a41b8f6 data/hexcasting/tags/items/grants_root_advancement.json
3cc7c170b3faa415a1ab41e6ddf6d6f085c62e66 data/hexcasting/tags/items/impeti.json
7f7d5f6cc9b5cfb39d240fc901c4ae2d2037ec14 data/hexcasting/tags/items/phial_base.json
d878c230cd5cb1b54fbe6e53f3ef71379d080c6f data/hexcasting/tags/items/seal_materials.json
65b4d296017084143261adc617b727749ed7eba4 data/hexcasting/tags/items/staves.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-17T23:44:47.192617485 LootTables
// 1.19.2 2023-02-18T11:42:13.019002411 LootTables
3b1e2f738c4906371a4cdecf24253ad94ae66320 data/hexcasting/loot_tables/blocks/akashic_bookshelf.json
201bbf7adff979ff8cb087e1798da5a2a31eed09 data/hexcasting/loot_tables/blocks/akashic_connector.json
16498092b43c43a4a7617ba91bcfcc13b87d9a7e data/hexcasting/loot_tables/blocks/akashic_record.json
@ -27,7 +27,7 @@ f99e241d651abe7f9234301508bc805deba179ad data/hexcasting/loot_tables/blocks/empt
90f8f97b941408ed89d01b69e1fccf5f2a35e2bc data/hexcasting/loot_tables/blocks/impetus_look.json
d97f573d03712b4d677e3a0a22ab6a000b1db060 data/hexcasting/loot_tables/blocks/impetus_rightclick.json
c8dd063aa3fe320f9f4518736d4ae97ba2c93a79 data/hexcasting/loot_tables/blocks/impetus_storedplayer.json
468f68d1e889afe4f7ce28d1a597a57a17f5a6c3 data/hexcasting/loot_tables/blocks/quenched_allay.json
33ac65cb8351f73958f6d1cb9a5dacfe53d4a2a7 data/hexcasting/loot_tables/blocks/quenched_allay.json
4bd736b9d96bb5a0f0b18cb423566bf0ec63f530 data/hexcasting/loot_tables/blocks/scroll_paper.json
a3ca7f9427bd57a6033f241754d49425251cc091 data/hexcasting/loot_tables/blocks/scroll_paper_lantern.json
745b510161cfff804b115f566ad6b50e0cb492d1 data/hexcasting/loot_tables/blocks/slate.json

View file

@ -1,6 +1,9 @@
// 1.19.2 2023-02-16T14:30:44.861480995 Tags for minecraft:block
// 1.19.2 2023-02-18T11:42:13.017468146 Tags for minecraft:block
c5aac196bf97183b43d794c6aac8e206f4b71e37 data/hexcasting/tags/blocks/brainswept_circle_components.json
918a356b647d2670172763517ab9f885d3b9451b data/hexcasting/tags/blocks/directrices.json
42c76a43081acfb0194e2cee6de18104fb0ba5ad data/hexcasting/tags/blocks/edified_logs.json
86828f8056bfdfdd2aff10d7a9dbc6c269c25b8a data/hexcasting/tags/blocks/edified_planks.json
3cc7c170b3faa415a1ab41e6ddf6d6f085c62e66 data/hexcasting/tags/blocks/impeti.json
841dfbe4970e9167b205e5aa2b0f0936c6b9af60 data/minecraft/tags/blocks/buttons.json
136977a539664f25ea6f762ca8c2ee72d430cc49 data/minecraft/tags/blocks/crystal_sound_blocks.json
cba96d2ff28087e7fd9807e5e80104f3befc2512 data/minecraft/tags/blocks/doors.json

View file

@ -1,4 +1,4 @@
// 1.19.2 2023-02-17T23:44:47.197247947 Recipes
// 1.19.2 2023-02-18T11:42:13.012790417 Recipes
29056d8bbc023668564ee81f4eb8b2a11411cf4a data/create/recipes/crushing/amethyst_block.json
5bb0b70967a422bfd88c01fa1af64e9b98781fd1 data/create/recipes/crushing/amethyst_cluster.json
229931adf8d62f659de5950d711afd24fb5aa535 data/hexcasting/advancements/recipes/brainsweep/brainsweep/akashic_record.json
@ -61,6 +61,7 @@ b21a84886b937a4c4e72a674f265dccb21411ab9 data/hexcasting/advancements/recipes/he
182c2b5dd406c80ed957e1b43d554cce1b212d28 data/hexcasting/advancements/recipes/hexcasting/jungle_staff.json
8715e71c2fb59ee458ce217040c9a8dd0db04789 data/hexcasting/advancements/recipes/hexcasting/lens.json
6a9a89cfa34732437996431a9c885332cf714449 data/hexcasting/advancements/recipes/hexcasting/mangrove_staff.json
01fe458d83b9f196b59407d2099b70f93656fc71 data/hexcasting/advancements/recipes/hexcasting/mindsplice_staff.json
a58f37bc66e65c1ac00ba7dbc4d9a7b902f42aad data/hexcasting/advancements/recipes/hexcasting/oak_staff.json
f9e4d9171ffc6a125d9899f1867398acf8037b27 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_agender.json
b7d75dcd88e5091ff44eec236531a56e82c7bd91 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_aroace.json
@ -78,6 +79,7 @@ d684142c75bee35e6035d1829e271704d4ccdff3 data/hexcasting/advancements/recipes/he
c9c2b33afc4b5de1f10df08d901312ee1ded1c5e data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_pansexual.json
cd22886924e7aaeb62e8f7da0747cc950af9dc32 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_plural.json
be7ceaf2b55525f06178fb09070dfeeef8da1c65 data/hexcasting/advancements/recipes/hexcasting/pride_colorizer_transgender.json
8293ffbca8a83c19bdb4684a6f8676791b5f0884 data/hexcasting/advancements/recipes/hexcasting/quenched_staff.json
bfca15c4ef7bea4704d062c3ab690e23887e55b0 data/hexcasting/advancements/recipes/hexcasting/scroll.json
7df149b266e4f7925defd3b017163698070dbcb9 data/hexcasting/advancements/recipes/hexcasting/scroll_medium.json
898319b3a4ee7a8d7bd7a4af0313593561ed657e data/hexcasting/advancements/recipes/hexcasting/scroll_paper.json
@ -164,6 +166,7 @@ f124395483d1ae0e10b7db2b1828f1a4e269a88c data/hexcasting/recipes/jeweler_hammer.
a776209b64fea520f6a2fff9f1623e7086939dd9 data/hexcasting/recipes/jungle_staff.json
3662834d6e0bac03aba28f0f9d9f07f511492118 data/hexcasting/recipes/lens.json
cba5ffa7cd89116aba040956f4a85073cedd39cf data/hexcasting/recipes/mangrove_staff.json
7fc1a033a4c628c72539e8b4941b488234f57045 data/hexcasting/recipes/mindsplice_staff.json
735a7d770f23a02dc4ae93644e7f4c44a32e313a data/hexcasting/recipes/oak_staff.json
ce0cd4d73792c30dcec2eea306bff44b28cb237f data/hexcasting/recipes/pride_colorizer_agender.json
17aa26ce6bc9941d1477dee99e514fd66be7f664 data/hexcasting/recipes/pride_colorizer_aroace.json
@ -181,6 +184,7 @@ fa49dab810cff4f827d2662a93fc3439a8e99cba data/hexcasting/recipes/pride_colorizer
1754e1304908edf58a70fe8548f9d0ede22a1dd3 data/hexcasting/recipes/pride_colorizer_pansexual.json
db105c67babb1ffc1bcad53ed1c98d7eb2fee4b1 data/hexcasting/recipes/pride_colorizer_plural.json
dc0fb37084974cf396264d046fa6708338eb0879 data/hexcasting/recipes/pride_colorizer_transgender.json
e8933b048f77673c0d278b238be2a41e76c5fa88 data/hexcasting/recipes/quenched_staff.json
446b5adea918e25bb93959fe381e4c8f3fe789f5 data/hexcasting/recipes/scroll.json
2e02e371ed43f72f101588ce4fa6e7ac8b5ef471 data/hexcasting/recipes/scroll_medium.json
6978ff90efdd067940caccdd29437d2aefd0fe1f data/hexcasting/recipes/scroll_paper.json

View file

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"hexcasting:charged_amethyst"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "hexcasting:mindsplice_staff"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"hexcasting:mindsplice_staff"
]
}
}

View file

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"hexcasting:charged_amethyst"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "hexcasting:quenched_staff"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"hexcasting:quenched_staff"
]
}
}

View file

@ -24,30 +24,23 @@
"name": "hexcasting:quenched_allay"
},
{
"type": "minecraft:group",
"children": [
"type": "minecraft:item",
"functions": [
{
"type": "minecraft:item",
"functions": [
{
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4.0,
"min": 2.0
},
"function": "minecraft:set_count"
}
],
"name": "hexcasting:quenched_allay_shard"
"add": false,
"count": {
"type": "minecraft:uniform",
"max": 4.0,
"min": 2.0
},
"function": "minecraft:set_count"
},
{
"type": "minecraft:item",
"add": true,
"conditions": [
{
"chances": [
0.25,
0.35,
0.5,
0.75,
1.0
@ -56,9 +49,11 @@
"enchantment": "minecraft:fortune"
}
],
"name": "hexcasting:quenched_allay_shard"
"count": 1.0,
"function": "minecraft:set_count"
}
]
],
"name": "hexcasting:quenched_allay_shard"
}
]
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"A": {
"item": "hexcasting:charged_amethyst"
},
"S": {
"item": "minecraft:stick"
},
"W": {
"tag": "hexcasting:brainswept_circle_components"
}
},
"pattern": [
" SA",
" WS",
"S "
],
"result": {
"item": "hexcasting:mindsplice_staff"
}
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"key": {
"A": {
"item": "hexcasting:charged_amethyst"
},
"S": {
"item": "minecraft:stick"
},
"W": {
"item": "hexcasting:quenched_allay_shard"
}
},
"pattern": [
" SA",
" WS",
"S "
],
"result": {
"item": "hexcasting:quenched_staff"
}
}

View file

@ -0,0 +1,6 @@
{
"values": [
"#hexcasting:impeti",
"#hexcasting:directrices"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"hexcasting:directrix_redstone"
]
}

View file

@ -0,0 +1,7 @@
{
"values": [
"hexcasting:impetus_look",
"hexcasting:impetus_rightclick",
"hexcasting:impetus_storedplayer"
]
}

View file

@ -0,0 +1,6 @@
{
"values": [
"#hexcasting:impeti",
"#hexcasting:directrices"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"hexcasting:directrix_redstone"
]
}

View file

@ -0,0 +1,7 @@
{
"values": [
"hexcasting:impetus_look",
"hexcasting:impetus_rightclick",
"hexcasting:impetus_storedplayer"
]
}

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python3
from sys import argv, stdout
from collections import namedtuple
from fnmatch import fnmatch
from html import escape
import json # codec
import re # parsing
@ -66,6 +67,7 @@ types = {
keys = {
"use": "Right Click",
"sneak": "Left Shift",
"jump": "Space",
}
bind1 = (lambda: None).__get__(0).__class__
@ -175,8 +177,8 @@ test_root = {"i18n": {}, "macros": default_macros, "resource_dir": "Common/src/m
test_str = "Write the given iota to my $(l:patterns/readwrite#hexcasting:write/local)$(#490)local$().$(br)The $(l:patterns/readwrite#hexcasting:write/local)$(#490)local$() is a lot like a $(l:items/focus)$(#b0b)Focus$(). It's cleared when I stop casting a Hex, starts with $(l:casting/influences)$(#490)Null$() in it, and is preserved between casts of $(l:patterns/meta#hexcasting:for_each)$(#fc77be)Thoth's Gambit$(). "
def localize_pattern(root_data, op_id):
return localize(root_data["i18n"], "hexcasting.spell.book." + op_id,
localize(root_data["i18n"], "hexcasting.spell." + op_id))
return localize(root_data["i18n"], "hexcasting.action.book." + op_id,
localize(root_data["i18n"], "hexcasting.action." + op_id))
def do_localize(root_data, obj, *names):
@ -191,18 +193,26 @@ def do_format(root_data, obj, *names):
def identity(x): return x
pattern_pat = re.compile(r'HexPattern\.fromAngles\("([qweasd]+)", HexDir\.(\w+)\),\s*modLoc\("([^"]+)"\)([^;]*true\);)?')
pattern_stubs = [(None, "at/petrak/hexcasting/interop/pehkui/PehkuiInterop.java"), (None, "at/petrak/hexcasting/common/casting/RegisterPatterns.java"), ("Fabric", "at/petrak/hexcasting/fabric/interop/gravity/GravityApiInterop.java")]
pattern_pat = re.compile(r'make\(\s*"([a-zA-Z0-9_\/]+)",\s*(?:new )?ActionRegistryEntry\(\s*HexPattern\.fromAngles\(\s*"([aqwed]+)",\s*HexDir.(\w+)\),')
pattern_stubs = [(None, "at/petrak/hexcasting/common/lib/hex/HexActions.java"), ("Fabric", "at/petrak/hexcasting/fabric/FabricHexInitializer.kt")]
great_world_stubs = [("Fabric", "data/hexcasting/tags/action/per_world_pattern.json")]
def fetch_patterns(root_data):
registry = {}
great_names = set()
for loader, stub in great_world_stubs:
filename = f"{root_data['resource_dir'].replace('/main/', '/generated/')}/{stub}"
if loader: filename = filename.replace("Common", loader)
tag = slurp(filename)
for val in tag["values"]:
great_names.add(val.replace("hexcasting:", ""))
for loader, stub in pattern_stubs:
filename = f"{root_data['resource_dir']}/../java/{stub}"
if loader: filename = filename.replace("Common", loader)
with open(filename, "r") as fh:
pattern_data = fh.read()
for mobj in re.finditer(pattern_pat, pattern_data):
string, start_angle, name, is_per_world = mobj.groups()
registry[root_data["modid"] + ":" + name] = (string, start_angle, bool(is_per_world))
name, string, start_angle = mobj.groups()
registry[root_data["modid"] + ":" + name] = (string, start_angle, name in great_names)
return registry
def resolve_pattern(root_data, page):
@ -397,7 +407,8 @@ def get_format(out, ty, value):
raise ValueError("Unknown format type: " + ty)
def entry_spoilered(root_info, entry):
return entry.get("advancement", None) in root_info["spoilers"]
if "advancement" not in entry: return False
return any(fnmatch(entry["advancement"], pat) for pat in root_info["spoilers"])
def category_spoilered(root_info, category):
return all(entry_spoilered(root_info, ent) for ent in category["entries"])

View file

@ -394,7 +394,7 @@
</p>
</blockquote>
</div>
#SPOILER hexcasting:opened_eyes hexcasting:y_u_no_cast_angy hexcasting:enlightenment
#SPOILER hexcasting:opened_eyes hexcasting:y_u_no_cast_angy hexcasting:enlightenment hexcasting:lore/*
#DUMP_BODY_HERE
</body>
</html>

View file

@ -1,21 +0,0 @@
PieceTrickBlaze.java
PieceTrickBreakLoop.java
PieceTrickChangeSlot.java
PieceTrickDebug.java
PieceTrickDebugSpamless.java
PieceTrickDelay.java
PieceTrickDetonate.java
PieceTrickDie.java
PieceTrickEidosAnchor.java
PieceTrickEidosReversal.java
PieceTrickEvaluate.java
PieceTrickExplode.java
PieceTrickOvergrow.java
PieceTrickParticleTrail.java
PieceTrickPlaySound.java
PieceTrickRussianRoulette.java
PieceTrickSaveVector.java
PieceTrickSmite.java
PieceTrickSpinChamber.java
PieceTrickSwitchTargetSlot.java
PieceTrickTorrent.java

View file

@ -1,83 +0,0 @@
Mana
- Mana is mental energy/thought
- Mana can be generated by:
= natural growth of amethyst crystals
= lightning?
= XP?
= organics -> corpses, shrubs? (anything edible + anything compostable?)
- Mana generation turns amethyst into perfect crystals, recharges batteries
Amethyst
- Amethyst stores mana
- Amethyst comes in dust, crystals, perfect crystals
- Each type is worth X mana; must consume an entire item; use up mana producing items least->greatest
- Later-game create rechargeable mana batteries?
Wandless Spellcasting
- do away with trinkets
- cyphers start with X mana crystals inside and cannot replace them
- artifacts can replace the mana crystals inside as they break
- these are special in that they can partially consume crystals
Per-world patterns
- all spells are like this?
- only great spells are like this?
- find the patterns on scrolls in chests
CastException
- Tiers of spell mishaps:
= puff of smoke, drop your wand
= consume a lot of mana, drop all your items
= just kill you, something apt for a great spell
- Mishap based on the type of exception
- item that gives you more detail on the precise manner of the exception
Great Spells
- require some kind of answer to a question to cast successfully
(see young wizards calculating oxygen amounts to teleport to the moon)
- https://www.dandwiki.com/wiki/SRD:Epic_Spells_and_Powers
- greater teleport:
= total items in inventory? (see chronometer fablehaven not taking your clothes with you)
= some irritating math question about the specific vector involved?
= review eragon's teleportation spell, D&D teleport, oathgates
- flight
= you must be on the ground within X seconds or you take infinite fall damage
- quarry region
- power word kill
Great Work
- Way to generate infinite mana
= recharge wands/batteries upon touching them?
- borrow from FMA and require the death of 100+ entities at once? (And if not, it gets the caster?)
- nigredo albedo citrinas rubedo?
> Nigredo is the dissolution of the false self; the burning of the old to ashes
> Albedo is the "raising" of the remains to the heavenly sphere in gaseous form; take the ashes and make them reborn
> Citrinas is an optional step but it boils down to some form of "aging" or "wisdom" (which comes with age);
take the newborn (true) self and temper it with time and/or knowledge
> Rubedo is the final distillation; you take the results from albedo/citrinas and you compress them down to a usable
form, the stone
-- alwinfy
- instructions in the form of an emerald-tablet-esque riddle
= include one line on each spell scroll
= assemble the poem, crack the riddle, &c
- possible workflow:
= Cast the first half of the spell, requiring an enumeration of your sins:
+ numbers of villagers killed?
+ number of passives killed?
+ total damage dealt?
You must have no items and no XP (caveat for keepInventory players: under 1 level of XP)
= Timer starts (Witness-esque music track?)
= Nigredo: endure 10 seconds of Wither and 10 seconds of constant fire without picking up any items.
= Albedo:
+ teleport 64 blocks in the air and survive the fall?
+ gain levitation for X seconds; by the time you hit the floor you must have done Y?
+ cure a zombie villager?
= Citrinitas:
+ Fight a bunch of mobs?
+ Must have 30+ XP levels to cast the second half?
= Cast the second half of the spell, requiring an enumeration of your accomplishments:
+ diamonds mined?
+ raids won?
+ spells cast?
+ undead slain?
= Rubedo: Attain the Great Work.

4
todo.txt Normal file
View file

@ -0,0 +1,4 @@
[ ] Spell to breed animals, speed up babies, excite allays
[ ] Sleep:
- make players sleep till the next sun/moonrise
- clears AI tasks of mobs (temporarily)