Compare commits

...

4 Commits

Author SHA1 Message Date
mohammed jasem alaajel
f4ab43bcb8 added protection to kill current working sub 2020-07-28 10:53:42 +04:00
mohammed jasem alaajel
542884dfe9 added /reloadredis command 2020-07-28 10:44:00 +04:00
ham1255
2e80b57a53 Fixed mongodb url from config is wrong 2020-07-08 12:37:10 +04:00
ham1255
4141bcdfb1 added mongodb, bumped versoin 2020-07-07 18:49:19 +04:00
6 changed files with 91 additions and 8 deletions

View File

@@ -6,7 +6,7 @@
<groupId>net.limework.core</groupId>
<artifactId>LimeworkSpigotCore</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.0.3-fix1-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
@@ -112,5 +112,10 @@
<version>19.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
</project>

View File

@@ -2,6 +2,7 @@ package net.limework.core;
import net.limework.core.guis.ControlGui;
import net.limework.core.hooks.SkriptHook;
import net.limework.core.managers.DataSourcesManager;
import net.limework.core.managers.RedisManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -10,11 +11,15 @@ public class LimeworkSpigotCore extends JavaPlugin {
//Redis manager
private RedisManager rm;
//data
private DataSourcesManager dsm;
@Override
public void onEnable() {
saveDefaultConfig();
rm = new RedisManager(this);
getServer().getPluginCommand("reloadredis").setExecutor(rm);
if (getServer().getPluginManager().getPlugin("Skript") != null) {
new SkriptHook(this);
} else {
@@ -29,6 +34,9 @@ public class LimeworkSpigotCore extends JavaPlugin {
getLogger().info("SOMETHING WENT WRONG WHEN LOADING control gui.");
e.printStackTrace();
}
dsm = new DataSourcesManager(this);
}
@@ -36,10 +44,15 @@ public class LimeworkSpigotCore extends JavaPlugin {
@Override
public void onDisable() {
rm.shutdown();
dsm.shutdown();
}
public RedisManager getRm() {
return rm;
}
public DataSourcesManager getDsm() {
return dsm;
}
}

View File

@@ -0,0 +1,29 @@
package net.limework.core.managers;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import net.limework.core.LimeworkSpigotCore;
import org.bukkit.configuration.Configuration;
public class DataSourcesManager {
private MongoClient mongoClient;
public DataSourcesManager(LimeworkSpigotCore plugin) {
Configuration config = plugin .getConfig();
if (config.getBoolean("Mongodb.enabled")){
mongoClient = MongoClients.create(config.getString("Mongodb.url"));
}
}
public void shutdown(){
mongoClient.close();
}
public MongoClient getMongoClient() {
return mongoClient;
}
}

View File

@@ -3,10 +3,16 @@ package net.limework.core.managers;
import net.limework.Data.Encryption;
import net.limework.core.LimeworkSpigotCore;
import net.limework.core.events.RedisMessageEvent;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.Configuration;
import org.bukkit.entity.Player;
import org.cryptomator.siv.UnauthenticCiphertextException;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
import redis.clients.jedis.BinaryJedis;
import redis.clients.jedis.BinaryJedisPubSub;
@@ -19,7 +25,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
public class RedisManager extends BinaryJedisPubSub implements Runnable{
public class RedisManager extends BinaryJedisPubSub implements Runnable, CommandExecutor {
private LimeworkSpigotCore plugin;
@@ -27,7 +33,6 @@ public class RedisManager extends BinaryJedisPubSub implements Runnable{
private ExecutorService RedisService;
//sub
private BinaryJedis subscribeJedis;
private List<String> channels;
@@ -51,7 +56,10 @@ public class RedisManager extends BinaryJedisPubSub implements Runnable{
config.getString("Redis.Password"),
config.getBoolean("Redis.useSSL"));
RedisService = Executors.newFixedThreadPool(config.getInt("Redis.Threads"));
try{this.subscribeJedis = this.jedisPool.getResource(); }catch (Exception ignored){}
try {
this.subscribeJedis = this.jedisPool.getResource();
} catch (Exception ignored) {
}
this.channels = config.getStringList("Channels");
encryption = new Encryption(config);
@@ -92,7 +100,9 @@ public class RedisManager extends BinaryJedisPubSub implements Runnable{
} catch (Exception e) {
message("&e[Jedis] &cConnection to redis has failed! &ereconnecting...");
if (this.subscribeJedis != null){this.subscribeJedis.close();}
if (this.subscribeJedis != null) {
this.subscribeJedis.close();
}
isRedisOnline.set(false);
}
try {
@@ -161,4 +171,23 @@ public class RedisManager extends BinaryJedisPubSub implements Runnable{
public Encryption getEncryption() {
return encryption;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
if (sender instanceof Player) {
sender.sendMessage(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&'
, "&c&lYou can not execute this command!!!!!!")));
return true;
}
try {
if (this.subscribeJedis != null) {
this.unsubscribe();
this.subscribeJedis.close();
}
} catch (Exception e) {
e.printStackTrace();
}
start();
return false;
}
}

View File

@@ -15,3 +15,7 @@ Channels:
- "Channel1"
- "Channel2"
- "Channel3"
Mongodb:
enabled: false
url: ""

View File

@@ -9,3 +9,6 @@ commands:
control:
description: "server control"
permission: "admin.use"
reloadredis:
description: "server control"
permission: "admin.use"