Epidemic icon

Epidemic -----

Bringing real survival to your server



Big Update to 1.5
Epidemic Update 1.5

First a warning - This is a big code change. If you are upgrading, please keep a copy of your Epidemic folder and jar in case you want to roll back. Also, due to the size of the update, despite the exhaustive testing I've done you may come across occasional issues that just don't come up in my test world, if you do, please report them and I'll get them fixed asap.

Changes!
Prefix in chat messages can now be changed via the lang.yml file

Data Storage
SQLite database is now deprecated. All data will be stored in yml files in a Data folder. If you're an existing user, your data should automatically convert when you start the server up. For new users, you will automatically start with yml files.

Secondary Infections
Secondary Infections and its cure of Penicillin in the main config file is being marked for deprecation. It will be replaced with secondary infection options per ailment. This change is not yet in effect, but will be coming in a future version!

Multiple Ailments
You can now get multiple ailments at the same time, so having a broken leg wouldn't prevent you from getting the plague etc. You can turn this on/off in the config file

New Symptoms
  • Clumsiness - You may randomly drop the item in your main hand when symptoms hit, also has a chance to make you leave whatever vehicle you're in (hope you can swim!)
  • Foot Rot - Any food/drink in your inventory becomes infected and rots away
  • Gibberish - Any chat you send in-game may randomly be garbled
  • Mute - Unable to talk in chat
  • Hallucinations - Can cause you to hear sounds around you randomly and can cause a brief burst of confusion
  • RemoveXP - Causes the players XP to drop each time symptoms occur
  • Rust - Causes any iron armor, sword or tools to become damaged each time symptoms occur
Temperature
You can now get too hot or cold, this varies by biome, time of day, armor you're wearing, any ailments which may cause fever or chills and if you're near or holding particular types of blocks. Temperature can be turned on/off in the config, and you can exclude certain worlds, for example, if you don't want to use temperature in the Nether, you can disable it there.

Players in Creative mode, in OP or have epidemic.invincible permission will not gain temperature symptoms.

This includes a new command /temp (requires epidemic.temp permission) and /temp info (required epidemic.temp.info permission)

This will show your current temperature on a scale. If you are hot or cold for too long, you may experience symptoms such as slowness, sweating, damage to player, changes to your thirst bar (if enabled).

Temperature is based on: Core temp (checks for armor, if you're on fire and if you're inside), ambient temperature based on biome, time of day and if you are near any blocks with extreme temperatures (ice, lava, fire etc.) and elevation (it gets cold too high up and underground, but hot close to bedrock), and from ailments that cause fever/chills.

Modifiers are listed below. These values may change in upcoming versions based on feedback from users.

Armor modifiers:
  • Leather/Chainmail/Turtle helmet add 0.5 temperature for each piece of armor
  • Iron/Gold armor adds 1 temperature for each piece of armor
  • Diamond armor removes 0.5 temperature for each piece of armor
  • [Netherite armor will add 0 when 1.16 is released]

Biome modifiers:

(Any biome not listed = 0)
  • Badlands (and variants) = +3 during day, +4 around noon, -1 at night
  • Beach = +1
  • Cold Ocean = -1 during day, -0.5 around noon, -2 at night
  • Deep Cold Ocean = -2.5 during day, -3 around noon, -3.5 at night
  • Deep Frozen Ocean = -2.5 during day, -3 around noon, -3.5 at night
  • Deep Lukewarm Ocean = -2.5 during day, -3 around noon, -3.5 at night
  • Deep Ocean = -2.5 during day, -3 around noon, -3.5 at night
  • Desert = +2 during day, +3 around noon, -1 at night
  • Desert Hills = +2
  • Desert Lakes = +2
  • Frozen Oceans = -2.5
  • Frozen Rivers = -2.5
  • Ice Spikes = -2.5 during day, -3 around noon, -3.5 at night
  • Jungle (and variants) = +1 during day, +1.5 around noon, +2.5 at night
  • Lukewarm Ocean = +1
  • Mountains (and variants) = -1
  • Nether = +4
  • River = -0.5
  • Snowy Beach = -3
  • Snowy Mountains = -3
  • Snowy Taiga = -3
  • Swamp = +1.5
  • Taiga (and variants) = -1
  • The End (and variants) = -4
  • The Void = -10
  • Warm Oceans = +1.5
  • Wooded Badlands = +1

