diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index a249ece6..826ed25c 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -29,7 +29,8 @@ f0cce957861ee854cbd68984015da2c530c9ef6d assets/hex/models/item/trinket_filled.j 2ac42506f03235f4335dd62f0d6a0c4f23ca61b9 data/forge/loot_modifiers/global_loot_modifiers.json 40eee88282c6d02518aab36a1da1d2f7d5c0a051 data/hex/advancements/aaa_wasteful_cast.json f6d43f5b05b88aeebb1529aa700cc3dcc24bbc32 data/hex/advancements/aab_big_cast.json -8d527492a35c60baaaf73387310ae06d7aa681be data/hex/advancements/enlightenment.json +d341fdd252063ed5355a161f0e50f1c425e84d7b data/hex/advancements/enlightenment.json +bf38859bbc413252bca5f271a56c3f8dde1f0457 data/hex/advancements/opened_eyes.json 912115e8811b07c3484f5ac781143c450d561023 data/hex/advancements/recipes/hex/artifact.json 33d503ee36d30d6fac2c96000faba800521130ac data/hex/advancements/recipes/hex/cypher.json 4a8e31487e2b1a74166af3e31e706b1534adbca7 data/hex/advancements/recipes/hex/focus.json diff --git a/src/generated/resources/data/hex/advancements/enlightenment.json b/src/generated/resources/data/hex/advancements/enlightenment.json index 41443b76..f43f4172 100644 --- a/src/generated/resources/data/hex/advancements/enlightenment.json +++ b/src/generated/resources/data/hex/advancements/enlightenment.json @@ -1,5 +1,5 @@ { - "parent": "hex:root", + "parent": "hex:opened_eyes", "display": { "icon": { "item": "minecraft:music_disc_11" diff --git a/src/generated/resources/data/hex/advancements/opened_eyes.json b/src/generated/resources/data/hex/advancements/opened_eyes.json new file mode 100644 index 00000000..c3d2eee6 --- /dev/null +++ b/src/generated/resources/data/hex/advancements/opened_eyes.json @@ -0,0 +1,29 @@ +{ + "parent": "hex:root", + "display": { + "icon": { + "item": "minecraft:ender_eye" + }, + "title": { + "translate": "advancement.hex:opened_eyes" + }, + "description": { + "translate": "advancement.hex:opened_eyes.desc" + }, + "frame": "task", + "show_toast": true, + "announce_to_chat": true, + "hidden": false + }, + "criteria": { + "health_used": { + "trigger": "hex:overcast", + "conditions": {} + } + }, + "requirements": [ + [ + "health_used" + ] + ] +} \ No newline at end of file diff --git a/src/main/java/at/petrak/hex/common/casting/operators/spells/OpBlink.kt b/src/main/java/at/petrak/hex/common/casting/operators/spells/OpBlink.kt index 9bea7c30..f0dc4bc4 100644 --- a/src/main/java/at/petrak/hex/common/casting/operators/spells/OpBlink.kt +++ b/src/main/java/at/petrak/hex/common/casting/operators/spells/OpBlink.kt @@ -35,7 +35,7 @@ object OpBlink : SpellOperator { // IIRC this is to prevent you from teleporting into blocks because people tend to look a little bit down // ... but isn't the condition backwards? val dx = look.x * delta - val dy = if (target == ctx.caster) { + val dy = if (target != ctx.caster) { look.y * delta } else { max(0.0, look.y * delta) diff --git a/src/main/java/at/petrak/hex/datagen/Advancements.java b/src/main/java/at/petrak/hex/datagen/Advancements.java index 9f92a9f5..77acdf85 100644 --- a/src/main/java/at/petrak/hex/datagen/Advancements.java +++ b/src/main/java/at/petrak/hex/datagen/Advancements.java @@ -25,6 +25,7 @@ public class Advancements extends AdvancementProvider { public static Advancement ROOT; public static Advancement BIG_CAST; public static Advancement WASTEFUL_CAST; + public static Advancement OPENED_EYES; public static Advancement ENLIGHTENMENT; public static final OvercastTrigger OVERCAST_TRIGGER = new OvercastTrigger(); @@ -71,13 +72,24 @@ public class Advancements extends AdvancementProvider { MinMaxBounds.Ints.ANY)) .save(consumer, prefix("aab_big_cast")); + OPENED_EYES = Advancement.Builder.advancement() + .display(simple(Items.ENDER_EYE, "opened_eyes", FrameType.TASK)) + .parent(ROOT) + .addCriterion("health_used", + new OvercastTrigger.Instance(EntityPredicate.Composite.ANY, + MinMaxBounds.Ints.ANY, + MinMaxBounds.Doubles.ANY, + // you can't just kill yourself + MinMaxBounds.Doubles.atLeast(0.1))) + .save(consumer, prefix("opened_eyes")); + ENLIGHTENMENT = Advancement.Builder.advancement() .display(new DisplayInfo(new ItemStack(Items.MUSIC_DISC_11), new TranslatableComponent("advancement.hex:enlightenment"), new TranslatableComponent("advancement.hex:enlightenment.desc"), null, FrameType.CHALLENGE, true, true, true)) - .parent(ROOT) + .parent(OPENED_EYES) .addCriterion("health_used", new OvercastTrigger.Instance(EntityPredicate.Composite.ANY, MinMaxBounds.Ints.ANY, diff --git a/src/main/resources/assets/hex/lang/en_us.json b/src/main/resources/assets/hex/lang/en_us.json index d8690f4d..33644fbd 100644 --- a/src/main/resources/assets/hex/lang/en_us.json +++ b/src/main/resources/assets/hex/lang/en_us.json @@ -1,25 +1,27 @@ { - "item.hex.wand": "Staff", - "item.hex.focus": "Focus", - "item.hex.spellbook": "Spellbook", - "item.hex.cypher": "Cypher", - "item.hex.trinket": "Trinket", - "item.hex.artifact": "Artifact", - "item.hex.amethyst_dust": "Amethyst Dust", - "item.hex.charged_amethyst": "Charged Amethyst", - "item.hex.lens": "Scrying Lens", - "death.attack.hex.overcast": "%s's mind was consumed into energy", - "hex.spellbook.tooltip.page": "Selected Page %d/%d", - "hex.spelldata.desc.entity": "Entity %s", - "advancement.hex:root": "Hex ", - "advancement.hex:root.desc": "Enter an amethyst geode deep underground, a concentrated source of media.", - "advancement.hex:enlightenment": "Achieve Enlightenment", - "advancement.hex:enlightenment.desc": "Go nearly insane from casting a Hex from almost all of your health.", - "advancement.hex:wasteful_cast": "Waste Not...", - "advancement.hex:wasteful_cast.desc": "Waste a large amount of Media when casting a Hex.", - "advancement.hex:big_cast": "... Want Not", - "advancement.hex:big_cast.desc": "Cast a spell requiring a truly huge amount of Media.", - "stat.hex.mana_used": "Media consumed (in dusts)", - "stat.hex.mana_overcasted": "Media overcasted (in dusts)", - "itemGroup.hex": "Hex" + "item.hex.wand": "Staff", + "item.hex.focus": "Focus", + "item.hex.spellbook": "Spellbook", + "item.hex.cypher": "Cypher", + "item.hex.trinket": "Trinket", + "item.hex.artifact": "Artifact", + "item.hex.amethyst_dust": "Amethyst Dust", + "item.hex.charged_amethyst": "Charged Amethyst", + "item.hex.lens": "Scrying Lens", + "death.attack.hex.overcast": "%s's mind was consumed into energy", + "hex.spellbook.tooltip.page": "Selected Page %d/%d", + "hex.spelldata.desc.entity": "Entity %s", + "advancement.hex:root": "Hex ", + "advancement.hex:root.desc": "Enter an amethyst geode deep underground, a concentrated source of media.", + "advancement.hex:enlightenment": "Achieve Enlightenment", + "advancement.hex:enlightenment.desc": "Go nearly insane from casting a Hex from almost all of your health.", + "advancement.hex:wasteful_cast": "Waste Not...", + "advancement.hex:wasteful_cast.desc": "Waste a large amount of Media when casting a Hex.", + "advancement.hex:big_cast": "... Want Not", + "advancement.hex:big_cast.desc": "Cast a spell requiring a truly huge amount of Media.", + "advancement.hex:opened_eyes": "Opened Eyes", + "advancement.hex:opened_eyes.desc": "Have nature take just a §olittle§r of your mind as payment for a Hex.", + "stat.hex.mana_used": "Media consumed (in dusts)", + "stat.hex.mana_overcasted": "Media overcasted (in dusts)", + "itemGroup.hex": "Hex" } diff --git a/src/main/resources/data/hex/patchouli_books/thehexbook/en_us/entries/casting/start_to_see.json b/src/main/resources/data/hex/patchouli_books/thehexbook/en_us/entries/casting/start_to_see.json new file mode 100644 index 00000000..a9adea19 --- /dev/null +++ b/src/main/resources/data/hex/patchouli_books/thehexbook/en_us/entries/casting/start_to_see.json @@ -0,0 +1,26 @@ +{ + "name": "WHAT DID I SEE", + "category": "hex:casting", + "icon": "minecraft:textures/mob_effect/blindness.png", + "priority": true, + "sortnum": 3, + "advancement": "hex:opened_eyes", + "pages": [ + { + "type": "patchouli:text", + "text": "The texts weren't lying. Nature took its due." + }, + { + "type": "patchouli:text", + "text": "That was... one of the worst things I've experienced. I offered my plan, and Nature smiled firmly at me and ripped away a part of myself alongside my payment. I feel lucky to have $(italic)survived/$, much less have sagacity enough to write this.$(br2)I should declare the matter closed, double-check my math before I cast any more _Hexes, and make sure I have the _media I need..." + }, + { + "type": "patchouli:text", + "text": "...But.$(br2)For the scarcest instant, that part of myself ... saw ... $(italic)something/$. A place, or a design perhaps-- I was abstract enough that there was no distinction. A ... membrane separating myself from a realm of raw thought and light and energy. I remember-- or, I don't remember, but I find myself thinking of --the barrier fuzzing at the edges just a little bit. I wanted $(italic)through./$" + }, + { + "type": "patchouli:text", + "text": "I know I shouldn't. It's dangerous. It's too dangerous. I'd have to bring myself within a hairsbreadth of Death.$(br2)But I'm SO CLOSE. $(italic)THIS/$ is the culmination of my art, the $(#54398a)Enlightenment/$ I've been seeking.$(br2)I need more. I need to see it again. What is the price of my mortal mind against immortal glory? Just once more... I need to see it. I WILL see it." + } + ] +}