If you have any issues please make sure to always check the most recent version of the plugin. Thanks!
Please disable Birning Furnaces feature in config if you're experiencing CPU issues. I'm working on this issue.
About Caliditas
Caliditas (Latin. temperature) is a Minecraft Spigot server plugin that offers complex, immersive and easily configurable temperature system. Imagine building a house on top of a mountain with a big fireplace inside or spending nights inside a cave by fire to keep yourself from cold winter night. The Nether is now a very hot place, you'll have to get yourself a diamond armour and water bottles to protect you from heat. Deserts can give you a stroke if you don't wear any hat or burn your skin if you stay in your iron armour for too long. For better experience use large biomes generator!
Caliditas allows you to create your own temperature factors and effects thanks to an extensive flag system. It also provides built in features to heat sources like fire or furnaces.
- Players can throw sticks or other materials into fire to keep it burning for a long time (>= 1.15.2 only).
- Furnaces may burn forever when fuel materials are provided. This feature is active only if no smelting material is inside the furnace to avoid exploiting.
These features can be disabled if needed. Caliditas provides a simple API for plugin makers.
Caliditas 0.1.x is not compatible with the new Caliditas 0.2.x versions. Please remove old config.
How does the temperature work? (Introduction)
How do I create my own factors?
How to add temperature effects?
List of flags you can use for factors. (It's quite long)
Commands
/cali enable <true/false> - enable/disable temperature on this server.
/cali unit <unit> - set your default temperature unit to one of currently supported: [celsius, fahrenheit].
/cali status - shows self temperature factors and status info.
/cali status <player> - shows temperature factors and status info of given player.
/cali immune <true/false> - make setf immune to temperature.
/cali immune <player> <true/false> - make player immune to temperature.
/cali bar <true/false> - enable/disable temperature bar.
/cali bar <player> <true/false> - enable/disable temperature bar of given player.
/cali barmode <status/temperature> - change display mode of own temperature bar.
/cali flags - shows player flags. (debug)
/cali reload - reloads Caliditas configuration files.
Permissions
MISC
caliditas.temperature - Enables temperature system for given player.
PLAYERS
caliditas.user - Provides all the commands below and enables temperature for this player.
caliditas.bar - Enable/disable your temperature bar display.
caliditas.barmode - Allows for changing display of temperature bar.
caliditas.info - Print info about available commands.
caliditas.status - Print your current temperature status.
caliditas.unit - Change your current temperature unit.
ADMINISTRATION
caliditas.admin - Provides all the user commands plus the ones below and enables temperature.
caliditas.bar.other - Enable/disable a temperature bar display for a given player.
caliditas.immune - Make self immune to temperature change and temperature effects.
caliditas.immune.other - Make a player immune to temperature change and temperature effects.
caliditas.flagsDebug - Print your current flags.
caliditas.reload - Reload Caliditas json config files.
caliditas.status.other - Print a temperature status of other player.
caliditas.switcher - Enable/disable Caliditas plugin.
Development
I have created this plugin for myself because I really like this type of mechanics in other games then I decided to share it with you, the Community
The plugin is still in beta stage so feel free to report everything you dislike or things you would like to see implemented. I have also provided a simple API.
THANK YOU FOR YOUR SUPPORT!
Please disable Birning Furnaces feature in config if you're experiencing CPU issues. I'm working on this issue.
About Caliditas
Caliditas (Latin. temperature) is a Minecraft Spigot server plugin that offers complex, immersive and easily configurable temperature system. Imagine building a house on top of a mountain with a big fireplace inside or spending nights inside a cave by fire to keep yourself from cold winter night. The Nether is now a very hot place, you'll have to get yourself a diamond armour and water bottles to protect you from heat. Deserts can give you a stroke if you don't wear any hat or burn your skin if you stay in your iron armour for too long. For better experience use large biomes generator!
Caliditas allows you to create your own temperature factors and effects thanks to an extensive flag system. It also provides built in features to heat sources like fire or furnaces.
- Players can throw sticks or other materials into fire to keep it burning for a long time (>= 1.15.2 only).
- Furnaces may burn forever when fuel materials are provided. This feature is active only if no smelting material is inside the furnace to avoid exploiting.
These features can be disabled if needed. Caliditas provides a simple API for plugin makers.
Caliditas 0.1.x is not compatible with the new Caliditas 0.2.x versions. Please remove old config.
How does the temperature work? (Introduction)
Spoiler
How does the temperature mechanic work?
Temperature mechanic is based on player's body temperature. Which means that the base (or normal) temperature of player's body is considered to be 36.6*C. Body temperature can be assigned to 7 different states. These are 3 steps of "below normal" temperature and 3 steps of "above normal" temperature. They're called: freezing, cold, chill, normal, warm, hot, melting. Each state gives player configurable effects (e.g. blindness, poison).
How is the temperature calculated?
It's simple. The temperate of your body is going to drop/increase based on biome you're in. Each biome has a target body temperature parameter which says to what temperature your body should change over time. It is possible to change biomes with WorldEdit. Of course this process can be altered by various factors. Each factor is being applied to the calculation so you can control the process.
How to manipulate body temperature?
Factors are the way to go. Each factor have an impact on your temperature change. Some factors may protect you from cold, e.g. standing near fireplace or wearing clothes. Some can protect you from overheating like drinking a water bottle or swimming.
How to determine what factors are going to be applied for me?
Factors are configurable! You can create as many as you like. But how to make them apply in specific scenarios? Well, each factor has to fulfill specific conditions. Conditions can also be configured for each factor. Conditions are simple boolean expressions which - when given true - make factor apply for you. The boolean expression uses so called "flags". For example if I wanted to make my own factor apply only when it rains and I have no hat on my head, the condition would be:
WEARING_NO_HELMET & RAINING_OR_SNOWING_ON_PLAYER
Of course this is a very simple condition. You can use negations, brackets and logic operators - and, or - as well.
What are flags?
Flags are "markings" which are applied to player under certain circumstances. When it rains players get the RAINING_OR_SNOWING_ON_PLAYER flag, when player consumed a sweet cookie
the flag CONSUMED_COOKIE appears. A list of flags is available but cannot be modified without altering the source code. Each biome can provide its own unique flags.
Temperature mechanic is based on player's body temperature. Which means that the base (or normal) temperature of player's body is considered to be 36.6*C. Body temperature can be assigned to 7 different states. These are 3 steps of "below normal" temperature and 3 steps of "above normal" temperature. They're called: freezing, cold, chill, normal, warm, hot, melting. Each state gives player configurable effects (e.g. blindness, poison).
How is the temperature calculated?
It's simple. The temperate of your body is going to drop/increase based on biome you're in. Each biome has a target body temperature parameter which says to what temperature your body should change over time. It is possible to change biomes with WorldEdit. Of course this process can be altered by various factors. Each factor is being applied to the calculation so you can control the process.
How to manipulate body temperature?
Factors are the way to go. Each factor have an impact on your temperature change. Some factors may protect you from cold, e.g. standing near fireplace or wearing clothes. Some can protect you from overheating like drinking a water bottle or swimming.
How to determine what factors are going to be applied for me?
Factors are configurable! You can create as many as you like. But how to make them apply in specific scenarios? Well, each factor has to fulfill specific conditions. Conditions can also be configured for each factor. Conditions are simple boolean expressions which - when given true - make factor apply for you. The boolean expression uses so called "flags". For example if I wanted to make my own factor apply only when it rains and I have no hat on my head, the condition would be:
Code (Text):
WEARING_NO_HELMET & RAINING_OR_SNOWING_ON_PLAYER
What are flags?
Flags are "markings" which are applied to player under certain circumstances. When it rains players get the RAINING_OR_SNOWING_ON_PLAYER flag, when player consumed a sweet cookie
the flag CONSUMED_COOKIE appears. A list of flags is available but cannot be modified without altering the source code. Each biome can provide its own unique flags.
How do I create my own factors?
Spoiler
Create a new file with ".factor" extension inside you world's factors folder. A template of factor's file is available below. You can also copy an existing one.
{
"factorName": "BOOTS_PROTECTING_FROM_COLD",
"tempChange": 0.35,
"tempUnit": "CELSIUS",
"condition":
"""
!(LOWER_BODY_IN_WATER)
& (COLD_BIOME & WEARING_LEATHER_BOOTS)
"""
}
factorName - a locale key defined in locale_xx_xx.json, used to get a display name of the factor.
tempChange - number applied to player's target body temperature when given factor is activated.
tempUnit - unit of the tempChange value. Can be either CELSIUS or FAHRENHEIT. It does not impact the way it is displayed in game.
condition - this value can be described as a multiline string. Condition represents a boolean expression which - when true - allows factor to be applied to specific player.
How to create a condition?
This is a simplified boolean expression. You can use these operators: &, |, !, (, ). These are respectively: and, or, negation. Examples of conditions and their explanations:
LOWER_BODY_IN_WATER & DRY_BIOME
Simple, applies only when both flags are present (true).
!(LOWER_BODY_IN_WATER) & COLD_BIOME & WEARING_IRON_BOOTS
Applies only when player's feet are not in water and the biome is cold and player has iron boots.
!(LOWER_BODY_IN_WATER | UPPER_BODY_IN_WATER)
& SNOWY_BIOME & WEARING_DIAMOND_LEGGINGS
Applies only when player's feet or head are not in water and the biome is snowy and player is wearing diamond leggings.
Code (Text):
{
"factorName": "BOOTS_PROTECTING_FROM_COLD",
"tempChange": 0.35,
"tempUnit": "CELSIUS",
"condition":
"""
!(LOWER_BODY_IN_WATER)
& (COLD_BIOME & WEARING_LEATHER_BOOTS)
"""
}
tempChange - number applied to player's target body temperature when given factor is activated.
tempUnit - unit of the tempChange value. Can be either CELSIUS or FAHRENHEIT. It does not impact the way it is displayed in game.
condition - this value can be described as a multiline string. Condition represents a boolean expression which - when true - allows factor to be applied to specific player.
How to create a condition?
This is a simplified boolean expression. You can use these operators: &, |, !, (, ). These are respectively: and, or, negation. Examples of conditions and their explanations:
Code (Text):
LOWER_BODY_IN_WATER & DRY_BIOME
Code (Text):
!(LOWER_BODY_IN_WATER) & COLD_BIOME & WEARING_IRON_BOOTS
Applies only when player's feet are not in water and the biome is cold and player has iron boots.
Code (Text):
!(LOWER_BODY_IN_WATER | UPPER_BODY_IN_WATER)
& SNOWY_BIOME & WEARING_DIAMOND_LEGGINGS
Applies only when player's feet or head are not in water and the biome is snowy and player is wearing diamond leggings.
How to add temperature effects?
Spoiler
Temperature effects are applied based on player's state as described in introduction. You can configure them inside the temp_effects.json file inside your world's folder. Below is an example effect.
{
"effectType": "CONFUSION",
"tempState": "HOT",
"durationSeconds": 5,
"effectAmplifier": 1
}
effectType - Bukkit's poison effect type name.
tempState - State in which the effect is being applied.
durationSeconds - Duration of the effect in seconds.
effectAmplifier - Defines a strength of the effect according to Bukkit's documentation.
Code (Text):
{
"effectType": "CONFUSION",
"tempState": "HOT",
"durationSeconds": 5,
"effectAmplifier": 1
}
tempState - State in which the effect is being applied.
durationSeconds - Duration of the effect in seconds.
effectAmplifier - Defines a strength of the effect according to Bukkit's documentation.
List of flags you can use for factors. (It's quite long)
Spoiler
Each flag represents a situation of a player in given moment such
as wearing no helmet, swimming or hiding under a roof. Flags are
being given to players every tick of the server. Some flags may
last several seconds even after when the reason they were created
disappeared. This is defined inside the flags_duration.json file.
# Player has no helmet
WEARING_NO_HELMET
# Player has no chest armor
WEARING_NO_CHESTPLATE
# Player has no leggings
WEARING_NO_LEGGINGS
# Player has no boots
WEARING_NO_BOOTS
# Player is wearing clothes/armor
Basically the syntax is WEARING_{name of item}. Below are some
of the possible flags. If your server has custom clothing the
flags will also work according to above's pattern.
WEARING_LEATHER_HELMET
WEARING_LEATHER_CHESTPLATE
WEARING_LEATHER_LEGGINGS
WEARING_LEATHER_BOOTS
WEARING_DIAMOND_HELMET
WEARING_DIAMOND_CHESTPLATE
WEARING_DIAMOND_LEGGINGS
WEARING_DIAMOND_BOOTS
WEARING_GOLDEN_HELMET
WEARING_GOLDEN_CHESTPLATE
WEARING_GOLDEN_LEGGINGS
WEARING_GOLDEN_BOOTS
WEARING_IRON_HELMET
WEARING_IRON_CHESTPLATE
WEARING_IRON_LEGGINGS
WEARING_IRON_BOOTS
WEARING_CHAINMAIL_HELMET
WEARING_CHAINMAIL_CHESTPLATE
WEARING_CHAINMAIL_LEGGINGS
WEARING_CHAINMAIL_BOOTS
# Player is in The Void
THE_VOID
# Player is in The End
THE_END
# Player is in Nether
NETHER
# Biome specific flags
These can be configured manually inside the biomes.json
file. Each biome can give their own flags. Below are the
default flags used in Caliditas:
OCEAN
Player stays in a cold biome (a cold ocean is a good example).
COLD_BIOME
Player stays in a coldest biome in which it can also snow.
SNOWY_BIOME
Player stays in a warm biome (an example would be a jungle).
WARM_BIOME
Player stays in a moderate biome.
MODERATE_BIOME
Indicates that player stays in a desert-like biome in which
it does not rain.
DRY_BIOME
Indicates that there is at least on heat source that has
some impact on a player.
INFLUENCED_BY_ANY_HEAT_SOURCE
Indicates that player is touching lava block.
STANDING_IN_LAVA
Indicates that player is standing near lava block(s).
STANDING_NEAR_LAVA
Indicates that player is standing near a torch.
HEAT_FROM_TORCH
# Heat source flags
Flags which are given by blocks defined inside the
heat_sources.json file. Torches and lava blocks are
hardcoded to give their own flags.
Indicates an area where heat source has strong impact
on a player.
STANDING_ON_HEAT_SOURCE
Indicates an area where heat source has moderate impact
on a player.
STANDING_NEAR_HEAT_SOURCE
Indicates an area where heat source has the least impact
on a player but it still persists.
STANDING_AROUND_HEAT_SOURCE
# Daytime flags
DAY
NIGHT
MIDNIGHT
NOON
# Player specific flags
RAINING_OR_SNOWING_ON_PLAYER
Player's legs block is water.
LOWER_BODY_IN_WATER
Player's eye block is water.
UPPER_BODY_IN_WATER
Player is in water but does not touch ground.
FLOATING_IN_WATER
SPRINTING
SWIMMING
SNEAKING
Player is walking (on ground).
WALKING
Player is sleeping.
SLEEPING
Player is flying (with elytra).
FLYING
Player destroyed a solid block.
MINING
Player placed a block.
PLACING_BLOCKS
# Surroundings' flags
Player has block(s) above head.
UNDER_ROOF
Player stays in open space.
IN_OPEN_SPACE
Player stays in closed space.
IN_CLOSED_SPACE
Player stays at high altitude.
HIGH_ALTITUDE,
Player stays at low altitude.
LOW_ALTITUDE
# Weather specific flags
STORM,
THUNDERING
# Consumables and potions
For updated potion names please follow Bukkit's
documentation. If you're unsure you can just drink a potion
and type /cali flags. Below is an example pattern.
POTION_{potion name}
Flags created after consuming an item. For updated
consumable names please follow Bukkit's documentation.
Below is an example pattern.
CONSUMED_{item type}
or in case of potions:
CONSUMED_POTION_{item meta type}
Example of consumable flags.
CONSUMED_POTION_WATER
CONSUMED_COOKIE
This flag is created always no matter which type of food/drink you consumed.
CONSUMED_FOOD_OR_DRINK
as wearing no helmet, swimming or hiding under a roof. Flags are
being given to players every tick of the server. Some flags may
last several seconds even after when the reason they were created
disappeared. This is defined inside the flags_duration.json file.
# Player has no helmet
WEARING_NO_HELMET
# Player has no chest armor
WEARING_NO_CHESTPLATE
# Player has no leggings
WEARING_NO_LEGGINGS
# Player has no boots
WEARING_NO_BOOTS
# Player is wearing clothes/armor
Basically the syntax is WEARING_{name of item}. Below are some
of the possible flags. If your server has custom clothing the
flags will also work according to above's pattern.
WEARING_LEATHER_HELMET
WEARING_LEATHER_CHESTPLATE
WEARING_LEATHER_LEGGINGS
WEARING_LEATHER_BOOTS
WEARING_DIAMOND_HELMET
WEARING_DIAMOND_CHESTPLATE
WEARING_DIAMOND_LEGGINGS
WEARING_DIAMOND_BOOTS
WEARING_GOLDEN_HELMET
WEARING_GOLDEN_CHESTPLATE
WEARING_GOLDEN_LEGGINGS
WEARING_GOLDEN_BOOTS
WEARING_IRON_HELMET
WEARING_IRON_CHESTPLATE
WEARING_IRON_LEGGINGS
WEARING_IRON_BOOTS
WEARING_CHAINMAIL_HELMET
WEARING_CHAINMAIL_CHESTPLATE
WEARING_CHAINMAIL_LEGGINGS
WEARING_CHAINMAIL_BOOTS
# Player is in The Void
THE_VOID
# Player is in The End
THE_END
# Player is in Nether
NETHER
# Biome specific flags
These can be configured manually inside the biomes.json
file. Each biome can give their own flags. Below are the
default flags used in Caliditas:
OCEAN
Player stays in a cold biome (a cold ocean is a good example).
COLD_BIOME
Player stays in a coldest biome in which it can also snow.
SNOWY_BIOME
Player stays in a warm biome (an example would be a jungle).
WARM_BIOME
Player stays in a moderate biome.
MODERATE_BIOME
Indicates that player stays in a desert-like biome in which
it does not rain.
DRY_BIOME
Indicates that there is at least on heat source that has
some impact on a player.
INFLUENCED_BY_ANY_HEAT_SOURCE
Indicates that player is touching lava block.
STANDING_IN_LAVA
Indicates that player is standing near lava block(s).
STANDING_NEAR_LAVA
Indicates that player is standing near a torch.
HEAT_FROM_TORCH
# Heat source flags
Flags which are given by blocks defined inside the
heat_sources.json file. Torches and lava blocks are
hardcoded to give their own flags.
Indicates an area where heat source has strong impact
on a player.
STANDING_ON_HEAT_SOURCE
Indicates an area where heat source has moderate impact
on a player.
STANDING_NEAR_HEAT_SOURCE
Indicates an area where heat source has the least impact
on a player but it still persists.
STANDING_AROUND_HEAT_SOURCE
# Daytime flags
DAY
NIGHT
MIDNIGHT
NOON
# Player specific flags
RAINING_OR_SNOWING_ON_PLAYER
Player's legs block is water.
LOWER_BODY_IN_WATER
Player's eye block is water.
UPPER_BODY_IN_WATER
Player is in water but does not touch ground.
FLOATING_IN_WATER
SPRINTING
SWIMMING
SNEAKING
Player is walking (on ground).
WALKING
Player is sleeping.
SLEEPING
Player is flying (with elytra).
FLYING
Player destroyed a solid block.
MINING
Player placed a block.
PLACING_BLOCKS
# Surroundings' flags
Player has block(s) above head.
UNDER_ROOF
Player stays in open space.
IN_OPEN_SPACE
Player stays in closed space.
IN_CLOSED_SPACE
Player stays at high altitude.
HIGH_ALTITUDE,
Player stays at low altitude.
LOW_ALTITUDE
# Weather specific flags
STORM,
THUNDERING
# Consumables and potions
For updated potion names please follow Bukkit's
documentation. If you're unsure you can just drink a potion
and type /cali flags. Below is an example pattern.
POTION_{potion name}
Flags created after consuming an item. For updated
consumable names please follow Bukkit's documentation.
Below is an example pattern.
CONSUMED_{item type}
or in case of potions:
CONSUMED_POTION_{item meta type}
Example of consumable flags.
CONSUMED_POTION_WATER
CONSUMED_COOKIE
This flag is created always no matter which type of food/drink you consumed.
CONSUMED_FOOD_OR_DRINK
Commands
/cali enable <true/false> - enable/disable temperature on this server.
/cali unit <unit> - set your default temperature unit to one of currently supported: [celsius, fahrenheit].
/cali status - shows self temperature factors and status info.
/cali status <player> - shows temperature factors and status info of given player.
/cali immune <true/false> - make setf immune to temperature.
/cali immune <player> <true/false> - make player immune to temperature.
/cali bar <true/false> - enable/disable temperature bar.
/cali bar <player> <true/false> - enable/disable temperature bar of given player.
/cali barmode <status/temperature> - change display mode of own temperature bar.
/cali flags - shows player flags. (debug)
/cali reload - reloads Caliditas configuration files.
Permissions
MISC
caliditas.temperature - Enables temperature system for given player.
PLAYERS
caliditas.user - Provides all the commands below and enables temperature for this player.
caliditas.bar - Enable/disable your temperature bar display.
caliditas.barmode - Allows for changing display of temperature bar.
caliditas.info - Print info about available commands.
caliditas.status - Print your current temperature status.
caliditas.unit - Change your current temperature unit.
ADMINISTRATION
caliditas.admin - Provides all the user commands plus the ones below and enables temperature.
caliditas.bar.other - Enable/disable a temperature bar display for a given player.
caliditas.immune - Make self immune to temperature change and temperature effects.
caliditas.immune.other - Make a player immune to temperature change and temperature effects.
caliditas.flagsDebug - Print your current flags.
caliditas.reload - Reload Caliditas json config files.
caliditas.status.other - Print a temperature status of other player.
caliditas.switcher - Enable/disable Caliditas plugin.
Development
I have created this plugin for myself because I really like this type of mechanics in other games then I decided to share it with you, the Community
The plugin is still in beta stage so feel free to report everything you dislike or things you would like to see implemented. I have also provided a simple API.
THANK YOU FOR YOUR SUPPORT!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.12, 1.15
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Caliditas - a temperature mechanics for Minecraft [1.15.2 - 1.16.1] is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.15. Downloaded 5,042 times (via Spigot). Download it and open it directly in the game.