FoodSpoilage
0
Makes food items turn into rotten flesh after a certain period of time.
Versions
All releases on GitHubSnapshot release marking FoodSpoilage's move to an AI-first development approach.
Day-to-day feature work, grooming, review and maintenance now run through AI agents working directly against this repository, with the maintainers setting direction and approving what lands. The version bump marks that change in how the project is built — it is not a compatibility break. Behaviour, configuration and stored data are unchanged, and existing installations can upgrade in place.
This is a dated snapshot, not a finished release. It follows the precedent set by Medieval
Factions' 6.0.0-SNAPSHOT-7-25-2026: the AI-first line has not yet been verified in live operation,
and the snapshot designation stays until it has.
Version changes
build.gradle:3.0.2→4.0.0-SNAPSHOT-8-8-2026
Opened as https://github.com/Dans-Plugins/FoodSpoilage/pull/249.
Note on this release
This release was originally published without a jar: the build failed because
net.md-5:bungeecord-chat:1.13-SNAPSHOT, a transitive dependency of spigot-api, is no longer
hosted by Spigot's snapshot repository. The dependency was repinned in
https://github.com/Dans-Plugins/FoodSpoilage/pull/250 and the release was re-cut against that fix,
so the tag now points at a commit that builds. No plugin behaviour was changed.
Drafted by Claude on behalf of Daniel Stephenson.
No release notes were published for this version.
What's Changed
- Fix recipe registry overflow causing PacketTooLargeException on player join by @Copilot in https://github.com/Dans-Plugins/FoodSpoilage/pull/228
- Fix furnace stopping after first item when cooking a stack of food by @Copilot in https://github.com/Dans-Plugins/FoodSpoilage/pull/230
New Contributors
- @Copilot made their first contribution in https://github.com/Dans-Plugins/FoodSpoilage/pull/231
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/3.0.1...3.0.2
What's Changed
- Fixed all items acquired through fishing getting timestamped. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/211
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/3.0.0...3.0.1
Note
When upgrading from a pre-3.0.0 version of the plugin, the config.yml will need to be deleted in order to get this version to work.
What's Changed
- Migrate to gradle by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/186
- Fix package names by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/187
- Fetch bstats from gradle by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/188
- Refactor services by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/189
- Use plugin logger for logging by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/191
- Refactor commands by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/192
- Apache 2.0 License by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/193
- Add further event coverage & improve existing listeners by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/194
- Non-Edible Item Spawn Fix by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/195
- Fixed all crafted items getting timestamped. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/198
- Fix shift clicking resulting in loss of items, closes #197 by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/199
- Store food expiry in the item's persistent data store by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/200
- Made only edible items get assigned timestamps in the Block Cook Listener. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/201
- Switched over to using ISO_OFFSET_DATE instead of ISO_OFFSET_DATE_TIME. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/202
- Made rotten flesh not spoil. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/203
- Add RPKit integration by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/205
- Parse errors are no longer logged to the console. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/206
New Contributors
- @alyphen made their first contribution in https://github.com/Dans-Plugins/FoodSpoilage/pull/186
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/2.1.1...3.0.0
What's Changed
- Switched over to using ISO_OFFSET_DATE instead of ISO_OFFSET_DATE_TIME. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/202
- Made rotten flesh not spoil. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/203
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/3.0.0-ALPHA-6-9-2022...3.0.0-ALPHA-6-17-2022
Note
Servers updating from pre-3.0.0 will need to delete their config.yml and restart the server to regenerate it.
What's Changed
- Non-Edible Item Spawn Fix by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/195
- Fixed all crafted items getting timestamped. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/198
- Fix shift clicking resulting in loss of items, closes #197 by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/199
- Store food expiry in the item's persistent data store by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/200
- Made only edible items get assigned timestamps in the Block Cook Listener. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/201
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/3.0.0-ALPHA-5-25-2022...3.0.0-ALPHA-6-9-2022
Note
Servers updating from pre-3.0.0 will need to delete their config.yml and restart the server to regenerate it.
What's Changed
- Migrate to gradle by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/186
- Fix package names by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/187
- Fetch bstats from gradle by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/188
- Refactor services by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/189
- Use plugin logger for logging by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/191
- Refactor commands by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/192
- Apache 2.0 License by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/193
- Add further event coverage & improve existing listeners by @alyphen in https://github.com/Dans-Plugins/FoodSpoilage/pull/194
New Contributors
- @alyphen made their first contribution in https://github.com/Dans-Plugins/FoodSpoilage/pull/186
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/2.1.1...3.0.0-ALPHA-5-25-2022
What's Changed
- Fixed config.yml not getting properly initialized upon startup. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/185
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/2.1...2.1.1
What's Changed
- Spoilage By Day by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/180
- Reorganized the project. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/182
- Further project reorganization. by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/183
- Ponder Integration by @dmccoystephenson in https://github.com/Dans-Plugins/FoodSpoilage/pull/184
Full Changelog: https://github.com/Dans-Plugins/FoodSpoilage/compare/v2.0...2.1
Note
This version of the plugin doesn't work due to an error with config initialization.
Changes in Food Spoilage v2.0
- Undead_Zeratul overhauled some parts of the plugin, cleaning up the code.
- Undead_Zeratul fixed spoiled food always resulting in one food, rather than the number of items that spoiled.
- Integrated bStats into the plugin in order to collect usage data.
- Created an EventRegistry class to handle the creation of the EventHandler classes.
- Caibinus fixed players being able to remove timestamps from Wheat by crafting Haybales and then crafting Wheat from the Haybales.
- Caibinus fixed players being able to remove timestamps from Melons by crafting Melon Blocks and then crafting Melons from the Melon Blocks.
- Removed the Creation Date from timestamped items.
- Added the /fs timeleft command.
- Updated the plugin.yml and /fs command with no arguments to include other authors.
- Renamed the StorageManager class to ConfigManager.
- Overhauled the ConfigManager class to be a lot more like Medieval Factions
- Callum fixed the version not getting updated in Config.yml upon a version mismatch.
- Callum implemented a caching system for looking up food spoilage times.
- Incremented the version to v2.0 because for some reason the timestamps of existing food don't match the new system and there is a high chance of spoilage before reaching the expiration date for food items.
Changes in Food Spoilage v1.10-beta-1
- Undead_Zeratul overhauled some parts of the plugin, cleaning up the code.
- Undead_Zeratul fixed spoiled food always resulting in one food, rather than the number of items that spoiled.
- Integrated bStats into the plugin in order to collect usage data.
- Created an EventRegistry class to handle the creation of the EventHandler classes.
- Caibinus fixed players being able to remove timestamps from Wheat by crafting Haybales and then crafting Wheat from the Haybales.
- Caibinus fixed players being able to remove timestamps from Melons by crafting Melon Blocks and then crafting Melons from the Melon Blocks.
Changes in Food Spoilage v1.9
- This plugin now uses a config.yml instead of .txt files for configuration.
- Config.yml now gets created if there isn't one.
- If save files from pre v1.9 are discovered, they will be loaded in and then saved in the new format. This means values you've changed before should transfer over.
- If there is a version mismatch, the config.yml will be saved as config.yml.old and a new config.yml with default values will be created.
Changes in Food Spoilage v1.8
- food items cooked on campfires now get timestamps assigned to them
- cleaned up some event handlers
Changes in Food Spoilage v1.7
- added a system for saving/loading custom text
- you can now change the no permission text
- you can now change the reload text
- you can now change the 'expiry date' text
- you can now change the 'created' text.
Changes in Food Spoilage v1.6
- added the ability to toggle food spoilage for food items. If the food spoilage value of a food item in food-spoilage-times.txt is changed to 0, it will not be timestamped and it will not spoil.
Changes in Food Spoilage v1.5
- Egg items now get timestamped
- Cake items now get timestamped
- Pumpkin Pie items now get timestamped
- Sugar items now get timestamped
- Sugar Cane items now get timestamped
- Apple items now get timestamped
- Baked Potato items now get timestamped
- Cookie items now get timestamped
- Poisonous Potato items now get timestamped
- Chorus Fruit items now get timestamped
- Dried Kelp items now get timestamped
Changes in Food Spoilage v1.3
- Melon Slices now get timestamped
- Nether Warts now get timestamped
- Brown Mushrooms now get timestamped
- Red Mushrooms now get timestamped
- Pumpkins now get timestamped
- Melons now get timestamped
- Wheat now get timestamped
Changes in Food Spoilage v1.2
- Cooked Cod items now gets timestamped
- Cooked Rabbit items now gets timestamped
- Cooked Mutton items now gets timestamped
- Cooked Salmon items now gets timestamped
- Cooked Porkchop items now gets timestamped
- Cooked Chicken items now gets timestamped
- Cooked Beef items now gets timestamped
Changes in Food Spoilage v1.1
- beetroop soup now gets timestamped when it is crafted
- rabbit stew now gets timestamped when it is crafted
- mushroom stew now gets timestamped when it is crafted
- added a console alert for mismatched versions letting server owners know that default values will be used until the 'Food-Spoilage' folder is deleted
Something wrong, or something missing?
Bugs go to the plugin's issue tracker, where they can actually be fixed and tracked. Ideas for new behaviour go to the Dev Portal, where the community can upvote them.