Compare commits
5 Commits
6.67.3
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f38b59340 | ||
|
|
476faeec61 | ||
|
|
64647e3dad | ||
|
|
dba640f8ee | ||
|
|
f52a760bbe |
@@ -45,9 +45,6 @@ allprojects {
|
|||||||
maven("https://repo.auxilor.io/repository/maven-public/")
|
maven("https://repo.auxilor.io/repository/maven-public/")
|
||||||
maven("https://jitpack.io")
|
maven("https://jitpack.io")
|
||||||
|
|
||||||
// CustomCrafting
|
|
||||||
maven("https://maven.wolfyscript.com/repository/public/")
|
|
||||||
|
|
||||||
// SuperiorSkyblock2
|
// SuperiorSkyblock2
|
||||||
maven("https://repo.bg-software.com/repository/api/")
|
maven("https://repo.bg-software.com/repository/api/")
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,22 @@ public interface LoadableConfig extends Config {
|
|||||||
*/
|
*/
|
||||||
void save() throws IOException;
|
void save() throws IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save the config asynchronously.
|
||||||
|
*/
|
||||||
|
default void saveAsync() {
|
||||||
|
// This default implementation exists purely for backwards compatibility
|
||||||
|
// with legacy Config implementations that don't have saveAsync().
|
||||||
|
// Default eco implementations of Config have saveAsync() implemented.
|
||||||
|
new Thread(() -> {
|
||||||
|
try {
|
||||||
|
this.save();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the config file.
|
* Get the config file.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import java.io.IOException
|
|||||||
import java.io.InputStreamReader
|
import java.io.InputStreamReader
|
||||||
import java.io.OutputStream
|
import java.io.OutputStream
|
||||||
import java.io.Reader
|
import java.io.Reader
|
||||||
|
import java.nio.ByteBuffer
|
||||||
|
import java.nio.channels.AsynchronousFileChannel
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
import java.nio.file.StandardOpenOption
|
import java.nio.file.StandardOpenOption
|
||||||
|
|
||||||
@@ -74,6 +76,20 @@ open class EcoLoadableConfig(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun saveAsync() {
|
||||||
|
// Save asynchronously using NIO
|
||||||
|
AsynchronousFileChannel.open(
|
||||||
|
configFile.toPath(),
|
||||||
|
StandardOpenOption.WRITE,
|
||||||
|
StandardOpenOption.CREATE
|
||||||
|
).use { channel ->
|
||||||
|
channel.write(
|
||||||
|
ByteBuffer.wrap(this.toPlaintext().toByteArray()),
|
||||||
|
0
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun makeHeader(contents: String) {
|
private fun makeHeader(contents: String) {
|
||||||
header.clear()
|
header.clear()
|
||||||
|
|
||||||
|
|||||||
@@ -48,9 +48,8 @@ dependencies {
|
|||||||
compileOnly("com.bgsoftware:SuperiorSkyblockAPI:1.8.3")
|
compileOnly("com.bgsoftware:SuperiorSkyblockAPI:1.8.3")
|
||||||
compileOnly("com.github.MilkBowl:VaultAPI:1.7")
|
compileOnly("com.github.MilkBowl:VaultAPI:1.7")
|
||||||
compileOnly("com.github.WhipDevelopment:CrashClaim:f9cd7d92eb")
|
compileOnly("com.github.WhipDevelopment:CrashClaim:f9cd7d92eb")
|
||||||
compileOnly("com.wolfyscript.wolfyutilities:wolfyutilities:3.16.0.0")
|
|
||||||
compileOnly("com.github.decentsoftware-eu:decentholograms:2.8.5")
|
compileOnly("com.github.decentsoftware-eu:decentholograms:2.8.5")
|
||||||
compileOnly("com.github.Gypopo:EconomyShopGUI-API:1.4.6")
|
compileOnly("com.github.Gypopo:EconomyShopGUI-API:1.7.0")
|
||||||
compileOnly("com.github.N0RSKA:ScytherAPI:55a")
|
compileOnly("com.github.N0RSKA:ScytherAPI:55a")
|
||||||
compileOnly("org.black_ixx:playerpoints:3.2.5")
|
compileOnly("org.black_ixx:playerpoints:3.2.5")
|
||||||
compileOnly("com.github.Ssomar-Developement:SCore:3.4.7")
|
compileOnly("com.github.Ssomar-Developement:SCore:3.4.7")
|
||||||
|
|||||||
@@ -261,6 +261,8 @@ abstract class EcoSpigotPlugin : EcoPlugin() {
|
|||||||
profileHandler.migrateIfNeeded()
|
profileHandler.migrateIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
profileHandler.startAutosaving()
|
||||||
|
|
||||||
ProfileSaver(this, profileHandler).startTicking()
|
ProfileSaver(this, profileHandler).startTicking()
|
||||||
|
|
||||||
this.scheduler.runTimer(
|
this.scheduler.runTimer(
|
||||||
|
|||||||
@@ -169,4 +169,17 @@ class ProfileHandler(
|
|||||||
localHandler.initialize()
|
localHandler.initialize()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun startAutosaving() {
|
||||||
|
if (!plugin.configYml.getBool("yaml.autosave")) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val interval = plugin.configYml.getInt("yaml.autosave-interval") * 20L
|
||||||
|
|
||||||
|
plugin.scheduler.runTimer(20, interval) {
|
||||||
|
handler.saveAsync()
|
||||||
|
localHandler.saveAsync()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ abstract class DataHandler(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun saveAsync() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
open fun initialize() {
|
open fun initialize() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,10 @@ class YamlDataHandler(
|
|||||||
dataYml.save()
|
dataYml.save()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun saveAsync() {
|
||||||
|
dataYml.saveAsync()
|
||||||
|
}
|
||||||
|
|
||||||
override fun <T : Any> read(uuid: UUID, key: PersistentDataKey<T>): T? {
|
override fun <T : Any> read(uuid: UUID, key: PersistentDataKey<T>): T? {
|
||||||
// Separate `as T?` for each branch to prevent compiler warnings.
|
// Separate `as T?` for each branch to prevent compiler warnings.
|
||||||
val value = when (key.type) {
|
val value = when (key.type) {
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ mysql:
|
|||||||
user: username
|
user: username
|
||||||
password: passy
|
password: passy
|
||||||
|
|
||||||
|
yaml:
|
||||||
|
autosave: true # If data should be saved automatically
|
||||||
|
autosave-interval: 1800 # How often data should be saved (in seconds)
|
||||||
|
|
||||||
# How many ticks to wait between committing data to a database. This doesn't
|
# How many ticks to wait between committing data to a database. This doesn't
|
||||||
# affect yaml storage, only MySQL and MongoDB. By default, data is committed
|
# affect yaml storage, only MySQL and MongoDB. By default, data is committed
|
||||||
# every tick, but you can increase this to be every x ticks, for example 20
|
# every tick, but you can increase this to be every x ticks, for example 20
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
version = 6.67.3
|
version = 6.68.0
|
||||||
kotlin.incremental.useClasspathSnapshot=false
|
kotlin.incremental.useClasspathSnapshot=false
|
||||||
Binary file not shown.
BIN
lib/customcrafting-spigot-4.16.8.5.jar
Normal file
BIN
lib/customcrafting-spigot-4.16.8.5.jar
Normal file
Binary file not shown.
BIN
lib/wolfyutils-spigot-4.16.14.1.jar
Normal file
BIN
lib/wolfyutils-spigot-4.16.14.1.jar
Normal file
Binary file not shown.
Reference in New Issue
Block a user