package tc.oc.commons.bukkit.inject; import java.util.UUID; import javax.inject.Qualifier; import com.google.inject.AbstractModule; import com.google.inject.Provides; import org.bukkit.entity.Player; import org.bukkit.inventory.PlayerInventory; /** * Binds various services provided through a {@link Player} (but does not bind {@link Player} itself) * * TODO: Might be handy to bind things like Scoreboard, but that is not specific to players * so it might collide with other bindings e.g. if the server's main Scoreboard was bound to * the same key in an outer scope. Perhaps these bindings should have some {@link Qualifier}, * but what would that be exactly? */ public class BukkitPlayerModule extends AbstractModule { @Override protected void configure() {} @Provides PlayerInventory inventory(Player player) { return player.getInventory(); } @Provides UUID uuid(Player player) { return player.getUniqueId(); } }