sneedmc/api/logic/minecraft/ProfileStrategy.h
Petr Mrázek 8cf88ffc58 GH-1314 add UI for custom minecraft jar addition
Also changes the text of the jar mod addition button.
It should be clearer what it does and hopefully will not confuse
as many people.
2017-08-07 00:46:29 +02:00

40 lines
1.0 KiB
C++

#pragma once
#include "ProfileUtils.h"
#include "ProfilePatch.h"
class MinecraftProfile;
class ProfileStrategy
{
friend class MinecraftProfile;
public:
virtual ~ProfileStrategy(){};
/// load the patch files into the profile
virtual void load() = 0;
/// reset the order of patches
virtual bool resetOrder() = 0;
/// save the order of patches, given the order
virtual bool saveOrder(ProfileUtils::PatchOrder order) = 0;
/// install a list of jar mods into the instance
virtual bool installJarMods(QStringList filepaths) = 0;
/// install a custom jar (replaces the one from the Minecraft component)
virtual bool installCustomJar(QString filepath) = 0;
/// remove any files or records that constitute the version patch
virtual bool removePatch(ProfilePatchPtr jarMod) = 0;
/// make the patch custom, if possible
virtual bool customizePatch(ProfilePatchPtr patch) = 0;
/// revert the custom patch to 'vanilla', if possible
virtual bool revertPatch(ProfilePatchPtr patch) = 0;
protected:
MinecraftProfile *profile;
};