Skip to content

Commit

Permalink
Merge branch 'feature/lateinit' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
renbinden committed May 3, 2016
2 parents c16185e + de83ea6 commit df55ebb
Show file tree
Hide file tree
Showing 57 changed files with 207 additions and 207 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.seventh_root.elysium.core.service.ServiceProvider

class ElysiumBanksBukkit : ElysiumBukkitPlugin() {

override var serviceProviders: Array<ServiceProvider>? = null
override lateinit var serviceProviders: Array<ServiceProvider>


}
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ import java.sql.SQLException

class ElysiumCharactersBukkit : ElysiumBukkitPlugin() {

private var characterProvider: CharacterProvider<BukkitCharacter>? = null
private var genderProvider: GenderProvider<BukkitGender>? = null
private var raceProvider: RaceProvider<BukkitRace>? = null
override var serviceProviders: Array<ServiceProvider>? = null
private lateinit var characterProvider: CharacterProvider<BukkitCharacter>
private lateinit var genderProvider: GenderProvider<BukkitGender>
private lateinit var raceProvider: RaceProvider<BukkitRace>
override lateinit var serviceProviders: Array<ServiceProvider>

override fun onEnable() {
saveDefaultConfig()
characterProvider = BukkitCharacterProvider(this)
genderProvider = BukkitGenderProvider(this)
raceProvider = BukkitRaceProvider(this)
serviceProviders = arrayOf(
characterProvider as CharacterProvider<BukkitCharacter>,
genderProvider as GenderProvider<BukkitGender>,
raceProvider as BukkitRaceProvider
characterProvider,
genderProvider,
raceProvider
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ class BukkitCharacter constructor(
id: Int = 0,
player: ElysiumPlayer?,
name: String = plugin.config.getString("characters.defaults.name"),
gender: Gender? = plugin.core!!.serviceManager.getServiceProvider(BukkitGenderProvider::class.java).getGender(plugin.config.getString("characters.defaults.gender")),
gender: Gender? = plugin.core.serviceManager.getServiceProvider(BukkitGenderProvider::class.java).getGender(plugin.config.getString("characters.defaults.gender")),
age: Int = plugin.config.getInt("characters.defaults.age"),
race: Race? = plugin.core!!.serviceManager.getServiceProvider(BukkitRaceProvider::class.java).getRace(plugin.config.getString("characters.defaults.race")),
race: Race? = plugin.core.serviceManager.getServiceProvider(BukkitRaceProvider::class.java).getRace(plugin.config.getString("characters.defaults.race")),
description: String = plugin.config.getString("characters.defaults.description"),
dead: Boolean = plugin.config.getBoolean("characters.defaults.dead"),
location: Location = Bukkit.getWorlds()[0].spawnLocation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
}

override fun getCharacter(id: Int): BukkitCharacter? {
return plugin.core!!.database.getTable(BukkitCharacter::class.java)!![id]
return plugin.core.database.getTable(BukkitCharacter::class.java)!![id]
}

override fun getActiveCharacter(player: ElysiumPlayer): BukkitCharacter? {
Expand All @@ -43,7 +43,7 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
} else {
try {
var character: BukkitCharacter? = null
plugin.core!!.database.createConnection().use { connection ->
plugin.core.database.createConnection().use { connection ->
connection.prepareStatement(
"SELECT character_id FROM player_character WHERE player_id = ?").use({ statement ->
statement.setInt(1, player.id)
Expand Down Expand Up @@ -84,7 +84,7 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
}
if (character != null) {
try {
plugin.core!!.database.createConnection().use { connection ->
plugin.core.database.createConnection().use { connection ->
connection.prepareStatement(
"INSERT INTO player_character(player_id, character_id) VALUES(?, ?) ON DUPLICATE KEY UPDATE character_id = VALUES(character_id)").use({ statement ->
statement.setInt(1, player.id)
Expand Down Expand Up @@ -114,7 +114,7 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
activeCharacterCache.put(player.id as Integer, character.id as Integer)
} else if (oldCharacter != null) {
try {
plugin.core!!.database.createConnection().use { connection ->
plugin.core.database.createConnection().use { connection ->
connection.prepareStatement(
"DELETE FROM player_character WHERE player_id = ? AND character_id = ?").use({ statement ->
statement.setInt(1, player.id)
Expand All @@ -132,7 +132,7 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
override fun getCharacters(player: ElysiumPlayer): Collection<BukkitCharacter> {
try {
var characters: MutableList<BukkitCharacter> = ArrayList()
plugin.core!!.database.createConnection().use { connection ->
plugin.core.database.createConnection().use { connection ->
connection.prepareStatement(
"SELECT id FROM bukkit_character WHERE player_id = ? ORDER BY id").use({ statement ->
statement.setInt(1, player.id)
Expand All @@ -151,21 +151,21 @@ class BukkitCharacterProvider : CharacterProvider<BukkitCharacter> {
}

override fun addCharacter(character: BukkitCharacter): Int {
return plugin.core!!.database.getTable(BukkitCharacter::class.java)!!.insert(character)
return plugin.core.database.getTable(BukkitCharacter::class.java)!!.insert(character)
}

override fun removeCharacter(character: BukkitCharacter) {
val player = character.player
if (player != null)
setActiveCharacter(player, null)
plugin.core!!.database.getTable(BukkitCharacter::class.java)!!.delete(character)
plugin.core.database.getTable(BukkitCharacter::class.java)!!.delete(character)
}

override fun updateCharacter(character: BukkitCharacter) {
if (plugin.config.getBoolean("characters.delete-character-on-death") && character.isDead) {
removeCharacter(character)
} else {
plugin.core!!.database.getTable(BukkitCharacter::class.java)!!.update(character)
plugin.core.database.getTable(BukkitCharacter::class.java)!!.update(character)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class CharacterCardCommand(private val plugin: ElysiumCharactersBukkit) : Comman
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<String>): Boolean {
if (sender is Player) {
if (sender.hasPermission("elysium.characters.command.character.card.self")) {
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val player = playerProvider.getPlayer(sender)
val character = characterProvider.getActiveCharacter(player)
if (character != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ class CharacterDeleteCommand(private val plugin: ElysiumCharactersBukkit) : Comm
characterNameBuilder.append(args[i]).append(" ")
}
characterNameBuilder.append(args[args.size - 1])
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(sender)
var charFound = false
// Prioritise exact matches...
Expand Down Expand Up @@ -90,8 +90,8 @@ class CharacterDeleteCommand(private val plugin: ElysiumCharactersBukkit) : Comm
override fun isInputValid(context: ConversationContext, input: String): Boolean {
val conversable = context.forWhom
if (conversable is Player) {
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(conversable)
for (character in characterProvider.getCharacters(player)) {
if (character.name.equals(input, ignoreCase = true)) {
Expand All @@ -110,8 +110,8 @@ class CharacterDeleteCommand(private val plugin: ElysiumCharactersBukkit) : Comm
override fun acceptValidatedInput(context: ConversationContext, input: String): Prompt {
val conversable = context.forWhom
if (conversable is Player) {
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(conversable)
var charFound = false
// Prioritise exact matches...
Expand Down Expand Up @@ -140,9 +140,9 @@ class CharacterDeleteCommand(private val plugin: ElysiumCharactersBukkit) : Comm
}

override fun getPromptText(context: ConversationContext): String {
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(context.forWhom as Player)
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val characterListBuilder = StringBuilder()
for (character in characterProvider.getCharacters(player)) {
characterListBuilder.append("\n").append(
Expand All @@ -158,7 +158,7 @@ class CharacterDeleteCommand(private val plugin: ElysiumCharactersBukkit) : Comm

override fun acceptValidatedInput(context: ConversationContext, input: Boolean): Prompt? {
if (input) {
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val character = characterProvider.getCharacter(context.getSessionData("character_id") as Int)
characterProvider.removeCharacter(character!!)
return CharacterDeletedPrompt()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class CharacterListCommand(private val plugin: ElysiumCharactersBukkit) : Comman
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<String>): Boolean {
if (sender is Player) {
if (sender.hasPermission("elysium.characters.command.character.list")) {
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(sender)
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.config.getString("messages.character-list-title")))
for (character in characterProvider.getCharacters(player)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
private inner class GenderPrompt : ValidatingPrompt() {

override fun isInputValid(context: ConversationContext, input: String): Boolean {
return plugin.core!!.serviceManager.getServiceProvider(BukkitGenderProvider::class.java).getGender(input) != null
return plugin.core.serviceManager.getServiceProvider(BukkitGenderProvider::class.java).getGender(input) != null
}

override fun acceptValidatedInput(context: ConversationContext, input: String): Prompt {
val genderProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitGenderProvider::class.java)
val genderProvider = plugin.core.serviceManager.getServiceProvider(BukkitGenderProvider::class.java)
context.setSessionData("gender", genderProvider.getGender(input))
return GenderSetPrompt()
}
Expand All @@ -84,7 +84,7 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
}

override fun getPromptText(context: ConversationContext): String {
val genderProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitGenderProvider::class.java)
val genderProvider = plugin.core.serviceManager.getServiceProvider(BukkitGenderProvider::class.java)
val genderListBuilder = StringBuilder()
for (gender in genderProvider.genders) {
genderListBuilder.append(ChatColor.translateAlternateColorCodes('&', plugin.config.getString("messages.gender-list-item")
Expand Down Expand Up @@ -147,11 +147,11 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
private inner class RacePrompt : ValidatingPrompt() {

override fun isInputValid(context: ConversationContext, input: String): Boolean {
return plugin.core!!.serviceManager.getServiceProvider(BukkitRaceProvider::class.java).getRace(input) != null
return plugin.core.serviceManager.getServiceProvider(BukkitRaceProvider::class.java).getRace(input) != null
}

override fun acceptValidatedInput(context: ConversationContext, input: String): Prompt {
val raceProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitRaceProvider::class.java)
val raceProvider = plugin.core.serviceManager.getServiceProvider(BukkitRaceProvider::class.java)
context.setSessionData("race", raceProvider.getRace(input))
return RaceSetPrompt()
}
Expand All @@ -161,7 +161,7 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
}

override fun getPromptText(context: ConversationContext): String {
val raceProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitRaceProvider::class.java)
val raceProvider = plugin.core.serviceManager.getServiceProvider(BukkitRaceProvider::class.java)
val raceListBuilder = StringBuilder()
for (race in raceProvider.races) {
raceListBuilder.append(ChatColor.translateAlternateColorCodes('&', plugin.config.getString("messages.race-list-item")
Expand Down Expand Up @@ -197,8 +197,8 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
if (input.equals("end", ignoreCase = true)) {
val conversable = context.forWhom
if (conversable is Player) {
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val player = playerProvider.getPlayer(conversable)
val character = characterProvider.getActiveCharacter(player)
if (character != null) {
Expand Down Expand Up @@ -237,8 +237,8 @@ class CharacterNewCommand(private val plugin: ElysiumCharactersBukkit) : Command
override fun getPromptText(context: ConversationContext): String {
val conversable = context.forWhom
if (conversable is Player) {
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val player = playerProvider.getPlayer(conversable)
val newCharacter = BukkitCharacter(
plugin = plugin,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class CharacterSetAgeCommand(private val plugin: ElysiumCharactersBukkit) : Comm
override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<String>): Boolean {
if (sender is Player) {
if (sender.hasPermission("elysium.characters.command.character.set.age")) {
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val player = playerProvider.getPlayer(sender)
val character = characterProvider.getActiveCharacter(player)
if (character != null) {
Expand Down Expand Up @@ -82,8 +82,8 @@ class CharacterSetAgeCommand(private val plugin: ElysiumCharactersBukkit) : Comm
override fun acceptValidatedInput(context: ConversationContext, input: Number): Prompt {
val conversable = context.forWhom
if (conversable is Player) {
val playerProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core!!.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val playerProvider = plugin.core.serviceManager.getServiceProvider(BukkitPlayerProvider::class.java)
val characterProvider = plugin.core.serviceManager.getServiceProvider(BukkitCharacterProvider::class.java)
val player = playerProvider.getPlayer(conversable)
val character = characterProvider.getActiveCharacter(player)
if (character != null) {
Expand Down
Loading

0 comments on commit df55ebb

Please sign in to comment.