跳到正文

Nostalgic Memories

作者:nostalgiam

Stage progression for modpacks. Lock whole mods, single items, item tags or recipes behind memories.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Nostalgic Memories

Stage progression for modpacks. Lock whole mods, single items, item tags or recipes behind memories. Until a player recovers a memory, everything it locks is hidden from JEI and can’t be crafted, placed, used or worn. When they recover it, a “Memory Recovered” title plays and the items fade back into JEI.

Memories are plain datapack JSON files. Players recover them through the requirements set. These can be commands, items, advancements, and more. See below for more details.


How It Works

1. Add memory files to a datapack (or KubeJS data folder) at data/<namespace>/nostalgicmemories/memories/<name>.json.
2. Everything a memory locks is hidden in JEI and blocked from crafting for players who haven’t recovered it.
3. Grant it with /memories grant <player> <namespace:name> or whatever requirement you set.
4. The player sees “Memory Recovered”, hears a sound, and the locked items appear in JEI right away.


Writing a Memory

{
  "name": "Memory of Gears",
  "hint": "Cogs turning in a dream you can't place.",
  "locks": ["@create"],
  "except": ["create:wrench"],
  "collect": ["16x minecraft:andesite", "4x minecraft:iron_ingot"],
  "unlock": {
    "subtitle": "The gears start turning again",
    "commands": ["give @s create:wrench"]
    },
  "disguise": true
}
Field What it does
name Display name. Plain text or a text component ({"translate": "..."}). Required.
hint Tooltip line on locked items. Default: “You can’t quite remember how to use this…”
locks What this memory locks. "@modid" locks every item from a mod, "#c:ingots/iron" locks an item tag, "minecraft:furnace" locks one item. @modid also hides that mod’s fluids in JEI and locks enchanted books carrying its enchantments. Fluid ids and fluid tags work too.
except Same format as locks. These stay unlocked even if locks matches them.
recipes Extra recipes to lock by id ("minecraft:iron_block") or by namespace ("@create"), even when their result isn’t locked.
requires Memories the player must already have. /memories grant refuses until they do (add force to skip).
advancement Earning this advancement recovers the memory automatically (once requires is met).
collect Having all of these in the inventory recovers the memory automatically, KubeJS style: ["8x minecraft:cobblestone", "#c:ingots/copper", "3x @create"]. No count means 1. Counted across the whole inventory.
disguise true (default): locked items show as Faded Memory with only the hint. false: real name plus hint.
unlock What happens on recovery, see below.

unlock options

Field Default
announce true: show the title and play the sound
title “Memory Recovered”
subtitle the memory’s name
message none (chat message)
sound minecraft:ui.toast.challenge_complete
commands none. Run as the player at permission level 2, e.g. "give @s minecraft:iron_ingot 3" or a teleport to a story room

What it Locks

  • Crafting: the crafting table and inventory grid show no result.
  • JEI: locked items are removed from the item list. Recipes whose result is locked, or whose id is in recipes, are hidden too.
  • Using: right-clicking with the item, placing it, attacking or mining with it, and using it on mobs is disabled.
  • Placed blocks: right-clicking a placed block from a locked mod (e.g. a machine found in a structure). Breaking it is still allowed. Can be turned off.
  • Armor: locked armor is taken off (back into the inventory) once a second.
  • Inventory (config): by default players can carry locked items from loot chests but not use them. Set locked_items = "DROP" to stop them picking those items up.

Commands

All need permission level 2.

Command
/memories grant <players> <memory> Recover a memory, with the title and sound. Add force to skip requires, or silent for no effects.
/memories grant <players> all Recover every memory (no effects).
/memories revoke <players> <memory|all> Forget memories. If a memory unlocks from an advancement, that advancement is taken away too, so the player can earn it again. A collect memory comes back within a second if the player still has the items.
/memories has <player> <memory> Returns 1 or 0, for execute store result.
/memories list [player] Show every memory and whether the player has it.
/memories why [player] Say which memory locks the item in the player’s main hand.

Config

Server config, synced to clients: saves/<world>/serverconfig/nostalgicmemories-server.toml

Option Default
locked_items KEEP KEEP: carry but not use. DROP: can’t pick up, dropped from inventory.
lock_block_interaction true Block right-clicking placed blocks whose item is locked.
creative_bypass true Creative players can use and craft locked items (they stay hidden in JEI).
show_messages true Action bar message when a player tries to use something locked.

常见问题

Nostalgic Memories 支持哪些 Minecraft 版本?

Nostalgic Memories 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Nostalgic Memories 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

nostalgiam 的其他作品

查看全部 →