50 lines
1.8 KiB
Java
50 lines
1.8 KiB
Java
package tc.oc.commons.bukkit.inject;
|
|
|
|
import java.io.File;
|
|
import java.nio.file.Path;
|
|
import javax.inject.Named;
|
|
|
|
import com.google.inject.Provides;
|
|
import com.google.inject.TypeLiteral;
|
|
import com.google.inject.assistedinject.FactoryModuleBuilder;
|
|
import org.bukkit.plugin.Plugin;
|
|
import tc.oc.commons.bukkit.bossbar.BossBarFactory;
|
|
import tc.oc.commons.bukkit.bossbar.BossBarFactoryImpl;
|
|
import tc.oc.commons.bukkit.chat.BukkitAudiences;
|
|
import tc.oc.commons.bukkit.item.RenderedItemBuilder;
|
|
import tc.oc.commons.bukkit.logging.BukkitLoggerFactory;
|
|
import tc.oc.commons.bukkit.permissions.BukkitPermissionRegistry;
|
|
import tc.oc.commons.bukkit.permissions.PermissionRegistry;
|
|
import tc.oc.commons.core.inject.SingletonManifest;
|
|
import tc.oc.commons.core.logging.Loggers;
|
|
import tc.oc.commons.core.plugin.PluginResolver;
|
|
import tc.oc.commons.core.server.MinecraftServerManifest;
|
|
|
|
public class BukkitServerManifest extends SingletonManifest {
|
|
|
|
@Override
|
|
protected void configure() {
|
|
install(new MinecraftServerManifest());
|
|
|
|
final FactoryModuleBuilder fmb = new FactoryModuleBuilder();
|
|
install(fmb.build(RenderedItemBuilder.Factory.class));
|
|
|
|
bind(new TypeLiteral<PluginResolver<Plugin>>(){}).to(BukkitPluginResolver.class);
|
|
bind(Loggers.class).to(BukkitLoggerFactory.class);
|
|
bind(tc.oc.commons.core.chat.Audiences.class).to(tc.oc.commons.bukkit.chat.Audiences.class);
|
|
bind(tc.oc.commons.bukkit.chat.Audiences.class).to(BukkitAudiences.class);
|
|
bind(PermissionRegistry.class).to(BukkitPermissionRegistry.class);
|
|
bind(BossBarFactory.class).to(BossBarFactoryImpl.class);
|
|
}
|
|
|
|
@Provides @Named("serverRoot")
|
|
File serverRootFile() {
|
|
return new File(".").getAbsoluteFile();
|
|
}
|
|
|
|
@Provides @Named("serverRoot")
|
|
Path serverRootPath() {
|
|
return serverRootFile().toPath();
|
|
}
|
|
}
|