Version patches get a lot of new flags that determine which actions are allowed Version page respects the flags Customize, revert and edit for version patches Builting patches can be customized
		
			
				
	
	
		
			36 lines
		
	
	
		
			887 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			887 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "ProfileUtils.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;
 | |
| 
 | |
| 	/// 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;
 | |
| };
 |