From 97a62711d86d693bad01d49d11cecedd07ce20a9 Mon Sep 17 00:00:00 2001 From: ChuijkYahus <94828194+ChuijkYahus@users.noreply.github.com> Date: Mon, 23 Mar 2026 19:20:04 +0800 Subject: [PATCH] IoticSpellbooks create --- .../ioticspellbooks/lang/en_us.json | 61 +++++++++++++++++++ .../ioticspellbooks/lang/zh_cn.json | 61 +++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/en_us.json create mode 100644 projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/zh_cn.json diff --git a/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/en_us.json b/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/en_us.json new file mode 100644 index 000000000000..976603d20132 --- /dev/null +++ b/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/en_us.json @@ -0,0 +1,61 @@ +{ + "ioticspellbooks.iota.iron_spell.display": "%s %d ", + "ioticspellbooks.iota.iron_spell.invalid": "Invalid iron's spell", + "hexcasting.mishap.ioticspellbooks.iron_spell_cast": "Unable to cast spell %s: %s", + "hexcasting.mishap.ioticspellbooks.iron_spell_cast.unattended": "Attempted to cast without player", + "school.ioticspellbooks.hex": "Hex", + "spell.ioticspellbooks.hex_grid": "Hex Grid", + "spell.ioticspellbooks.hex_grid.guide": "Open Hex Casting grid", + + "entity.ioticspellbooks.conjured_spellbook": "Conjured Spellbook", + + "hexcasting.action.ioticspellbooks:iotify_iron_spell": "Iotifying Reflection", + "hexcasting.action.ioticspellbooks:cast_iron_spell": "Cast Iron's Spell", + "hexcasting.action.ioticspellbooks:conjure_spellbook": "Conjure Spellbook", + "hexcasting.action.ioticspellbooks:conjure_spellbook_temp": "Conjure Lesser Spellbook", + "hexcasting.action.ioticspellbooks:direct_spellbook": "Direct Spellbook", + "hexcasting.action.ioticspellbooks:disperse_spellbook": "Disperse Spellbook", + "hexcasting.action.ioticspellbooks:get_iron_spell_cooldown": "Rebound Gambit", + "hexcasting.action.ioticspellbooks:get_iron_spell_caster_cooldown": "Recess Distillation", + "hexcasting.action.ioticspellbooks:get_iron_spell_cast_time": "Priming Gambit", + "hexcasting.action.ioticspellbooks:get_iron_spell_cost": "Pledge Purification", + "hexcasting.action.ioticspellbooks:get_iron_spell_level": "Elevation Purification", + "hexcasting.action.ioticspellbooks:get_iron_spell_max_level": "Capstone Purification", + "hexcasting.action.ioticspellbooks:get_iron_spell_cast_type": "Formation Purification", + "hexcasting.action.ioticspellbooks:downgrade_iron_spell": "Reduction Distillation", + "hexcasting.action.ioticspellbooks:get_iron_mana_max": "Capacious Purification", + "hexcasting.action.ioticspellbooks:get_iron_mana_current": "Tidal Purification", + "hexcasting.action.ioticspellbooks:get_iron_cast_time_remaining": "Countdown Purification", + "hexcasting.action.ioticspellbooks:stop_iron_casting": "Abort Iron's cast", + "hexcasting.action.ioticspellbooks:get_iron_cast_spell": "Kleptographist's Prfn.", + "hexcasting.action.ioticspellbooks:reduce_iron_spell_cooldown": "Recess Reduction", + "hexcasting.iota.ioticspellbooks:iron_spell": "Iron's spell", + + "ioticspellbooks.entry.interop.irons_spellbooks": "Iron's Spells 'n Spellbooks", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_1": "I came across this other magical art, which is focused on \"Iron's Spells\" - ancient incantations capable of bending the forces of nature. While they lack the precise control that hexes provide me, they are of a great utility in their own right, especially for combat. Moreover, I was able to devise some hex patterns to interact with Iron's spells, allowing me to integrate them into my hexes!", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_2.title": "Notable observations", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_2": "There's a $(l)Hex Grid$() Iron's spell that allows to open hex casting grid without a staff.$(br2)Being hit by $(l)Counterspell$() closes and clears hex casting grid.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.iotify_iron_spell": "Reads Iron's spell from the scroll in my hand. Costs one shard.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.cast_iron_spell": "Makes the entity cast the given spell. Costs the mana required for spell, spell cooldown, plus 1 dust per 30 mana, but not more than 1 charged crystal. Works only if I am capable of casting the given spell.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types.title": "Spellcaster types", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types": "I divided entities who can cast Iron's spells into three categories:$(li)First, there are Players like me. We draw mana from our reserves, which regenerate over time. Spells become unusable for a short time after being cast.$(li)Then, there are other entities who specialize in spellcasting. They seem to have neither limited mana supplies nor spell cooldowns.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types_2": "Their capabilities are only limited by their own minds, which suggests that Nature imposed additional limitations on $(o)us$() because of our intelligence.$(li)At last, there are mundane entities who can't use magic on their own at all. I can only make them cast spells at the expense of my own mana and cooldown. They can't maintain continuous spells at all, but also cast $(o)all$() spells instantly.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.conjure_spellbook": "Conjures spellbook at the given position. Spellbook is a spellcaster entity, capable of casting Iron's spells. Costs one shard. $(l)Counterspell$() destroys spellbooks.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.conjure_spellbook_temp": "Conjures lesser spellbook at the given position. Lesser spellbook dissipates after casting a spell. Costs three dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.direct_spellbook": "Directs conjured spellbook in the direction of the vector, or locks it onto the given entity. Spellbook will automatically rotate to follow target entity. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.disperse_spellbook": "Destroys conjured spellbook. Costs one thousandth of a dust if spellbook was conjured by me, and one charged crystal otherwise.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cooldown": "$(br)Returns spell cooldown (in ticks). If player is provided, takes into account their attributes. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_caster_cooldown": "Returns remaining spell cooldown for the given player (in ticks). Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cast_time": "$(br)Returns spell cast time (in ticks). If entity is provided, takes into account their attributes. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cost": "Returns amount of mana required for casting the given spell.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_level": "Returns spell level.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_max_level": "Returns maximum possible level for the given spell.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cast_type": "Returned number describes how the given spell is casted - $(l)1$() for instant spells, $(l)2$() for long, and $(l)3$() for continuous.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.downgrade_iron_spell": "Reduces spell level by the given number. Won't reduce below first level. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_mana_max": "Returns mana capacity of the given player. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_mana_current": "Returns current mana amount of the given player. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_cast_time_remaining": "Returns time (in ticks) until the given entity finishes casting. Zero if not casting. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.stop_iron_casting": "If I am casting Iron's spell, aborts it. Costs one dust.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_cast_spell": "Returns the spell that the given entity is casting. Null if not casting. Costs one shard.", + "ioticspellbooks.entry.interop.irons_spellbooks.page.reduce_iron_spell_cooldown": "Halves remaining spell cooldown for the given player. Costs (full cooldown)/(remaining cooldown) charged amethyst crystals." +} \ No newline at end of file diff --git a/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/zh_cn.json b/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/zh_cn.json new file mode 100644 index 000000000000..ed9b6358b2db --- /dev/null +++ b/projects/1.20/assets/ioticspellbooks/ioticspellbooks/lang/zh_cn.json @@ -0,0 +1,61 @@ +{ + "ioticspellbooks.iota.iron_spell.display": "%s %d ", + "ioticspellbooks.iota.iron_spell.invalid": "无效Iron法术", + "hexcasting.mishap.ioticspellbooks.iron_spell_cast": "无法施放法术%s:%s", + "hexcasting.mishap.ioticspellbooks.iron_spell_cast.unattended": "试图不通过玩家施法", + "school.ioticspellbooks.hex": "咒法", + "spell.ioticspellbooks.hex_grid": "咒术网格", + "spell.ioticspellbooks.hex_grid.guide": "打开咒术网格", + + "entity.ioticspellbooks.conjured_spellbook": "构筑的法术书", + + "hexcasting.action.ioticspellbooks:iotify_iron_spell": "Iota化术之精思", + "hexcasting.action.ioticspellbooks:cast_iron_spell": "施放Iron法术", + "hexcasting.action.ioticspellbooks:conjure_spellbook": "构筑法术书", + "hexcasting.action.ioticspellbooks:conjure_spellbook_temp": "构筑次级法术书", + "hexcasting.action.ioticspellbooks:direct_spellbook": "指示法术书", + "hexcasting.action.ioticspellbooks:disperse_spellbook": "驱散法术书", + "hexcasting.action.ioticspellbooks:get_iron_spell_cooldown": "回弹之策略", + "hexcasting.action.ioticspellbooks:get_iron_spell_caster_cooldown": "术休之馏化", + "hexcasting.action.ioticspellbooks:get_iron_spell_cast_time": "蓄术之策略", + "hexcasting.action.ioticspellbooks:get_iron_spell_cost": "术价之纯化", + "hexcasting.action.ioticspellbooks:get_iron_spell_level": "术阶之纯化", + "hexcasting.action.ioticspellbooks:get_iron_spell_max_level": "术极之纯化", + "hexcasting.action.ioticspellbooks:get_iron_spell_cast_type": "术形之纯化", + "hexcasting.action.ioticspellbooks:downgrade_iron_spell": "降阶之馏化", + "hexcasting.action.ioticspellbooks:get_iron_mana_max": "法容之纯化", + "hexcasting.action.ioticspellbooks:get_iron_mana_current": "法流之纯化", + "hexcasting.action.ioticspellbooks:get_iron_cast_time_remaining": "倒计时之纯化", + "hexcasting.action.ioticspellbooks:stop_iron_casting": "终止Iron法术", + "hexcasting.action.ioticspellbooks:get_iron_cast_spell": "盗术者之纯化", + "hexcasting.action.ioticspellbooks:reduce_iron_spell_cooldown": "术休缩减", + "hexcasting.iota.ioticspellbooks:iron_spell": "Iron法术", + + "ioticspellbooks.entry.interop.irons_spellbooks": "Iron 的法术与魔法书", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_1": "我偶然发现了另一种魔法技艺,它涉及的主要是“Iron 法术”——能操控自然之力的古老咒语。这种技艺的控制方法不如咒法学精细,但它在对应领域中非常有用,尤其是战斗领域。以及,我还设计了些咒术图案,以和 Iron 法术交互,将它们整合到我的咒术中来!", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_2.title": "值得注意的观察成果", + "ioticspellbooks.entry.interop.irons_spellbooks.page.irons_spells_2": "Iron 法术里有一个$(l)咒术网格$()法术,能在不使用法杖的情况下打开咒术网格。$(br2)$(l)法术反制$()会关闭和清空咒术网格。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.iotify_iron_spell": "从手中的卷轴里读取 Iron 法术。消耗 1 个紫水晶碎片。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.cast_iron_spell": "让实体施放指定法术。消耗法术所需法力值,让法术进入冷却;同时每 30 法力值消耗 1 个紫水晶粉,不会消耗超过 1 个充能紫水晶。只会在我能施放所给法术时生效。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types.title": "施法者类型", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types": "我将能施放 Iron 法术的实体分成了三类:$(li)第一类,类似我的玩家。我们会从自身的储备库中取用法力值,还能随时间恢复法力值。法术在施放后短时间内无法使用。$(li)第二类,专长于施法的其他实体。它们似乎有无限的法力值,还没有法术冷却。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.caster_types_2": "它们的能力是强是弱只由它们的意识决定。这也能证明,正是因为$(o)我们$()拥有智慧,自然才对我们施加了额外的限制。$(li)第三类,无法仅凭自身施法的平凡实体。我只能消耗我自己的法力值的冷却时间让它们施法。它们无法维持持续类法术,但似乎能立即施放$(o)所有$()法术。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.conjure_spellbook": "在给定位置构筑一本法术书。法术书是施法者实体,能施放 Iron 法术。消耗 1 个紫水晶碎片。$(l)法术反制$()能摧毁法术书。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.conjure_spellbook_temp": "在给定位置构筑一本次级法术书。次级法术书会在施法后消失。消耗 3 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.direct_spellbook": "令构筑的法术书面向所给向量,或是锁定至给定实体。锁定实体的法术书会自动旋转。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.disperse_spellbook": "摧毁构筑的法术书。若法术书是由我构筑的,消耗 1/1000 个紫水晶粉;否则消耗 1 个充能紫水晶。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cooldown": "$(br)返回法术的冷却时间(以刻计)。给定玩家时,会将该玩家的属性纳入计算。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_caster_cooldown": "返回给定玩家剩余的冷却时间(以刻计)。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cast_time": "$(br)返回法术的吟唱时间(以刻计)。给定实体时,会将该实体的属性纳入计算。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cost": "返回施放给定法术所需的法力值。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_level": "返回法术的等级。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_max_level": "返回给定法术的等级上限。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_spell_cast_type": "根据给定法术的施放方式返回数:瞬时施法为 $(l)1$(),长时施法为 $(l)2$(),持续施法为 $(l)3$()。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.downgrade_iron_spell": "令法术的等级降低所给数级。不会降至 1 级以下。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_mana_max": "返回所给玩家的法力值上限。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_mana_current": "返回所给玩家的当前法力值。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_cast_time_remaining": "返回所给实体距施法结束的剩余时间(以刻计)。未在施法则返回 0。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.stop_iron_casting": "终止我当前在施放的 Iron 法术。消耗 1 个紫水晶粉。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.get_iron_cast_spell": "返回所给实体正在施放的法术。未在施法则返回 Null。消耗 1 个紫水晶碎片。", + "ioticspellbooks.entry.interop.irons_spellbooks.page.reduce_iron_spell_cooldown": "令所给玩家当前的法术冷却时间减半。消耗 (完整冷却时间)/(当前冷却时间) 个充能紫水晶。" +} \ No newline at end of file