Reward Profiles Overview - TheTurkeyDev/ChanceCubes GitHub Wiki

So you want to make your own Chance Cube Profile? Great! Profiles are a great way to customize Chance Cubes to play out to your liking and enjoyment!

What Are Profiles?

Profiles allow users to more finely customize stock Chance Cubes and its rewards to better fit their play style as well as make the mod better integrate into what ever situation they may need it for! Think of profiles as a mod config, but 100 times more dynamic and powerful. Bottom line is if there is something you don't like about, a reward is just a touch to hard or to easy, or there's a reward you wish you could tweak to make it fit your pack better, check to see if you can change that aspect of the reward via a profile property!

What Can Profiles Do?

Profiles serve a dual purpose, to better control what rewards a play can get at a certain point, place, or instance in their game play and also to better control what the rewards do to fit that specific moment. Again, think of Profiles as configs that can be dynamically applied or removed when needed, even automatically by the mod when certain events occur! Ok, so let's talk about what you can specifically do with profiles.

Enable and Disable Rewards

When a profile is applied, you can make it enable or disable any reward in the mod. Do you not like a particular reward and never want to see it again? Well just plop it into the disable rewards section of the profile and as long as the profile is active, you never will! when profiles are removed or unapplied, they will reverse the actions they preformed on the rewards, i.e. Rewards that got enabled will be disabled and rewards that got disabled will be renabled.

Include Subprofiles

Pretty simple, if you have a profile that you want to build on top of another one, you can include that other profile as a sub profile of you new one and whenever this profile gets enabled, it will also apply the everything for all of its subprofiles. Do note though, it will not physically enable the subprofile, but rather, just "extends" each of its subprofiles.

Automatically Enable Or Disable The Profile With A Trigger

Now we get into the bread and butter of the true power of the Profiles. You can have a profile get automatically enabled or disabled due to ingame events. Currently the mod supports these triggers:

  • Game Difficulty Change (i.e Peaceful -> Normal, Hard-> Peaceful, etc...)
  • Change Dimension (i.e After Going though a Nether portal)
  • Change in the Game Stage via the Game Stages Mod By default, Chance Cubes uses Triggers to automatically disable rewards that wouldn't otherwise work in the nether or in peaceful mode, but the possibilities are endless and if there's a certain trigger that you would like to see, that hasn't already been made, then feel free to make a feature request for it in the issues section!

Reward Properties

Sometimes also referred to as Profile Properties, Reward Properties are what allow you to change specific things about each of the reward to either make it easier or harder, or make it more balanced for a pack so that you don't have to disable the reward outright. These properties are mainly only small things that while they may change aspects of the reward, they should never change it so much that it feels like an entirely different or new reward.

Now that we know the basics about Profiles, lets get into making one!

Base Profile Structure

Before we can get into enabling rewards or changing their properties, we need to setup a profile with the essential elements so that the mod can successfully read and load the profile. First navigate to the Chance Cubes config folder and then into the Profiles folder. Now create a new file. Feel free to name it what ever you would like, just make sure its a .json filetype and extension. Now lets get to editing the file, so open it in whatever text editor you like. Profiles are in the JSON file format, so if you are experience with that, you should feel right at home. If not, not worries, its a fairly easy format to learn, in fact I would look up just a general tutorial on it as I can be learned and understood in under an hour. Also JSON Lint is a great website to use to check you text to make sure it doesn't have any syntax errors if you are unfamiliar with JSON. Now lets add the base text:

"<PROFILE_ID>": {
    "name": "<PROFILE_NAME>",
    "description": "<PROFILE_DESCRIPTION>"
}

Replace <PROFILE_ID>, <PROFILE_NAME>, and <PROFILE_DESCRIPTION> with you own information. <PROFILE_ID> is simply the id that this profile will be referenced by. I would recommend making it all lower case and using _ instead of spaces. <PROFILE_NAME> is the displayed name of your Profile. Feel free to make this whatever you'd like to. Lastly <PROFILE_DESCRIPTION> is just to give a handy short description of what the profile does. Again feel free to make this whatever you'd like. That's it! You now have a basic profile that should load up and be recognized by Chance Cubes! Now lets get onto making actually do something!

⚠️ **GitHub.com Fallback** ⚠️