// Path: src/main/java/tc/oc/tracker/Lifetimes.java
// public final class Lifetimes {
//     private Lifetimes() { }
// 
//     public static @Nonnull LifetimeManager getManager() {
//         if(manager == null) {
//             manager = new SimpleLifetimeManager();
//         }
//         return manager;
//     }
// 
//     public static @Nonnull Lifetime getLifetime(@Nonnull LivingEntity entity) {
//         return getManager().getLifetime(entity);
//     }
// 
//     private static @Nullable LifetimeManager manager;
// }


import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerRespawnEvent;
import tc.oc.tracker.Lifetimes;
package tc.oc.tracker.plugin;



public class LifetimeListener implements Listener {
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerRespawn(final PlayerRespawnEvent event) {
// Path: src/main/java/tc/oc/tracker/Lifetimes.java
// public final class Lifetimes {
//     private Lifetimes() { }
// 
//     public static @Nonnull LifetimeManager getManager() {
//         if(manager == null) {
//             manager = new SimpleLifetimeManager();
//         }
//         return manager;
//     }
// 
//     public static @Nonnull Lifetime getLifetime(@Nonnull LivingEntity entity) {
//         return getManager().getLifetime(entity);
//     }
// 
//     private static @Nullable LifetimeManager manager;
// }


// Path: src/main/java/tc/oc/tracker/plugin/LifetimeListener.java
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerRespawnEvent;
import tc.oc.tracker.Lifetimes;

package tc.oc.tracker.plugin;



public class LifetimeListener implements Listener {
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerRespawn(final PlayerRespawnEvent event) {
        Lifetimes.getManager().newLifetime(event.getPlayer());