Archived
0

Improve database abstractions, add GlobalAddedData, some other things

This commit is contained in:
Dico Karssiens
2018-08-01 16:45:27 +01:00
parent 1ec6dd136b
commit 472e700e04
26 changed files with 726 additions and 487 deletions

View File

@@ -4,6 +4,7 @@ import io.dico.dicore.command.EMessageType
import io.dico.dicore.command.ExecutionContext
import io.dico.dicore.command.annotation.Cmd
import io.dico.dicore.command.annotation.Desc
import io.dico.dicore.command.annotation.Flag
import io.dico.dicore.command.annotation.RequireParameters
import io.dico.parcels2.ParcelOwner
import io.dico.parcels2.ParcelsPlugin
@@ -84,12 +85,22 @@ class CommandsGeneral(plugin: ParcelsPlugin) : AbstractParcelCommands(plugin) {
@Cmd("clear")
@ParcelRequire(owner = true)
fun ParcelScope.cmdClear(context: ExecutionContext) {
fun ParcelScope.cmdClear(context: ExecutionContext, @Flag sure: Boolean): Any? {
if (!sure) return "Are you sure? You cannot undo this action!\n" +
"Type ${context.rawInput} -sure if you want to go through with this."
world.generator.clearParcel(parcel)
.onProgressUpdate(1000, 1000) { progress, elapsedTime ->
context.sendMessage(EMessageType.INFORMATIVE, "Clear progress: %.02f%%, %.2fs elapsed"
.format(progress * 100, elapsedTime / 1000.0))
}
return null
}
@Cmd("swap")
fun ParcelScope.cmdSwap(context: ExecutionContext, @Flag sure: Boolean): Any? {
}
@Cmd("make_mess")

View File

@@ -0,0 +1,23 @@
package io.dico.parcels2.command
import io.dico.parcels2.Parcel
import io.dico.parcels2.ParcelWorld
import io.dico.parcels2.ParcelsPlugin
import kotlinx.coroutines.experimental.Deferred
interface ParcelTarget {
val world: ParcelWorld
val isByID: Boolean
val isByOwner: Boolean get() = !isByID
suspend fun ParcelsPlugin.await(): Parcel?
fun ParcelsPlugin.get(): Deferred<Parcel?> =
}
class ParcelTargetByOwner : ParcelTarget {
override val isByID get() = false
}
class ParcelTargetByID : ParcelTarget {
override val isByID get() = true
}

View File

@@ -7,6 +7,7 @@ import io.dico.dicore.command.parameter.type.ParameterConfig
import io.dico.dicore.command.parameter.type.ParameterType
import io.dico.parcels2.Parcel
import io.dico.parcels2.ParcelWorld
import io.dico.parcels2.ParcelsPlugin
import io.dico.parcels2.Worlds
import io.dico.parcels2.util.isValid
import org.bukkit.Bukkit