diff --git a/API/bukkit/src/main/java/tc/oc/api/bukkit/BukkitApiManifest.java b/API/bukkit/src/main/java/tc/oc/api/bukkit/BukkitApiManifest.java index cffea47..9f182e2 100644 --- a/API/bukkit/src/main/java/tc/oc/api/bukkit/BukkitApiManifest.java +++ b/API/bukkit/src/main/java/tc/oc/api/bukkit/BukkitApiManifest.java @@ -1,41 +1,24 @@ package tc.oc.api.bukkit; -import java.util.Optional; - -import com.google.inject.Provides; import com.google.inject.TypeLiteral; import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; +import tc.oc.api.ApiManifest; import tc.oc.api.bukkit.friends.OnlineFriends; import tc.oc.api.bukkit.users.BukkitUserStore; import tc.oc.api.bukkit.users.Users; -import tc.oc.api.ApiManifest; import tc.oc.api.minecraft.MinecraftApiManifest; import tc.oc.api.minecraft.users.UserStore; -import tc.oc.bukkit.logging.RavenPlugin; import tc.oc.commons.bukkit.inject.BukkitPluginManifest; import tc.oc.commons.core.inject.HybridManifest; -import tc.oc.commons.core.inject.Manifest; -import tc.oc.commons.core.plugin.PluginResolver; -import tc.oc.minecraft.logging.BetterRaven; public final class BukkitApiManifest extends HybridManifest { - private static class Public extends Manifest { - @Provides - Optional betterRaven(PluginResolver resolver) { - return Optional.ofNullable(resolver.getPlugin(RavenPlugin.class)).map(RavenPlugin::getRaven); - } - } - @Override protected void configure() { install(new ApiManifest()); install(new MinecraftApiManifest()); install(new BukkitPluginManifest()); - publicBinder().install(new Public()); - bindAndExpose(UserStore.class).to(BukkitUserStore.class); bindAndExpose(BukkitUserStore.class); diff --git a/API/bukkit/src/main/resources/plugin.yml b/API/bukkit/src/main/resources/plugin.yml index b9a5af1..bb68e18 100644 --- a/API/bukkit/src/main/resources/plugin.yml +++ b/API/bukkit/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ main: tc.oc.api.bukkit.BukkitApiManifest version: ${project.version}-${git.commit.id.abbrev} author: Overcast Network isolate: true -depend: [Raven] +softdepend: [Raven] diff --git a/API/bungee/src/main/java/tc/oc/api/bungee/BungeeApiManifest.java b/API/bungee/src/main/java/tc/oc/api/bungee/BungeeApiManifest.java index adfdb26..5746287 100644 --- a/API/bungee/src/main/java/tc/oc/api/bungee/BungeeApiManifest.java +++ b/API/bungee/src/main/java/tc/oc/api/bungee/BungeeApiManifest.java @@ -1,39 +1,22 @@ package tc.oc.api.bungee; -import java.util.Optional; - -import com.google.inject.Provides; import com.google.inject.TypeLiteral; import net.md_5.bungee.api.connection.ProxiedPlayer; -import net.md_5.bungee.api.plugin.Plugin; import tc.oc.api.ApiManifest; import tc.oc.api.bungee.users.BungeeUserStore; import tc.oc.api.minecraft.MinecraftApiManifest; import tc.oc.api.minecraft.users.UserStore; -import tc.oc.bungee.logging.RavenPlugin; import tc.oc.commons.bungee.inject.BungeePluginManifest; import tc.oc.commons.core.inject.HybridManifest; -import tc.oc.commons.core.inject.Manifest; -import tc.oc.commons.core.plugin.PluginResolver; -import tc.oc.minecraft.logging.BetterRaven; public final class BungeeApiManifest extends HybridManifest { - public static class Public extends Manifest { - @Provides - Optional betterRaven(PluginResolver resolver) { - return Optional.ofNullable(resolver.getPlugin(RavenPlugin.class)).map(RavenPlugin::getRaven); - } - } - @Override protected void configure() { install(new ApiManifest()); install(new MinecraftApiManifest()); install(new BungeePluginManifest()); - publicBinder().install(new Public()); - bindAndExpose(UserStore.class).to(BungeeUserStore.class); bindAndExpose(BungeeUserStore.class); diff --git a/API/bungee/src/main/resources/plugin.yml b/API/bungee/src/main/resources/plugin.yml index 2df4b59..01035e6 100644 --- a/API/bungee/src/main/resources/plugin.yml +++ b/API/bungee/src/main/resources/plugin.yml @@ -2,4 +2,4 @@ name: API main: tc.oc.api.bungee.BungeeApiManifest version: ${project.version}-${git.commit.id.abbrev} author: Overcast Network -depends: [Raven] +softdepends: [Raven] diff --git a/API/minecraft/src/main/java/tc/oc/api/minecraft/MinecraftApiManifest.java b/API/minecraft/src/main/java/tc/oc/api/minecraft/MinecraftApiManifest.java index e1af169..323c0ab 100644 --- a/API/minecraft/src/main/java/tc/oc/api/minecraft/MinecraftApiManifest.java +++ b/API/minecraft/src/main/java/tc/oc/api/minecraft/MinecraftApiManifest.java @@ -16,6 +16,7 @@ import tc.oc.api.minecraft.users.MinecraftUsersManifest; import tc.oc.commons.core.inject.HybridManifest; import tc.oc.commons.core.inject.Manifest; import tc.oc.debug.LeakDetectorManifest; +import tc.oc.minecraft.logging.RavenApiModule; public final class MinecraftApiManifest extends HybridManifest { @@ -37,6 +38,8 @@ public final class MinecraftApiManifest extends HybridManifest { protected void configure() { publicBinder().install(new Public()); + install(new RavenApiModule()); + install(new LeakDetectorManifest()); install(new MinecraftLoggingManifest()); install(new MinecraftModelsManifest()); diff --git a/Commons/bungee/src/main/resources/plugin.yml b/Commons/bungee/src/main/resources/plugin.yml index e95fc87..c24c726 100644 --- a/Commons/bungee/src/main/resources/plugin.yml +++ b/Commons/bungee/src/main/resources/plugin.yml @@ -2,4 +2,4 @@ name: ${plugin.prefix} main: ${plugin.mainClass} version: ${project.version}-${git.commit.id.abbrev} author: Overcast Network -depends: [API, Raven] +depends: [API] diff --git a/README.md b/README.md index f865a11..78d1c4d 100644 --- a/README.md +++ b/README.md @@ -69,21 +69,29 @@ Of particular interest are these: * `settings.legacy-knockback: true` Emulate knockback mechanics from older versions of Minecraft * `settings.water-pushes-tnt: false` Disable water pushing TNT, a newer Minecraft feature that we don't use. -These plugins are required for any SportBukkit server: +On any PGM or Lobby server, these external plugins can/must be loaded: -* raven-bukkit -* bukkit-settings -* api-bukkit -* commons-bukkit -* Channels -* chatmoderator (optional) +* [bukkit-settings](https://github.com/OvercastNetwork/BukkitSettings) (required) +* [Channels](https://github.com/OvercastNetwork/Channels) (required) +* [raven-bukkit](https://github.com/OvercastNetwork/raven-minecraft) (optional) +* [ChatModerator](https://github.com/OvercastNetwork/ChatModerator) (optional) -For a PGM server, you also need these: +As well as these plugins from this repo: -* PGM -* Tourney (optional) +* api-bukkit (built at `API/bukkit/target/api-bukkit-#-SNAPSHOT.jar`) +* commons-bukkit (built at `Commons/bukkit/target/commons-bukkit-#-SNAPSHOT.jar`) -For a Lobby server, you just need the Lobby plugin. +For a PGM server, you also need: + +* PGM (built at `PGM/target/PGM-#-SNAPSHOT.jar`) + +For tournament support on PGM, you also need: + +* Tourney (built at `Tourney/target/Tourney-#-SNAPSHOT.jar`) + +And for a Lobby server, you just need: + +* Lobby (built at `Lobby/target/Lobby-1.11-SNAPSHOT.jar`) # Contents diff --git a/Util/bukkit/src/main/java/tc/oc/commons/bukkit/inject/BukkitServerManifest.java b/Util/bukkit/src/main/java/tc/oc/commons/bukkit/inject/BukkitServerManifest.java index fd4a054..67ecd6d 100644 --- a/Util/bukkit/src/main/java/tc/oc/commons/bukkit/inject/BukkitServerManifest.java +++ b/Util/bukkit/src/main/java/tc/oc/commons/bukkit/inject/BukkitServerManifest.java @@ -7,9 +7,7 @@ import javax.inject.Named; import com.google.inject.Provides; import com.google.inject.TypeLiteral; import com.google.inject.assistedinject.FactoryModuleBuilder; -import org.bukkit.Server; import org.bukkit.plugin.Plugin; -import tc.oc.bukkit.BukkitVersionInspector; import tc.oc.commons.bukkit.bossbar.BossBarFactory; import tc.oc.commons.bukkit.bossbar.BossBarFactoryImpl; import tc.oc.commons.bukkit.chat.BukkitAudiences; @@ -19,9 +17,8 @@ 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.server.MinecraftServerManifest; import tc.oc.commons.core.plugin.PluginResolver; -import tc.oc.minecraft.VersionInspector; +import tc.oc.commons.core.server.MinecraftServerManifest; public class BukkitServerManifest extends SingletonManifest { @@ -40,10 +37,6 @@ public class BukkitServerManifest extends SingletonManifest { bind(BossBarFactory.class).to(BossBarFactoryImpl.class); } - @Provides VersionInspector versionInspector(Server server) { - return new BukkitVersionInspector(server); - } - @Provides @Named("serverRoot") File serverRootFile() { return new File(".").getAbsoluteFile(); diff --git a/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeePluginManifest.java b/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeePluginManifest.java index 601e42b..8a3e52a 100644 --- a/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeePluginManifest.java +++ b/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeePluginManifest.java @@ -1,10 +1,7 @@ package tc.oc.commons.bungee.inject; -import com.google.inject.Provides; import com.google.inject.TypeLiteral; import net.md_5.bungee.api.CommandSender; -import net.md_5.bungee.api.plugin.Plugin; -import tc.oc.bungee.configuration.YamlConfigurationLoader; import tc.oc.commons.bungee.commands.BungeeCommandRegistry; import tc.oc.commons.bungee.scheduler.BungeeSchedulerManifest; import tc.oc.commons.core.commands.CommandRegistry; @@ -12,7 +9,6 @@ import tc.oc.commons.core.commands.CommandRegistryImpl; import tc.oc.commons.core.inject.HybridManifest; import tc.oc.commons.core.plugin.MinecraftPluginManifest; import tc.oc.commons.core.plugin.PluginFacetManifest; -import tc.oc.commons.core.plugin.PluginScoped; public class BungeePluginManifest extends HybridManifest { @@ -25,12 +21,5 @@ public class BungeePluginManifest extends HybridManifest { bind(CommandRegistry.class).to(BungeeCommandRegistry.class); bind(new TypeLiteral>(){}).to(BungeeCommandRegistry.class); - - bind(tc.oc.minecraft.api.configuration.Configuration.class).to(net.md_5.bungee.config.Configuration.class); - } - - @Provides @PluginScoped - net.md_5.bungee.config.Configuration configuration(Plugin plugin) { - return new YamlConfigurationLoader(plugin).loadConfig(); } } diff --git a/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeeServerManifest.java b/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeeServerManifest.java index 523b49c..73dfbef 100644 --- a/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeeServerManifest.java +++ b/Util/bungee/src/main/java/tc/oc/commons/bungee/inject/BungeeServerManifest.java @@ -1,18 +1,14 @@ package tc.oc.commons.bungee.inject; -import com.google.inject.Provides; import com.google.inject.TypeLiteral; -import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.plugin.Plugin; -import tc.oc.bungee.BungeeVersionInspector; import tc.oc.commons.bungee.chat.BungeeAudiences; import tc.oc.commons.bungee.logging.BungeeLoggerFactory; import tc.oc.commons.bungee.plugin.BungeePluginResolver; import tc.oc.commons.core.inject.SingletonManifest; import tc.oc.commons.core.logging.Loggers; -import tc.oc.commons.core.server.MinecraftServerManifest; import tc.oc.commons.core.plugin.PluginResolver; -import tc.oc.minecraft.VersionInspector; +import tc.oc.commons.core.server.MinecraftServerManifest; public class BungeeServerManifest extends SingletonManifest { @Override @@ -24,9 +20,4 @@ public class BungeeServerManifest extends SingletonManifest { bind(tc.oc.commons.core.chat.Audiences.class).to(tc.oc.commons.bungee.chat.Audiences.class); bind(tc.oc.commons.bungee.chat.Audiences.class).to(BungeeAudiences.class); } - - @Provides - VersionInspector versionInspector(ProxyServer server) { - return new BungeeVersionInspector(server); - } } diff --git a/Util/core/pom.xml b/Util/core/pom.xml index 5b970ef..4f5e8a4 100644 --- a/Util/core/pom.xml +++ b/Util/core/pom.xml @@ -190,10 +190,7 @@ org.ocpsoft.prettytime:prettytime org.javassist:javassist cglib:cglib - - - com.fasterxml.jackson.core:jackson-core - + tc.oc:raven-minecraft-core com.sk89q:command-framework-core