Nearby Block Modifiers

Temperature checks will check all blocks with a 2 block radius, the modifier is based on the distance, so can return one of two different values.
These values are cumulative, so if you're around 1 block of ice, your temperature will drop a little, if you're surrounded by ice, it'll drop a lot. These max out at +10/-10
  • Fire = 1 block +2, 2 blocks +0.5
  • Campfire = 1 block +5, 2 blocks +0.5
  • Lit Furnace (and variants) = 1 block +2, 2 blocks +1
  • Blue, Packed, Frosted Ice = 1 block -1.5, 2 blocks -0.5
  • Ice = 1 block -0.75, 2 blocks -0.25
  • Snow = 1 block -0.1, 2 blocks -0.05

Item in Hand Modifiers
  • Blaze Powder = +0.5
  • Blaze Rod = +0.5
  • Blue Ice = -0.5
  • Fire Charge = +0.5
  • Frosted Ice = -0.5
  • Ice = -0.5
  • Lantern = +0.5
  • Lava Bucket = +0.5
  • Magma Cream = +0.5
  • Packed Ice = -0.5
  • Snow Block = -0.5
  • Snowball = -0.5
  • Torch = +0.5
Error Tracking
Serious errors will now display the full stack trace if the player has debug mode enabled

Config/Language File Changes

New users will have a fully formed config and language files created on startup, if you are an existing user, the following will need to be added (NOT replaced completely, just add to). Alternately, if you haven't changed anything in either file, you could delete both files and they will regenerate on startup.

Code (YAML):

# ==================================================================================
# Temperature <start>
# ==================================================================================
# Flag to indicate if temperature should be enabled
enable_temp
: true
# Number of seconds to check for temperature (time per cycle for symptoms)
temp_seconds
: 30
# List of worlds to not apply temperature to
prevent_temp_worlds
:
 - world_nether
  - world_the_end
# Number of seconds to have temperature relief applied for
temp_relief_time
: 60
# Flag to indicate if players should be warned about temperature extremes
temp_warn_players
: true

# Temperature Relief
# You can add as many relief items in as you'd like
# Each one can provide relief for hot or cold (or both)
# These relief items are craftable and consumable.
# If a potion is used, an empty glass bottle will be returned
temp_relief
:
  # Cool water, applies heat relief
  cool_water
: # Item key, MUST be unique
    # Name as displayed in-game (Color codes can be used)
    display_name
: "Ice cold water"
    # Item lore (can be multiple lines & color codes can be used)
    lore
:
     - "A cool drink to cool you down"
    # Relief consumed text is the text shown to the player when they
    # consume the relief item.  If "", then no message will be shown
    # Color codes can be used
    relief_consumed_text
: "That drink hit the spot, you've really cooled down"
    # Base item is the item it is displayed as in-game
    base_item
: POTION
    # Return item is the item that should be returned to the player
    # If no item, put AIR
    return_item
: GLASS_BOTTLE
    # Color is the potion color (only if base_item is POTION)
    potion_color
: AQUA
    # If food is true, a food sound is played when consuming the item
    food
: false
    # If drink is true, a drink sound is played when consuming the item
    # (if both food and drink are true, a burp will be played)
    drink
: true
    # Recipe is broken out into each crafting table slot
    # Fill all spaces, if no item, use AIR
    # All materials listed MUST exist in-game
    recipe
:
      top
:
        left
: AIR
        center
: SNOWBALL
        right
: AIR
      middle
:
        left
: AIR
        center
: GLASS_BOTTLE
        right
: AIR
      bottom
:
        left
: AIR
        center
: AIR
        right
: AIR
    # Indicates if it provides relief to being cold
    cold_relief
: false
    # Indicates if it provides relief to being hot
    hot_relief
: true
  # Sticky egg, provides heat and cold relief
  sticky_egg
: # Item key, MUST be unique
    # Name as displayed in-game (Color codes can be used)
    display_name
: "Sticky Egg"
    # Item lore (can be multiple lines & color codes can be used)
    lore
:
     - "A sticky egg concoction"
    # Relief consumed text is the text shown to the player when they
    # consume the relief item.  If "", then no message will be shown
    # Color codes can be used
    relief_consumed_text
: "It's slimy, but it helps"
    # Base item is the item it is displayed as in-game
    base_item
