mirror of
https://github.com/RoinujNosde/SimpleClans.git
synced 2026-11-05 01:10:04 -05:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35065bfa78 | ||
|
|
32f9b35d87 | ||
|
|
a1145f2568 | ||
|
|
0406c61b0f |
No files matched your search
@@ -1,5 +1,4 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
|
||||
<artifactId>SimpleClans</artifactId>
|
||||
@@ -86,10 +85,6 @@
|
||||
<pattern>com.google.gson</pattern>
|
||||
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.gson</shadedPattern>
|
||||
</relocation>
|
||||
<relocation>
|
||||
<pattern>com.tcoded.folialib</pattern>
|
||||
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.folialib</shadedPattern>
|
||||
</relocation>
|
||||
</relocations>
|
||||
<artifactSet>
|
||||
<excludes>
|
||||
@@ -99,8 +94,7 @@
|
||||
|
||||
<transformers>
|
||||
<!-- Avoid overlapping MANIFEST.MF file -->
|
||||
<transformer
|
||||
implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
|
||||
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
|
||||
<resource>MANIFEST.MF</resource>
|
||||
</transformer>
|
||||
</transformers>
|
||||
@@ -236,7 +230,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.cryptomorin</groupId>
|
||||
<artifactId>XSeries</artifactId>
|
||||
<version>11.2.0.1</version>
|
||||
<version>13.8.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sk89q</groupId>
|
||||
@@ -267,12 +261,6 @@
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.10.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.tcoded</groupId>
|
||||
<artifactId>FoliaLib</artifactId>
|
||||
<version>0.5.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Test frameworks -->
|
||||
<dependency>
|
||||
@@ -323,10 +311,6 @@
|
||||
<id>eldonexus</id>
|
||||
<url>https://eldonexus.de/repository/maven-public</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>tcoded-releases</id>
|
||||
<url>https://repo.tcoded.com/releases</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
|
||||
@@ -1440,10 +1440,10 @@ public class Clan implements Serializable, Comparable<Clan> {
|
||||
|
||||
SimpleClans.getInstance().getRequestManager().removeRequest(getTag());
|
||||
|
||||
SimpleClans.getInstance().getScheduler().runNextTick(task -> {
|
||||
SimpleClans.getInstance().getServer().getScheduler().scheduleSyncDelayedTask(SimpleClans.getInstance(), () -> {
|
||||
SimpleClans.getInstance().getClanManager().removeClan(getTag());
|
||||
SimpleClans.getInstance().getStorageManager().deleteClan(this);
|
||||
});
|
||||
}, 1);
|
||||
}
|
||||
|
||||
public void disband() {
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans;
|
||||
|
||||
import co.aikar.commands.BukkitCommandIssuer;
|
||||
import com.tcoded.folialib.FoliaLib;
|
||||
import com.tcoded.folialib.impl.PlatformScheduler;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.commands.SCCommandManager;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.papi.SimpleClansExpansion;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.language.LanguageResource;
|
||||
@@ -67,7 +65,6 @@ public class SimpleClans extends JavaPlugin {
|
||||
|
||||
private BankLogger bankLogger;
|
||||
private TagValidator tagValidator;
|
||||
private FoliaLib foliaLib;
|
||||
|
||||
/**
|
||||
* @return the logger
|
||||
@@ -103,7 +100,6 @@ public class SimpleClans extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
foliaLib = new FoliaLib(this);
|
||||
new LanguageMigration(this).migrate();
|
||||
settingsManager = new SettingsManager(this);
|
||||
new BbMigration(settingsManager);
|
||||
@@ -210,14 +206,6 @@ public class SimpleClans extends JavaPlugin {
|
||||
getSettingsManager().loadAndSave();
|
||||
}
|
||||
|
||||
// TODO Replace this with getFoliaLib#getScheduler?
|
||||
public PlatformScheduler getScheduler() {
|
||||
return foliaLib.getScheduler();
|
||||
}
|
||||
|
||||
public FoliaLib getFoliaLib() {
|
||||
return foliaLib;
|
||||
}
|
||||
/**
|
||||
* @return the clanManager
|
||||
*/
|
||||
|
||||
+23
-20
@@ -21,28 +21,31 @@ public class SpigotChatHandler implements ChatHandler {
|
||||
/*
|
||||
TODO: Make it async, change Type to Channel in 3.0
|
||||
*/
|
||||
plugin.getScheduler().runLater(() -> {
|
||||
ChatEvent event = new ChatEvent(message.getContent(), message.getSender(), message.getReceivers(),
|
||||
ChatEvent.Type.valueOf(message.getChannel().name()));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ChatEvent event = new ChatEvent(message.getContent(), message.getSender(), message.getReceivers(),
|
||||
ChatEvent.Type.valueOf(message.getChannel().name()));
|
||||
|
||||
getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
message.setContent(stripColorsAndFormatsPerPermission(message.getSender(),event.getMessage()));
|
||||
|
||||
ConfigField configField = ConfigField.valueOf(String.format("%sCHAT_FORMAT",
|
||||
message.getSource() == DISCORD ? "DISCORD" : message.getChannel()));
|
||||
|
||||
String format = settingsManager.getString(configField);
|
||||
String formattedMessage = chatManager.parseChatFormat(format, message, event.getPlaceholders());
|
||||
|
||||
plugin.getLogger().info(ChatUtils.stripColors(formattedMessage));
|
||||
|
||||
for (ClanPlayer cp : message.getReceivers()) {
|
||||
ChatBlock.sendMessage(cp, formattedMessage);
|
||||
}
|
||||
}
|
||||
message.setContent(stripColorsAndFormatsPerPermission(message.getSender(),event.getMessage()));
|
||||
|
||||
ConfigField configField = ConfigField.valueOf(String.format("%sCHAT_FORMAT",
|
||||
message.getSource() == DISCORD ? "DISCORD" : message.getChannel()));
|
||||
|
||||
String format = settingsManager.getString(configField);
|
||||
String formattedMessage = chatManager.parseChatFormat(format, message, event.getPlaceholders());
|
||||
|
||||
plugin.getLogger().info(ChatUtils.stripColors(formattedMessage));
|
||||
|
||||
for (ClanPlayer cp : message.getReceivers()) {
|
||||
ChatBlock.sendMessage(cp, formattedMessage);
|
||||
}
|
||||
}, 0);
|
||||
}.runTask(plugin);
|
||||
}
|
||||
|
||||
private String stripColorsAndFormatsPerPermission(ClanPlayer sender, String message) {
|
||||
|
||||
@@ -79,8 +79,12 @@ public class BankCommand extends BaseCommand {
|
||||
} else {
|
||||
clan.setBalance(operator, REVERT, BankLogger.Operation.WITHDRAW, clan.getBalance() + amount);
|
||||
}
|
||||
break;
|
||||
case NOT_ENOUGH_BALANCE:
|
||||
player.sendMessage(lang("clan.bank.not.enough.money", player));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,16 +27,19 @@ public class Kills extends Sendable {
|
||||
|
||||
@Override
|
||||
public void send() {
|
||||
plugin.getStorageManager().getKillsPerPlayer(polled, data -> plugin.getScheduler().runAtEntity(player, task -> {
|
||||
if (data.isEmpty()) {
|
||||
ChatBlock.sendMessage(player, ChatColor.RED + lang("nokillsfound", player));
|
||||
return;
|
||||
}
|
||||
configureAndSendHeader();
|
||||
addLines(data);
|
||||
plugin.getStorageManager().getKillsPerPlayer(polled, data -> new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (data.isEmpty()) {
|
||||
ChatBlock.sendMessage(player, ChatColor.RED + lang("nokillsfound", player));
|
||||
return;
|
||||
}
|
||||
configureAndSendHeader();
|
||||
addLines(data);
|
||||
|
||||
sendBlock();
|
||||
}));
|
||||
sendBlock();
|
||||
}
|
||||
}.runTask(plugin));
|
||||
}
|
||||
|
||||
private void addLines(Map<String, Integer> data) {
|
||||
|
||||
@@ -25,22 +25,25 @@ public class MostKilled extends Sendable {
|
||||
|
||||
@Override
|
||||
public void send() {
|
||||
plugin.getStorageManager().getMostKilled(data -> plugin.getScheduler().runAtEntity(player, task -> {
|
||||
if (data.isEmpty()) {
|
||||
ChatBlock.sendMessage(player, RED + lang("nokillsfound", player));
|
||||
return;
|
||||
plugin.getStorageManager().getMostKilled(data -> new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (data.isEmpty()) {
|
||||
ChatBlock.sendMessage(player, RED + lang("nokillsfound", player));
|
||||
return;
|
||||
}
|
||||
|
||||
sendHeader();
|
||||
|
||||
Map<String, Integer> killsPerPlayer = Helper.sortByValue(data);
|
||||
|
||||
for (Map.Entry<String, Integer> attackerVictim : killsPerPlayer.entrySet()) {
|
||||
addLine(attackerVictim);
|
||||
}
|
||||
|
||||
sendBlock();
|
||||
}
|
||||
|
||||
sendHeader();
|
||||
|
||||
Map<String, Integer> killsPerPlayer = Helper.sortByValue(data);
|
||||
|
||||
for (Map.Entry<String, Integer> attackerVictim : killsPerPlayer.entrySet()) {
|
||||
addLine(attackerVictim);
|
||||
}
|
||||
|
||||
sendBlock();
|
||||
}));
|
||||
}.runTask(plugin));
|
||||
}
|
||||
|
||||
private void addLine(Map.Entry<String, Integer> attackerVictim) {
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ public class CreateClanNamePrompt extends StringPrompt {
|
||||
if (errorPrompt != null) return errorPrompt;
|
||||
|
||||
String finalClanName = clanName;
|
||||
plugin.getScheduler().runNextTick((task) -> {
|
||||
Bukkit.getScheduler().runTask(plugin, () -> {
|
||||
String tag = (String) context.getSessionData(TAG_KEY);
|
||||
//noinspection ConstantConditions
|
||||
PreCreateClanEvent event = new PreCreateClanEvent(player, tag, finalClanName);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.conversation;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import org.bukkit.conversations.Conversable;
|
||||
import org.bukkit.conversations.Conversation;
|
||||
import org.bukkit.conversations.ConversationCanceller;
|
||||
@@ -49,10 +48,6 @@ public class SCConversation extends Conversation {
|
||||
}
|
||||
|
||||
public void addConversationCanceller(@NotNull ConversationCanceller canceller) {
|
||||
// not supported yet by Folia, https://github.com/PaperMC/Folia/issues/216
|
||||
if (SimpleClans.getInstance().getFoliaLib().isFolia()) {
|
||||
return;
|
||||
}
|
||||
canceller.setConversation(this);
|
||||
cancellers.add(canceller);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ public class SCPlayerListener extends SCListener {
|
||||
ClanPlayer cp = plugin.getClanManager().getClanPlayer(event.getPlayer());
|
||||
if (cp != null) {
|
||||
Clan clan = Objects.requireNonNull(cp.getClan());
|
||||
plugin.getScheduler().runNextTick((task) -> {
|
||||
Bukkit.getScheduler().runTask(plugin, () -> {
|
||||
if (clan.getOnlineMembers().isEmpty()) {
|
||||
plugin.getProtectionManager().setWarExpirationTime(cp.getClan(),
|
||||
settingsManager.getMinutes(WAR_DISCONNECT_EXPIRATION_TIME));
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.managers;
|
||||
|
||||
import com.tcoded.folialib.wrapper.task.WrappedTask;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
@@ -15,6 +14,7 @@ import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -32,7 +32,7 @@ public class ProtectionManager {
|
||||
private final SettingsManager settingsManager;
|
||||
private final ClanManager clanManager;
|
||||
private final Logger logger;
|
||||
private final Map<War, WrappedTask> wars = new HashMap<>();
|
||||
private final Map<War, BukkitTask> wars = new HashMap<>();
|
||||
private final List<ProtectionProvider> providers = new ArrayList<>();
|
||||
private LandProtection landProtection;
|
||||
private final SimpleClans plugin;
|
||||
@@ -46,7 +46,7 @@ public class ProtectionManager {
|
||||
return;
|
||||
}
|
||||
//running on next tick, so all plugins are already loaded
|
||||
plugin.getScheduler().runNextTick((task) -> registerProviders()) ;
|
||||
Bukkit.getScheduler().runTask(plugin, this::registerProviders);
|
||||
clearWars();
|
||||
}
|
||||
|
||||
@@ -149,10 +149,11 @@ public class ProtectionManager {
|
||||
return true;
|
||||
}
|
||||
|
||||
private WrappedTask scheduleTask(@NotNull War war, int expirationTime) {
|
||||
WrappedTask timeoutTask = null;
|
||||
@Nullable
|
||||
private BukkitTask scheduleTask(@NotNull War war, int expirationTime) {
|
||||
BukkitTask timeoutTask = null;
|
||||
if (expirationTime > 0) {
|
||||
timeoutTask = plugin.getScheduler().runLater(() -> new WarTimeoutTask(war), expirationTime);
|
||||
timeoutTask = Bukkit.getScheduler().runTaskLater(plugin, new WarTimeoutTask(war), expirationTime);
|
||||
}
|
||||
return timeoutTask;
|
||||
}
|
||||
@@ -161,12 +162,12 @@ public class ProtectionManager {
|
||||
if (expirationTime < 1) {
|
||||
return;
|
||||
}
|
||||
for (Map.Entry<War, WrappedTask> entry : wars.entrySet()) {
|
||||
for (Map.Entry<War, BukkitTask> entry : wars.entrySet()) {
|
||||
War war = entry.getKey();
|
||||
if (!war.getClans().contains(clan)) {
|
||||
continue;
|
||||
}
|
||||
WrappedTask task = entry.getValue();
|
||||
BukkitTask task = entry.getValue();
|
||||
if (task != null && !task.isCancelled()) {
|
||||
task.cancel();
|
||||
}
|
||||
|
||||
@@ -442,21 +442,26 @@ public final class RequestManager {
|
||||
* Starts the task that asks for the votes of all requests
|
||||
*/
|
||||
public void askerTask() {
|
||||
plugin.getScheduler().runTimerAsync(() -> {
|
||||
for (Iterator<Map.Entry<String, Request>> iter = requests.entrySet().iterator(); iter.hasNext(); ) {
|
||||
Request req = iter.next().getValue();
|
||||
if (req == null) {
|
||||
continue;
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
|
||||
if (req.reachedRequestLimit()) {
|
||||
iter.remove();
|
||||
}
|
||||
@Override
|
||||
public void run() {
|
||||
for (Iterator<Map.Entry<String, Request>> iter = requests.entrySet().iterator(); iter.hasNext(); ) {
|
||||
Request req = iter.next().getValue();
|
||||
|
||||
ask(req);
|
||||
req.incrementAskCount();
|
||||
if (req == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (req.reachedRequestLimit()) {
|
||||
iter.remove();
|
||||
}
|
||||
|
||||
ask(req);
|
||||
req.incrementAskCount();
|
||||
}
|
||||
}
|
||||
}, 0, plugin.getSettingsManager().getSeconds(REQUEST_FREQUENCY));
|
||||
}.runTaskTimerAsynchronously(plugin, 0, plugin.getSettingsManager().getSeconds(REQUEST_FREQUENCY));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -483,6 +488,6 @@ public final class RequestManager {
|
||||
}
|
||||
}
|
||||
|
||||
plugin.getScheduler().runNextTick((task) -> Bukkit.getPluginManager().callEvent(new RequestEvent(req)));
|
||||
Bukkit.getScheduler().runTask(plugin, () -> Bukkit.getPluginManager().callEvent(new RequestEvent(req)));
|
||||
}
|
||||
}
|
||||
@@ -718,7 +718,12 @@ public final class StorageManager {
|
||||
*/
|
||||
@Deprecated
|
||||
public void updateClanAsync(final Clan clan) {
|
||||
plugin.getScheduler().runAsync(task -> updateClan(clan));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateClan(clan);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -727,7 +732,12 @@ public final class StorageManager {
|
||||
* @param cp to update
|
||||
*/
|
||||
public void updatePlayerNameAsync(final @NotNull ClanPlayer cp) {
|
||||
plugin.getScheduler().runAsync(task -> updatePlayerName(cp));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updatePlayerName(cp);
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -920,7 +930,7 @@ public final class StorageManager {
|
||||
* @param type the kill type
|
||||
*/
|
||||
public void insertKill(@NotNull ClanPlayer attacker, @NotNull ClanPlayer victim, @NotNull String type, @NotNull LocalDateTime time) {
|
||||
String query = "INSERT INTO `sc_kills` ( `attacker_uuid`, `attacker`, `attacker_tag`, `victim_uuid`, " +
|
||||
String query = "INSERT INTO `" + getPrefixedTable("kills") + "` ( `attacker_uuid`, `attacker`, `attacker_tag`, `victim_uuid`, " +
|
||||
"`victim`, `victim_tag`, `kill_type`, `created_at`) ";
|
||||
String values = "VALUES ( '" + attacker.getUniqueId() + "','" + attacker.getName() + "','" + attacker.getTag()
|
||||
+ "','" + victim.getUniqueId() + "','" + victim.getName() + "','" + victim.getTag() + "','" + type + "','" + time + "');";
|
||||
@@ -1022,7 +1032,13 @@ public final class StorageManager {
|
||||
* @param callback the callback
|
||||
*/
|
||||
public void getMostKilled(DataCallback<Map<String, Integer>> callback) {
|
||||
plugin.getScheduler().runAsync(task -> callback.onResultReady(getMostKilled()));
|
||||
new BukkitRunnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
callback.onResultReady(getMostKilled());
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1030,7 +1046,12 @@ public final class StorageManager {
|
||||
*
|
||||
*/
|
||||
public void getKillsPerPlayer(final String playerName, final DataCallback<Map<String, Integer>> callback) {
|
||||
plugin.getScheduler().runAsync(task -> callback.onResultReady(getKillsPerPlayer(playerName)));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
callback.onResultReady(getKillsPerPlayer(playerName));
|
||||
}
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1154,7 +1175,7 @@ public final class StorageManager {
|
||||
|
||||
// From 2.19.3 to 2.20.0
|
||||
if (!core.existsColumn(getPrefixedTable("kills"), "created_at")) {
|
||||
query = "ALTER TABLE sc_kills ADD `created_at` datetime NULL;";
|
||||
query = "ALTER TABLE `" + getPrefixedTable("kills") + "` ADD `created_at` datetime NULL;";
|
||||
core.execute(query);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.managers;
|
||||
|
||||
import io.papermc.lib.PaperLib;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanPlayerTeleportEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
@@ -79,7 +80,7 @@ public final class TeleportManager {
|
||||
}
|
||||
|
||||
public void teleportToHome(@NotNull Player player, @NotNull Location destination, @NotNull String clanName) {
|
||||
plugin.getScheduler().teleportAsync(player, getSafe(destination), PlayerTeleportEvent.TeleportCause.COMMAND).thenAccept(result -> {
|
||||
PaperLib.teleportAsync(player, getSafe(destination), PlayerTeleportEvent.TeleportCause.COMMAND).thenAccept(result -> {
|
||||
if (result) {
|
||||
ChatBlock.sendMessage(player, AQUA + lang("now.at.homebase", player, clanName));
|
||||
} else {
|
||||
@@ -150,7 +151,7 @@ public final class TeleportManager {
|
||||
}
|
||||
|
||||
private void startCounter() {
|
||||
plugin.getScheduler().runTimer(() -> {
|
||||
plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, () -> {
|
||||
waitingPlayers.values().removeIf(ts -> ts.getPlayer() == null);
|
||||
for (Iterator<TeleportState> iter = waitingPlayers.values().iterator(); iter.hasNext(); ) {
|
||||
TeleportState state = iter.next();
|
||||
@@ -174,7 +175,7 @@ public final class TeleportManager {
|
||||
|
||||
state.setProcessing(false);
|
||||
}
|
||||
}, 0, 20);
|
||||
}, 0, 20L);
|
||||
}
|
||||
|
||||
private void teleport(TeleportState state) {
|
||||
|
||||
@@ -59,7 +59,7 @@ public final class BungeeManager implements ProxyManager, PluginMessageListener
|
||||
}
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord");
|
||||
Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "BungeeCord", this);
|
||||
plugin.getScheduler().runTimer(this::requestPlayerList, 0, 60 * 20);
|
||||
Bukkit.getScheduler().runTaskTimer(plugin, this::requestPlayerList, 0, 60 * 20);
|
||||
requestServerName();
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public final class BungeeManager implements ProxyManager, PluginMessageListener
|
||||
}
|
||||
|
||||
private void requestServerName() {
|
||||
plugin.getScheduler().runTimer(task -> {
|
||||
Bukkit.getScheduler().runTaskTimer(plugin, task -> {
|
||||
if (!serverName.isEmpty()) {
|
||||
task.cancel();
|
||||
return;
|
||||
|
||||
@@ -38,7 +38,6 @@ public interface DBCore {
|
||||
|
||||
/**
|
||||
* Execute a select statement
|
||||
*
|
||||
* @param query the query
|
||||
* @return the result set or null if the query failed
|
||||
*/
|
||||
@@ -53,7 +52,6 @@ public interface DBCore {
|
||||
|
||||
/**
|
||||
* Execute a statement
|
||||
*
|
||||
* @param query the query
|
||||
* @return true if the statement was executed
|
||||
*/
|
||||
@@ -69,7 +67,6 @@ public interface DBCore {
|
||||
|
||||
/**
|
||||
* Check whether a table exists
|
||||
*
|
||||
* @param table the table
|
||||
* @return true if the table exists
|
||||
*/
|
||||
@@ -86,7 +83,7 @@ public interface DBCore {
|
||||
/**
|
||||
* Check whether a column exists
|
||||
*
|
||||
* @param table the table
|
||||
* @param table the table
|
||||
* @param column the column
|
||||
* @return true if the column exists
|
||||
*/
|
||||
@@ -115,7 +112,7 @@ public interface DBCore {
|
||||
}
|
||||
};
|
||||
if (plugin.getSettingsManager().is(ConfigField.PERFORMANCE_USE_THREADS)) {
|
||||
plugin.getScheduler().runLaterAsync(executeUpdate, 0);
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, executeUpdate);
|
||||
} else {
|
||||
executeUpdate.run();
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ public class CollectFeeTask extends BukkitRunnable {
|
||||
int hour = sm.getInt(TASKS_COLLECT_FEE_HOUR);
|
||||
int minute = sm.getInt(TASKS_COLLECT_FEE_MINUTE);
|
||||
long delay = Helper.getDelayTo(hour, minute);
|
||||
|
||||
plugin.getScheduler().runTimer(this, delay * 20, 86400 * 20);
|
||||
|
||||
this.runTaskTimer(plugin, delay * 20, 86400 * 20);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,7 +35,7 @@ public class CollectUpkeepTask extends BukkitRunnable {
|
||||
int minute = settingsManager.getInt(TASKS_COLLECT_UPKEEP_MINUTE);
|
||||
long delay = Helper.getDelayTo(hour, minute);
|
||||
|
||||
plugin.getScheduler().runTimerAsync(this, delay * 20, 86400 * 20);
|
||||
this.runTaskTimer(plugin, delay * 20, 86400 * 20);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,7 +27,7 @@ public class PlayerHeadCacheTask extends BukkitRunnable {
|
||||
*/
|
||||
public void start() {
|
||||
int hour = 3600;
|
||||
plugin.getScheduler().runTimerAsync(this, 0, (hour + 60) * 20);
|
||||
this.runTaskTimerAsynchronously(plugin, 0, (hour + 60) * 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,7 +19,7 @@ public class SaveDataTask extends BukkitRunnable {
|
||||
*/
|
||||
public void start() {
|
||||
long interval = plugin.getSettingsManager().getMinutes(PERFORMANCE_SAVE_INTERVAL);
|
||||
plugin.getScheduler().runTimerAsync(this, interval, interval);
|
||||
runTaskTimerAsynchronously(plugin, interval, interval);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,7 +31,8 @@ public class UpkeepWarningTask extends BukkitRunnable {
|
||||
int hour = sm.getInt(TASKS_COLLECT_UPKEEP_WARNING_HOUR);
|
||||
int minute = sm.getInt(TASKS_COLLECT_UPKEEP_WARNING_MINUTE);
|
||||
long delay = Helper.getDelayTo(hour, minute);
|
||||
plugin.getScheduler().runTimer(this, delay * 20, 86400 * 20);
|
||||
|
||||
this.runTaskTimer(plugin, delay * 20, 86400 * 20);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,7 +25,6 @@ import java.util.*;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager.ConfigField.COMMANDS_CLAN;
|
||||
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -92,7 +91,7 @@ public class InventoryController implements Listener {
|
||||
}
|
||||
|
||||
Runnable finalListener = listener;
|
||||
SimpleClans.getInstance().getScheduler().runAtEntity(entity, task -> {
|
||||
Bukkit.getScheduler().runTask(SimpleClans.getInstance(), () -> {
|
||||
ItemStack currentItem = event.getCurrentItem();
|
||||
if (currentItem == null) return;
|
||||
|
||||
@@ -178,17 +177,21 @@ public class InventoryController implements Listener {
|
||||
SimpleClans plugin = SimpleClans.getInstance();
|
||||
String baseCommand = plugin.getSettingsManager().getString(COMMANDS_CLAN);
|
||||
String finalCommand = String.format("%s %s ", baseCommand, subcommand) + String.join(" ", args);
|
||||
plugin.getScheduler().runAtEntity(player, task -> {
|
||||
player.performCommand(finalCommand);
|
||||
if (!update) {
|
||||
player.closeInventory();
|
||||
} else {
|
||||
SCFrame currentFrame = frames.get(player.getUniqueId());
|
||||
if (currentFrame instanceof ConfirmationFrame) {
|
||||
currentFrame = currentFrame.getParent();
|
||||
new BukkitRunnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
player.performCommand(finalCommand);
|
||||
if (!update) {
|
||||
player.closeInventory();
|
||||
} else {
|
||||
SCFrame currentFrame = frames.get(player.getUniqueId());
|
||||
if (currentFrame instanceof ConfirmationFrame) {
|
||||
currentFrame = currentFrame.getParent();
|
||||
}
|
||||
InventoryDrawer.open(currentFrame);
|
||||
}
|
||||
InventoryDrawer.open(currentFrame);
|
||||
}
|
||||
});
|
||||
}.runTask(plugin);
|
||||
}
|
||||
}
|
||||
@@ -35,19 +35,19 @@ public class InventoryDrawer {
|
||||
return;
|
||||
}
|
||||
|
||||
FrameOpenEvent event = new FrameOpenEvent(frame.getViewer(), frame);
|
||||
FrameOpenEvent event = new FrameOpenEvent(frame.getViewer(), frame);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
OPENING.put(uuid, frame);
|
||||
plugin.getScheduler().runAsync(task -> {
|
||||
Inventory inventory = prepareInventory(frame);
|
||||
}
|
||||
OPENING.put(uuid, frame);
|
||||
Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> {
|
||||
Inventory inventory = prepareInventory(frame);
|
||||
|
||||
if (!frame.equals(OPENING.get(uuid))) {
|
||||
return;
|
||||
}
|
||||
plugin.getScheduler().runAtEntity(frame.getViewer(), syncTask -> {
|
||||
Bukkit.getScheduler().runTask(plugin, () -> {
|
||||
frame.getViewer().openInventory(inventory);
|
||||
InventoryController.register(frame);
|
||||
OPENING.remove(uuid);
|
||||
@@ -70,6 +70,7 @@ public class InventoryDrawer {
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @deprecated use {@link InventoryDrawer#open(SCFrame)}
|
||||
*/
|
||||
@Deprecated
|
||||
@@ -121,7 +122,7 @@ public class InventoryDrawer {
|
||||
}
|
||||
|
||||
private static void runHelpCommand(@NotNull Player player) {
|
||||
plugin.getServer().getConsoleSender().sendMessage(lang("gui.not.supported"));
|
||||
Bukkit.getScheduler().runTask(plugin, () -> plugin.getServer().getConsoleSender().sendMessage(lang("gui.not.supported")));
|
||||
SettingsManager settingsManager = plugin.getSettingsManager();
|
||||
settingsManager.set(ENABLE_GUI, false);
|
||||
String commandClan = settingsManager.getString(COMMANDS_CLAN);
|
||||
@@ -147,10 +148,10 @@ public class InventoryDrawer {
|
||||
}
|
||||
|
||||
private static boolean hasPermission(@NotNull Player viewer, @NotNull Object permission) {
|
||||
if (permission instanceof String) {
|
||||
return plugin.getPermissionsManager().has(viewer, (String) permission);
|
||||
}
|
||||
return plugin.getPermissionsManager().has(viewer, (RankPermission) permission, false);
|
||||
}
|
||||
if (permission instanceof String) {
|
||||
return plugin.getPermissionsManager().has(viewer, (String) permission);
|
||||
}
|
||||
return plugin.getPermissionsManager().has(viewer, (RankPermission) permission, false);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -37,31 +37,35 @@ public class UpdateChecker {
|
||||
*
|
||||
*/
|
||||
public void check() {
|
||||
plugin.getScheduler().runAsync(task -> {
|
||||
try {
|
||||
URL url = new URL(LATEST_VERSION_URL);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.addRequestProperty("User-Agent", userAgent);
|
||||
InputStreamReader reader = new InputStreamReader(connection.getInputStream());
|
||||
new BukkitRunnable() {
|
||||
|
||||
JsonElement parse = JsonParser.parseReader(reader);
|
||||
if (parse.isJsonObject()) {
|
||||
String latestVersion = parse.getAsJsonObject().get("name").getAsString();
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
URL url = new URL(LATEST_VERSION_URL);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.addRequestProperty("User-Agent", userAgent);
|
||||
InputStreamReader reader = new InputStreamReader(connection.getInputStream());
|
||||
|
||||
JsonElement parse = JsonParser.parseReader(reader);
|
||||
if (parse.isJsonObject()) {
|
||||
String latestVersion = parse.getAsJsonObject().get("name").getAsString();
|
||||
|
||||
if (compareVersions(version, latestVersion) < 0) {
|
||||
plugin.getLogger().info(String.format("You're running an outdated version (%s).", version));
|
||||
plugin.getLogger().info(String.format("The latest version is %s. Download it at:", latestVersion));
|
||||
plugin.getLogger().info("https://www.spigotmc.org/resources/simpleclans.71242/");
|
||||
if (compareVersions(version, latestVersion) < 0) {
|
||||
plugin.getLogger().info(String.format("You're running an outdated version (%s).", version));
|
||||
plugin.getLogger().info(String.format("The latest version is %s. Download it at:", latestVersion));
|
||||
plugin.getLogger().info("https://www.spigotmc.org/resources/simpleclans.71242/");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
reader.close();
|
||||
} catch (MalformedURLException ignored) {
|
||||
} catch (IOException | JsonParseException ex) {
|
||||
plugin.getLogger().log(Level.WARNING, "Error checking the plugin version...");
|
||||
}
|
||||
|
||||
reader.close();
|
||||
} catch (MalformedURLException ignored) {
|
||||
} catch (IOException | JsonParseException ex) {
|
||||
plugin.getLogger().log(Level.WARNING, "Error checking the plugin version...");
|
||||
}
|
||||
});
|
||||
}.runTaskAsynchronously(plugin);
|
||||
}
|
||||
|
||||
public static int compareVersions(@NotNull String a, @NotNull String b) {
|
||||
|
||||
@@ -11,7 +11,6 @@ loadbefore:
|
||||
- GriefPrevention
|
||||
- PlotSquared
|
||||
api-version: '1.13'
|
||||
folia-supported: true
|
||||
authors:
|
||||
- Phaed
|
||||
- RoinujNosde
|
||||
|
||||
Reference in new issue
Block a user