RottenFood - Give items an expirationdate

This is a discussion topic for the Ore project, RottenFood. View the full project on Ore for downloads and more information.

RottenFood Build Status Build Status

Gives items the abillity to age. You can configurate any item to change as time goes on.


The download here is for SpongeAPI-6.0.0! If you want a version for SpongeAPI-5.1.0 there are more releases on GitHub


(Those are things you can do, using the plugins config)

  • steaks that you store in a chest can become rotten_flesh after a week if you don’t eat them
  • all potatoes could suddenly be poisonous if you logged-off for a month
  • flowers that you just put in some chest instead of planting them can dry out (become dead bushes) after 3 days without water and sunlight

This Steak just got cooked and taken out of a furnace:

new item

And this one is 4,5 hours old:

old Item

And if you’d wait even longer the stack would change to rotten flesh!

Also, it’s possible to change the aging speed of an item by putting it together with other items in a chest. With that you can e.g. “cool” your steaks with ice so they last 10 times longer…


I highly recommend to look in the default configuration file. Everything is explained in there ^^

You can use the /sponge plugins reload command to reload the config!


  • Add %item% placeholder to itemname and lore
  • Write a better plugin description
  • Fix my english
  • Think of other things to do

Bugs / Questions / Suggestions

If you find any bug or some spelling-/language-error please create an issue!

Any ideas i could add or change? Questions? Problems with the config? Please share them with me! :slight_smile:


That’s brillant !

Amazing idea! I am having an error when starting my server and the plugin isn’t loading. I submitted an issue ticket on github for ya to look at with pastebins of the error.

You used the Plugin-Version for Sponge API 6.0 but you have Sponge API 5.1 installed.

I uploaded a version to GitHub of this plugin that should work with Sponge 5.1

Let me know if it works :slight_smile:

Seems to be working perfectly! Thanks!

Hello, I have a question that how can we input meta value, like minecraft:fish:3 ?

Unfortunately, not possible right now. But i might look into that soon…

Thanks for your work!:grinning:

I still have some questions. For example, if I give my food to others, will this food still rot according to the previous recording? And, if I set ice will “rot”, will the action, that a player places the ice block on the ground, reset the recording of rotting?

One more thing, if a kind of food’s stack is 64 not 1, what will happen when I put a rotten one and new foods into the same stack?

The data is stored on the Item itself, not on the Inventory, so it will remain its state if you give it to someone else…

If you place the ice-block, the item will loose its age.

You wont be able to stack items with different ages

The stackability of items is controlled by the item-stacking-intervall config value:

E.g. a value of 60 means that you can only stack items together, whose ages differ by max 1 minute.

Now I understand. Thank you very much!

Hi ! You should create a directory ./rottenfood instead of creating the file in server/config.

i am having great times configuring your plugin :smiley:

Hi there !

It’s been almost one year :joy:

I have no error with API7, only a warning :

[17:55:55 WARN] [Sponge]: rottenfood: It is no longer required to include the plugin id when specifying a Key id through Key.Builder#id. This is deprecated and may be removed later. The plugin id will be retrieved from the current PluginContainer in the cause stack. Key: SpongeKey{name=RottenFood Update Time, id=rottenfood:update_time,<java.lang.Long>, elementToken=java.lang.Long, query=rotten.updateTime}

You look to be still coming on the forum, I hope you will see this message :slight_smile:

I am still here :3

What Sponge and Plugin Version did you use? :upside_down_face:

Edit: Wait… API7 … missed that :smiley:
Will look into that soon

1 Like

Made a quick fix and released it here: Releases · TBlueF/RottenFood · GitHub
Didn’t had the time to test it much though, make a backup and tell me if you get any issues :slight_smile:

1 Like

Thanks, everything looks fine !

Do you plan to move config file to a dedicated folder ?
Also, you advice to use /sponge reload plugins but it’s not really convenient because it reload all plugins. As you already have the reload mechanism, maybe you could add a /rottenfood reload command ?

Anyway, I will share my config file when it’s done :slight_smile:

Who edit for

			replacement-item: "minecraft:dye 15"

Pls, fixed or add function.
So error :frowning: I don’t nothink

1 Like

The problem with this is that currently RottenFood only supports ItemTypes and not ItemStates … that means that it is only possible to use e.g. “minecraft:dye” (any color) but not a specific color like white (bone-meal) in your case.
There is a branch in git where i tried to implement the support of ItemStates, but I ran into some issues with comparing items and than didn’t find the time or motivation to continue…
So until my time/motivation comes back, or someone else implements this, using items with data sadly isn’t possible.

1 Like

Very usefull plugin. It makes people to think before killing all animals on their way.
Thanks a lot.