: GREEN_DYE
    # Return item is the item that should be returned to the player
    # If no item, put AIR
    return_item
: AIR
    # If food is true, a food sound is played when consuming the item
    food
: true
    # If drink is true, a drink sound is played when consuming the item
    # (if both food and drink are true, a burp will be played)
    drink
: true
    # Recipe is broken out into each crafting table slot
    # Fill all spaces, if no item, use AIR
    # All materials listed MUST exist in-game
    recipe
:
      top
:
        left
: AIR
        center
: SLIME_BALL
        right
: AIR
      middle
:
        left
: AIR
        center
: EGG
        right
: AIR
      bottom
:
        left
: AIR
        center
: AIR
        right
: AIR
    # Indicates if it provides relief to being cold
    cold_relief
: true
    # Indicates if it provides relief to being hot
    hot_relief
: true
  # Hot Chocolate, provides cold relief
  hot_cocoa
: # Item key, MUST be unique
    # Name as displayed in-game (Color codes can be used)
    display_name
: "Hot Cocoa"
    # Item lore (can be multiple lines & color codes can be used)
    lore
:
     - "A steaming drink of hot cocoa"
    # Relief consumed text is the text shown to the player when they
    # consume the relief item.  If "", then no message will be shown
    # Color codes can be used
    relief_consumed_text
: "Warm and sweet, really helps with the cold"
    # Base item is the item it is displayed as in-game
    base_item
: POTION
    # Return item is the item that should be returned to the player
    # If no item, put AIR
    return_item
: GLASS_BOTTLE
    # If food is true, a food sound is played when consuming the item
    food
: false
    # If drink is true, a drink sound is played when consuming the item
    # (if both food and drink are true, a burp will be played)
    drink
: true
    # Recipe is broken out into each crafting table slot
    # Fill all spaces, if no item, use AIR
    # All materials listed MUST exist in-game
    recipe
:
      top
:
        left
: AIR
        center
: SNOWBALL
        right
: AIR
      middle
:
        left
: COCOA_BEANS
        center
: GLASS_BOTTLE
        right
: SUGAR
      bottom
:
        left
: AIR
        center
: BLAZE_POWDER
        right
: AIR
    # Indicates if it provides relief to being cold
    cold_relief
: true
    # Indicates if it provides relief to being hot
    hot_relief
: false
 

Code (YAML):

# Prefix
prefix
: "&2[&fEpidemic&2]&r "

# Temperature
temp_getting_hot
: "&cYou are starting to get too hot"
temp_getting_cold
: "&9You are starting to get too cold"
temp_hot_symptom
: "&4You are too hot!"
temp_cold_symptom
: "&1You are too cold!"
normal
: "Normal"
hot
: "&cHot"
cold
: "&9Cold"
thermometer_hot
: "H"
thermometer_cold
: "C"
temp_info
: "Overall: <%level%>,Temperature: <%temp%>, Core: <%core%>, Ambient: <%ambient%>, Ailment(s): <%ailments%>"
temp_disabled
: "&cTemperature is disabled, unable to use command"
temp_no_perm
: "&cSorry, you do not have permission to do use that command"
temp_usage
: "&cSorry, that usage is not supported.  Use /temp or /temp info"
temp_no_console
: "&cSorry, this command cannot be run by console"

# Misc
food_rot
: "Your food has been tainted and rotted away"
mute_player
: "&cYou can't talk right now"
 

Finally, there are a LOT of changes under the hood to improve performance and to plan ahead for future changes.

Coming soon -
  • 1.16 support (this will be job #1 as soon as the Spigot jar is released)
  • Ailment specific secondary infections
  • Stats - Recording number of times infected, how often you've infected others etc.
  • Vaccinations - The syringe is already in-game but has no real use yet (you can draw blood, but can't use it). This will be really fleshed out in an upcoming version where you'll be able to use certain animals to generate vaccinations
  • Nearby mob afflictions - Spend a lot of time around cows, you may get mad cow disease
  • Disease tipped arrows and throwable potions - When just coughing on a player isn't enough
----------, Apr 10, 2020
Resource Information
Author:
----------
Total Downloads: 197
First Release: Feb 16, 2019
Last Update: Oct 24, 2023
Category: ---------------
All-Time Rating:
13 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings