I've been trying to make a "time revert" effect lately, where you would set a checkpoint at one time and then be able to go back to it. This of course requires lots of things to be saved (broken blocks, placed blocks, entity positions, game time, etc.), things like broken and placed blocks have been easy, but I'm having trouble with player inventories. The half-baked system I thought up was giving all the ItemStacks in a player's inventory a special variable in a capability and then to delete all items that don't have that variable at a certain value, this works poorly though, items don't revert durability and stackable items can be destroyed if manually stacked. Is there a way I can save every player's inventory contents into a capability to be able to revert to that? I'd really appreciate some ideas.