I have a entity.setMetadata("Stuff", new FixedMetadataValue(instance, new Horse(player, entity.getEntityId(), 0))); I can retrieve the metadata value during that time before it reloads. Once the server reloads the server sees the metadata "Stuff" still there but after reloads I can't change the Object to Horse. The error is like ClassCastException You cannot cast Horse to Horse. This only happens after reloads. Ask if you need for me to explain this better.