Skip to content

Follow-ups from the review of resource editing #58

Description

@Pelotrio

Rare cases found while reviewing resource editing (#57, #59). Each was judged not to belong in the PR: none of them writes to the wrong file or loses a user's data.

  • Registries that mods add through DataPackRegistryEvent sit under data/<ns>/<modid>/<registry>/. Companion classifies them as data that /reload refreshes, so it reports "the game reloaded it" while the game keeps the old value until the world is loaded again. The game knows the real list (RegistryDataLoader plus DataPackRegistriesHooks) and could name it in PACK_STACK.
  • Save conflicts between two tabs of one file. Two tabs can show the same managed resource, for example one opened from the mod's JAR and one from the Changes page. A save in one moves the other's baseline, so the other tab's unsaved text can later replace it without asking. A file edited outside Companion while its tab is open is replaced the same way. Configuration text already asks in this case (ConfigWriter.saveText); resources should too.
  • A disabled TotalDebug datapack stays disabled for world-load edits. Saving to a folder loaded with the world (worldgen, dimension types and similar) sends no data reload, and only a data reload turns the managed datapack back on. Rejoining keeps the world's disabled state, so the edit never loads (#59).
  • Server resource packs above the managed pack send no file source, so Companion cannot tell that one supplies the edited file too, and does not warn that the server's copy wins (#59).
  • Pack overlays declared in pack.mcmeta are not applied by the Resources view, so a file an active overlay supplies can show a lower copy as the winner (#60).
  • Search Everywhere finds only mods' resources, not those that only an enabled resource pack or the managed pack supplies; it could take the Resources view's joined list (#60).

The earlier items about values tried in the game's memory ended with that feature, which was removed in #59.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions