What is NoMoreCooked ?
⭐ It's a plugin that adds a new mechanic to food ⭐
In a nutshell, it adds an expiration system to food, a refrigerator to extend the remaining life of food ,a simple system for preserving food that's still good, and makes players who eat expired food sick.
By adding this plugin to your server, you improve your server in an original way, increase immersion, add challenge and make your players more aware of food waste.
Features
- (New) You can now configure 6 fridge tiers, each fridge has its own settings (Inventory size, name, lore, expiration multiplier, vanilla or custom block, custom craft)
- (New) Multiple fridges support any vanilla block or custom
- Snow particle arround the fridge (Can be disabled)
- Custom fridge GUI (Download Texture Pack)
- Extend the shelf life of food when stored in the fridge
- Configurable expiry time multiplier for fridge
- Only food can be stored in the fridge
- Add expiration dates to all foods, including fresh foods, cooked foods, craftable foods and golden foods.
- Customize the expiration time.
- Different expiry times can be set according to cooking method (Furnace, Campfire, Smoker, ...)
- It is now possible to choose an expiry time for each food individually. If the food is a cooked food, a multiplier according to the cooking method can also be set.
- Become ill if you eat spoiled foods.
- Customize the type and intensity of negative effects applied to the player.
- Custom stages to define bonus, chance of negative effects and custom lore according to the food's validity stage
- Convert cooked foods back into raw foods in a crafting table.
- Customize the crafting of raw foods using ice or snow blocks (or both).
- Spoiled meats can be used in a composter. Chance of success can be set.
- Configurable automatic checker for real-time updating of food and text status in item lore.
- Choose to display either the expiration date, the remaining time, or both, in the item lore.
- ItemsAdder support, you just need to enable the option in config.yml
- Blacklist for items with custom model data that should not be affected by the expiration system
Permissions
nmc.command.check : Acces to check command
nmc.command.set : Acces to set command
nmc.command.info : Acces to info command
nmc.command.help : Acces to help command
nmc.command.give : Acces to give command
Commands
/nmc check: Forces a check on the expiration status of the item in the main hand.
/nmc set
<edible|spoiled>: Sets the state of the item in the main hand to either edible or spoiled.
/nmc info: Shows the expiration information of the item in the main hand.
/nmc help: Displays help information for the plugin commands.
/nmc give fridge : Gives you a fridge
/nmc give fridge <tier> : Gives you a defined tier fridge
Installation
- Download the jar
- Drop the jar in your plugins folder
- Start your server
- Modify the config.yml and save
- Restart your server
Config.yml
Code (YAML):
#####################################################################
# #
# No More Cooked by Zandrax #
# #
#####################################################################
# DO NOT TOUCH
config-version
: 17
#####################################################################
# #
# General settings #
# #
#####################################################################
# Choose your language (Available languages can be found in the lang folder; just type the two-letter code found between "lang_" and ".yml")
# You can create your own file and use the corresponding two-letter code.
lang
:
"us"
# Interval for automatic expiration date checks (in seconds)
auto-checker-interval
: 60
#####################################################################
# #
# Food expiration #
# #
#####################################################################
# Food default expiration duration (in seconds)
expiration-time-seconds
: 3600
# Time before cooked food expires
# Defines the chance (in percent) of expired meat being successfully composted
composter-chance
: 70
#####################################################################
# #
# Simple cooking mode expiration #
# #
#####################################################################
# Custom expiration system
enable-custom-expiration
: false
# Activate the custom expiration time. If deactivated, the plugin will use the default expiration time of 'expiration-time-seconds' setting for all cooked food.
# Custom expiration times by cooking mode
furnace-custom-expiration
: 3600
# Define the custom expiration time for cooked food in the furnace. The time is in seconds.
smoker-custom-expiration
: 7200
# Define the custom expiration time for cooked food in the smoker. The time is in seconds.
campfire-custom-expiration
: 10800
# Define the custom expiration time for cooked food in the campfire. The time is in seconds.
blast-furnace-custom-expiration
: 2700
# Define the custom expiration time for cooked food in the blast furnace. The time is in seconds. Usefull for custom recipes like ItemsAdder foods that can be cooked in the blast furnace.
villager-trade-custom-expiration
: 4800
# Define the custom expiration time for cooked food obtained from villagers. The time is in seconds.
#####################################################################
# #
# Advanced expiration system #
# #
#####################################################################
# Custom expiration by food
enable-custom-expiration-per-food
: true
# If enabled, the cooking mode section below will be taken into account. The duration per food is defined just below this section.
# Sets the time multiplier according to the cooking mode.
# Example: a multiplier of 2 on a customized time of 3600 seconds will result in a time of 7200 seconds (2 hours).
multiplier:
furnace
: 1
smoker
: 2
campfire
: 3
blast-furnace
: 0.7
villager-trade
: 1.4
#####################################################################
# #
# Cooked food expiration #
# #
#####################################################################
### Important for ItemsAdder users ###
# Itemsadder foods are based on the game's basic foods, until a future update, please take into account that you have to select the basic food of your itemsadder food in its configuration according to the customized expiration you want.
# Custom expiration by food settings. (Time in seconds)
# Set to -1 to disable expiration for a specific food
foods
:
# Meat & Fish
COOKED_BEEF
: 3600
COOKED_CHICKEN
: 3600
COOKED_MUTTON
: 3600
COOKED_PORKCHOP
: 3600
COOKED_RABBIT
: 3600
COOKED_SALMON
: 3600
COOKED_COD
: 3600
# Fruits and vegetables
BAKED_POTATO
: 1800
DRIED_KELP
: 1800
# Others
BREAD
: 4800
#####################################################################
# #
# Fresh food expiration #
# #
#####################################################################
# Enable expiration for fresh foods
enable-fresh-food-expiration
: true
# If enabled, the fresh foods below will have an expiration date
fresh-foods
:
# Fruits
APPLE
: 7200
MELON_SLICE
: 7200
GLOW_BERRIES
: 7200
SWEET_BERRIES
: 7200
# Vegetables
CARROT
: 7200
POTATO
: 7200
BEETROOT
: 7200
WHEAT
: 7200
CHORUS_FRUIT
: 7200
# Meat & Fish
BEEF
: 7200
CHICKEN
: 7200
MUTTON
: 7200
PORKCHOP
: 7200
RABBIT
: 7200
SALMON
: 7200
COD
: 7200
TROPICAL_FISH
: 7200
PUFFERFISH
: 7200
# Others
SPIDER_EYE
: 7200
ROTTEN_FLESH
: 7200
POISONOUS_POTATO
: 7200
MILK_BUCKET
: 7200
#####################################################################
# #
# Craftable food expiration #
# #
#####################################################################
# Enable expiration for craftable foods
enable-craftable-food-expiration
: true
# If enabled, the craftable foods below will have an expiration date
craftable-foods:
COOKIE
: 3600
PUMPKIN_PIE
: 3600
RABBIT_STEW
: 3600
BEETROOT_SOUP
: 3600
MUSHROOM_STEW
: 3600
SUSPICIOUS_STEW
: 3600
HONEY_BOTTLE
: 3600
CAKE
: 3600
#####################################################################
# #
# Golden food expiration #
# #
#####################################################################
# Enable expiration for golden foods
enable-golden-food-expiration
: true
# If enabled, the golden foods below will have an expiration date
golden-foods:
GOLDEN_APPLE
: 10800
ENCHANTED_GOLDEN_APPLE
: 10800
GOLDEN_CARROT
: 10800
#####################################################################
# #
# Food conservation #
# #
#####################################################################
# Enable crafting of raw foods from cooked foods
food-conservation-enabled
: true
# Enables preservation of food
# Crafting recipes for converting cooked foods back to raw
requires-snow-for-transformation
: false
# Requires snow to revert foods to raw state
requires-ice-for-transformation
: true
# Requires ice to revert foods to raw state
#####################################################################
# #
# Lore settings #
# #
#####################################################################
# Show expiration time in item lore
show-expiration-time
: true
# Displays remaining time until expiration
# This option is useful when real-time updating is not feasible,
# e.g., when the item is sold through a plugin that doesn't use InventoryOpenEvent.
# Enable this and disable "show-expiration-time" to resolve potential issues.
show-expiration-date
: true
# Displays the expiration date
# Date and time format in item lore
date-format
:
"dd/MM/yyyy"
# Preferred date format
hour-format
:
"HH:mm:ss"
# Preferred time format
# Enable the custom stages system (Actually, this feature doesn't support expiration time and dates in lore, let this option disabled if you want time and date in lore)
custom-stages
: false
# Activate the custom stages system. If activated, the plugin will use the custom-stages.yml file in stage folder to define lore and bonuses for each stage of the food.
#####################################################################
# #
# Effects settings #
# #
#####################################################################
# Intensity of negative effects (0 = Disable the effect)
effects:
hunger
: 2
poison
: 0
weakness
: 2
blindness
: 1
miningfatigue
: 1
wither
: 0
slowness
: 3
nausea
: 3
# Duration of negative effects in seconds
effects-duration
: 60
# Transform expired food into rotten flesh
rotten-flesh-instead
: false
# If enabled, expired food will be transformed into rotten flesh without any effects
#####################################################################
# #
# Fridge settings #
# #
#####################################################################
# Mulltiple fridges settings
enable-multiple-fridges
: false
# If enabled, you can configure up to 6 fridges with differents settings and crafting recipes.
# Important : If you enable this option, please configure your fridges in fridges/multiple-fridges.yml file.
# In any case, you need to configure the main fridge settings below : enable-fridge-mechanic, fridge-instant-lore-update, other-foods-in-fridge-enabled and the particles settings.
# Fridge mechanics and settings
enable-fridge-mechanic
: true
# Activate fridge mechanics (if deactivated, the fridge will not work)
fridge-instant-lore-update
: true
# Instantly update the lore of the items when they are added and removed from the fridge. if deactivated, the lore will be updated when the player opens the fridge or when auto-checker runs.
other-foods-in-fridge-enabled
: true
# Allows other foods to be stored in the refrigerator. If this option is deactivated, only cooked and raw meat, fish and vegetables can be stored in the fridge.
# Fridge particles settings
fridge-particles
: true
# Activate the fridge particles. If activated, you be able to see snow particles around the fridge.
# Particles settings
particles-settings:
interval
: 5
# Interval between particles in seconds (Be careful, too low values can cause lag, especially with a large number of fridge)
count
: 10
# Number of particles per interval
offset-x
: 0.5
offset-y
: 0.5
offset-z
: 0.5
extra
: 0.01
# Interval between particles in seconds (Be careful, too low values can cause lag, especially with a large number of fridge)
#####################################################################
# #
# Single fridge settings #
# #
#####################################################################
#####################################################################
### Configure this settings section only ###
### if you have disabled the multiple fridges. ###
#####################################################################
# Fridge expiration multiplier
fridge-expiration-multiplier
: 5
# Define the fridge multiplier. Multiplies the remaining expiry time when added to the fridge and divides when removed from the fridge.
# Custom fridge recipe options
custom-fridge-recipe
: false
# Activate the custom fridge recipe. If activated, the plugin will use a custom recipe for the fridge that can be defined below.
fridge-type
: WHITE_SHULKER_BOX
# The type of the fridge. You can use any shulker box or a chest. The default is a white shulker box.
# Custom fridge recipe settings
fridge-recipe
:
# Shape is a 3x3 grid where each letter represents an item.
# The model below is an example of the actual default recipe without the iron blocks in first-line.
# If you don't want an item in a slot, you can use X.
shape:
first-line
: XDX
# The first line of the recipe
second-line
: ABA
# The second line
third-line
: ACA
# The third line
# Items that correspond to the letters in the recipe
items:
A
: IRON_BLOCK
# The item that corresponds to the letter A
B
: CHEST
# The item that corresponds to the letter B
C
: ICE
# ... and so on
D
: IRON_DOOR
E:
F:
G:
H:
I
:
# Custom fridge GUI options. You need to download the pack from the plugin page to use the custom GUI : https://www.spigotmc.org/resources/114602/
fridge-custom-gui
: false
# Activate the custom fridge GUI. If activated, the plugin will use a custom GUI for the fridge. Thanks to @SnowCutieOwO for the GUI original design !
#####################################################################
# #
# ItemsAdder support #
# #
#####################################################################
# ItemsAdder support
items-adder-support
: false
# Activate ItemsAdder support. If activated, the plugin will support ItemsAdder custom food items
enable-all-entities
: false
# Activate all entities support. If activated, when an custom entity is killed with the Fire Aspect enchantment and drops cooked food, the food will be supported by the expiration system.
#####################################################################
# #
# Blacklist settings #
# #
#####################################################################
# Blacklist settings
enable-blacklist
: false
# Activate the blacklist. If activated, the plugin will use the blacklist below to prevent certain items from expiring
# Blacklist of items that will not expire
item-blacklist
:
-
"APPLE:10005"
-
"TROPICAL_FISH:10000"
-
"APPLE:10001"
# - "ITEM_NAME:CUSTOM_MODEL_DATA" # Add the item name and ID to the list to prevent it from expiring
#####################################################################
# #
# Experimental settings #
# #
#####################################################################
# Experimental and currently LESS efficient than the classic lore update
placeholder-support
: false
# Enable placeholder support
# More precise expiry system
enable-seconds-exp
: false
# Activate the old seconds expiration system. More precise but less stackable items. Fill inventory with expired items. Not a good idea but still possible.
About the current version
The plugin is currently under development and although it's designed to be used on a server, you may encounter various bugs or the plugin won't work as intended.
Please let me know if you encounter any problems. I'll do my best to provide a quick and efficient solution.
Please refer to the "Bug report & Feature request" section below.
EconomyShopGUI compatibility instructions
Please add these lines to this section of the EconomyShopGUI config:
Code (YAML):
old-items-ignored-NBTtags
:
- 'custom_data::PublicBukkitValues::nomorecooked:expiration'
- 'custom_data::PublicBukkitValues::nomorecooked:cookedtimestamp'
- 'custom_data::PublicBukkitValues::nomorecooked:stage'
If you would like to be able to resell food that has expired for any reason, please also add :
Code (YAML):
- 'custom_data::PublicBukkitValues::nomorecooked:spoiled'
Thanks to @Gypopo for his update on the tags following our conversation !
Fixes planned for the next update
- Better protection to prevent expired food from cooking
Bug Report or Feature Request
Follow this link :
https://github.com/The-Zandrax/NoMoreCooked/issues