BEFORE YOU CONTINUE
A bit of shameless promotion, but if you do in fact enjoy this mod and would like to support me, please purchase my game Carnage Chase or join my Patreon, preferably on the lowest tier. Though I would prefer you get the game, if you could do both, I would highly appreciate it. You'd be helping me with rent and keeping the lights on
WHAT IS THIS PAGE FOR?
This intent of this page is to tack on information that can't be incuded in the main CurseForge/Modrinth page or the ingame guide bookWHERE CAN I DOWNLOAD THIS MOD?
On CurseForge or on Modrinth . Anywhere else is illegally hosted and might contain viruses, so download with caution. Or don't download at all.
DATA PACKS
This mod gets a lot of its operational data from datapacks. Before we start the tutorial, there are some things we need to cover.
[mod_id]:[item_name]
refers to the item you want to edit. When using the
/give
command, the first words before
:
refer to the
[mod_id]
while the parts after it refer to the
[item_name]
.
data/[mod_id]/survive_modifiers/...
. Keep that in mind when arranging your files as the mod won't read your file if you don't put it in the correct location
Now that we've covered that, here's what you can modify
-
Armor data
There are 2 things that can be modified here, one thing being more complicated than the other and that is weight and temperature. Here is a sample of the file. It's files are stored in
.../armors/[item_name].json
I'll start with the less complicated one. The second field, "weight_modifier": 4.37
gives you control of the percieved weight of the armor peice. The unit of measure is kg so if you naitively use pounds or anything else, convert your value to kilograms and input it hereFor the complicated part, we have
"temperature_modifiers": {}
. This gives you control of how that armor peice will interact with the players temperature. Here, you'll provide a list of conditions and the mod checks them and applies whatever is there in ascending order. In the above example, I provided 2 conditions"condition": "survive:on_fire"
and"condition": "survive:default"
. The first one applies it's temperature value when the player is on fire making the player a lot hotter while the second will always set the players temperature relatively hot. If I had used the second one first, the first one will never trigger as the second one is always active. As for what these conditions are,Condition Description Parameters The default condition. It will always apply it's temperature. Best used as the last condition "temperature": 1.1
. The temperature to be applied to the playerThis checks how deep you are in water or any fluids tagged minecraft:water
"temperature": 1.0
. The temperature to be applied to the player"depth": 2
. How deep in blocks underwater the player has to be in order to apply this condition"operation": "y_<"
. The operation to be performed on the depth. The operations are:y_=
is your y coord equal to depth?y_>=
is your y coord greater than or equal to depth?y_<=
is your y coord less than or equal to depth?y_>
is your y coord greater than to depth?y_<
is your y coord less than to depth?water_=
is your distance underwater equal to depth?water_>=
is your distance underwater greater than or equal to depth?water_<=
is your distance underwater less than or equal to depth?water_>
is your distance underwater greater than to depth?water_<
is your distance underwater less than to depth?This checks if you are on fire and how long you will be on fire for "temperature": 1.0
. The temperature to be applied to the player"fireTimer": 2
. The amount of ticks remaining before the fire goes out"operation": "y_<"
. The operation to be performed on the fireTimer. The operations are:=
is your remaining fire time equal to fireTimer?>=
is your remaining fire time greater than or equal to fireTimer?<=
is your remaining fire time less than or equal to fireTimer?>
is your remaining fire time greater than to fireTimer?<
is your remaining fire time less than to fireTimer?This checks the biome you are currently in "temperature": 1.1
. The temperature to be applied to the player"biome": "minecraft:plains"
. The biome the player has to be in for condition this to applyThis checks to see if you are not in the specified biome "temperature": 1.1
. The temperature to be applied to the player"biome": "minecraft:plains"
. The biome the player should not be in for condition this to apply -
Biome data
This manipulates how the current and nearby biomes interacts with the player. Here is a sample of the file. It's files are stored in .../biomes/[biome_name].json
There are 5 things that can be modified in your file 1)
"temperature"
This controls how hot or cold the biome should be to the player. Setting this to a negative value will make the biome cold while a positive value will make it hot. Adjust this to your liking 2)
"wetness_modifier"
This controls how cold you'll get when you're wet in that biome. In this mod, you get wet by staying in the rain or in water, the longer you do this, the stronger the temperature drop you recieve as a result and the longer it takes you to lose the wet status. This controls how strong the effect is on the player. "wetness_modifier": 0.5
halves the effect wetness has on how cold you get and"wetness_modifier": 2.0
doubles it. Setting this to a negative value makes you become hotter instead.3)
"sun_intensity"
This controls how hot the sun is in that biome, with it's effect at it's highest when the sun is at it's highest point. This also manipulates how cold nights get, with it's effect remaining static the entire night "sun_intensity": 0.5
halves the effect the sun has on how hot you get and"sun_intensity": 2.0
doubles it. Setting this to a negative value makes you become colder during the day and hotter at night.4)
"altitude_level_modifier"
This controls how hot or cold the biome the biome is at when you go above or below sea level (y = 64). There are values you can change here: "upper": 1.0
makes you colder as you go above 64. Setting it to"upper": 0.5
halves this effect and"upper": 2.0
doubles it. Negative values make you get hotter instead."lower": 1.0
makes you hotter as you go below 64. Setting it to"lower": 0.5
halves this effect and"lower": 2.0
doubles it. Negative values make you get colder instead5)
"season_modifier"
This only really works if you have a supported season mod installed alongside Survive. There are 18 possible season states and whichever one is applied at a given time will depend entirely on your season mod of choice. "survive:winter_begin": -0.6
makes the begining of every winter relatively cold. Setting this to a positive value will instead make your winters hot. Here is a list of every possible season you can modify"survive:winter_begin"
The begining of winter"survive:winter_midst"
The middle of winter"survive:winter_close"
The end of winter"survive:spring_begin"
The begining of spring"survive:spring_midst"
The middle of spring"survive:spring_close"
The end of spring"survive:summer_begin"
The begining of summer"survive:summer_midst"
The middle of summer"survive:summer_close"
The end of summer"survive:autumn_begin"
The begining of autumn"survive:autumn_midst"
The middle of autumn"survive:autumn_close"
The end of autumn"survive:dry_begin"
The begining of the dry season"survive:dry_midst"
The middle of the dry season"survive:dry_close"
The end of the dry season"survive:wet_begin"
The begining of the wet season"survive:wet_midst"
The middle of the wet season"survive:wet_close"
The end of the wet season -
Block data
This manipulates how the blocks around the player affect their temperature. Here is a sample of the file. It's files are stored in .../blocks/[block_name].json
There are 3 things that can be modified in your file 1)
"temperature_modifier"
This controls how hot or cold the block should be to the player. Setting this to a negative value will make the block cold while a positive value will make it hot. Adjust this to your liking 2)
"range"
This controls how close the player needs to be to the block for it to affect them. The range is measured in blocks 2)
"blockstate_property_overrides"
This will override "temperature_modifier"
if the blockstate meets the requirements you put in here. It's a bit complicated, but I'll guide you through how this works. First is the"name"
, you need this to match the property you're trying to use. Our example is targeting snow, so"layers"
is appropriate. Next is the"type"
of property and there are 3 valid types:"integer"
(numbers),"enum"
(text), and"boolean"
(true/false). Next are"min"
and"max"
, They're only used if you have your"type"
set to"integer"
. These are the minimum and maximum possible values of that state and if they don't match what the game sees as the maximum and minimum, this override will fail. I've used 1 as the minimum and 8 as the maximum as those are the values for snow. You can use a debug stick to check the values. Lastly, we have"values"
where you map every value of that state that you want to affect the player to a temperature. In our example, I've omited "1" as I would prefer it use the devault value for temperature. -
Consumable data
This manipulates how consumables, items that you eat/drink will affect the player. Here is a sample of the file. Where it's stored is completely dependent on what you're modifing. For the items themselves, they're stored in
.../consumables/items/[item_name].json
, but if what you want to target is a potion, you'll need to store it in.../consumables/potions/[potion_name].json
There are up to 11 things that can be modified in your file 1)
"energy"
This the amount of long term energy that'll be restored upon consumption if the stamina module is enabled 2)
"thirst_consumption"
This is a modifier used mainly by food items to deduct thirst from the player. The higher this is, the more thirst will be consumed and this cannot be lower than 0.01 3)
"thirst"
This adds or removes thirst directly from the player. It will be ignored if "thirst_consumption"
is present in your file4)
"hydration"
This directly sets the hydration level of the player. Hydration controls how quickly the player loses water as time passes. Higher values means the player retains water longer. It will be ignored if
"thirst_consumption"
is present in your file5)
"thirst_chance"
The odds that the player will get the thirst effect after consumption. The value should range between 0 and 1 where 0 means the player will never get the effect and 1 means the player always will
6)
"lifespan"
This is how long in ticks that the item will remain viable for consumption. After the aloted time, the food item will recieve the spoiled status. This does nothing if Food Spoiling is disabled 7)
"ticks_fresh"
Of the amount of time specified in "lifespan"
, how long should the item be marked as Fresh. This does nothing if Food Spoiling is disabled8)
"nutrition"
There are 3 things that can be changed in here "carbohydrate_ratio"
,"protein_ratio"
, and"fat_ratio"
the amount of a certain nutrient you get will be dependent on the other nutrients and the amount of food the item replenished. Carbohydrate in this example will be replesnished by half the food
as the addition of all the amount of carbs (3) divided by the nutrients (3+2+1=6) is half. The same logic is applied to the other nutrients
9)
"gives_chilled_effect"
If this food item gives the chilled effect 10)
"gives_heated_effect"
If this food item gives the heated effect 11)
"gives_energizing_effect"
If this food item gives the energizing effect -
Entity data
This manipulates how entities around the player affect their temperature. Here is a sample of the file. It's files are stored in .../entities/[entity_name].json
There are 2 things that can be modified in your file 1)
"temperature_modifier"
This controls how hot or cold the entity should be to the player. Setting this to a negative value will make the entity cold while a positive value will make it hot. 2)
"range"
This controls how close the player needs to be to the entity for it to affect them. The range is measured in blocks -
Fluid data
This manipulates how fluids, when drunk via right clicking, affect the player. Here is a sample of the file. It's files are stored in .../fluids/[fluid_name].json
If you're looking to alter how fluids affect the players temperature, go to block dataThere are up to 3 things that can be modified in your file 1)
"thirst"
This adds or removes thirst directly from the player. It will be ignored if "thirst_consumption"
is present in your file2)
"hydration"
This directly sets the hydration level of the player. Hydration controls how quickly the player loses water as time passes. Higher values means the player retains water longer. It will be ignored if "thirst_consumption"
is present in your file3)
"thirst_chance"
The odds that the player will get the thirst effect after consumption. The value should range between 0 and 1 where 0 means the player will never get the effect and 1 means the player always will