30 lines
965 B
Java
30 lines
965 B
Java
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();
|
|
}
|
|
}
|