aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/mod/Mod.cpp
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-06-11 17:19:34 -0300
committerflow <flowlnlnln@gmail.com>2022-07-17 11:33:43 -0300
commit91a5c4bdcbd3ae18139b85899f051fb3d9cbd1fc (patch)
tree2845daddf22f1f17a56ace9b4945c7a91d0c477b /launcher/minecraft/mod/Mod.cpp
parent9a07ede615869e3df87c41a689ebbba16a433849 (diff)
downloadPrismLauncher-91a5c4bdcbd3ae18139b85899f051fb3d9cbd1fc.tar.gz
PrismLauncher-91a5c4bdcbd3ae18139b85899f051fb3d9cbd1fc.tar.bz2
PrismLauncher-91a5c4bdcbd3ae18139b85899f051fb3d9cbd1fc.zip
feat: add metadata get/delete via mod id
This is, in many cases, more reliable than name comparisons, so it's useful specially in cases where a mod changes name between versions Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher/minecraft/mod/Mod.cpp')
-rw-r--r--launcher/minecraft/mod/Mod.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/launcher/minecraft/mod/Mod.cpp b/launcher/minecraft/mod/Mod.cpp
index 81bb902f..bba7b342 100644
--- a/launcher/minecraft/mod/Mod.cpp
+++ b/launcher/minecraft/mod/Mod.cpp
@@ -164,12 +164,8 @@ void Mod::setMetadata(Metadata::ModStruct* metadata)
auto Mod::destroy(QDir& index_dir, bool preserve_metadata) -> bool
{
- auto n = name();
- // FIXME: This can fail to remove the metadata if the
- // "ModMetadataDisabled" setting is on, since there could
- // be a name mismatch!
- if(!preserve_metadata)
- Metadata::remove(index_dir, n);
+ if (!preserve_metadata && status() != ModStatus::NoMetadata)
+ Metadata::remove(index_dir, metadata()->mod_id());
m_type = MOD_UNKNOWN;
return FS::deletePath(m_file.filePath());