mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2026-04-22 00:00:15 +00:00
Folia Support?
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
<groupId>me.SuperRonanCraft</groupId>
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
<artifactId>BetterRTPAddons</artifactId>
|
<artifactId>BetterRTPAddons</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.8.6</version>
|
<version>1.8.7</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>me.SuperRonanCraft</groupId>
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
<artifactId>BetterRTP</artifactId>
|
<artifactId>BetterRTP</artifactId>
|
||||||
<version>3.6.6</version>
|
<version>3.6.7</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- ProtocolLib -->
|
<!-- ProtocolLib -->
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
@@ -32,7 +33,10 @@ public class RTPMenu_Refresh implements Listener {
|
|||||||
|
|
||||||
private void start() {
|
private void start() {
|
||||||
opening = true;
|
opening = true;
|
||||||
RTPMenu_SelectWorld.createInv(addon, player);
|
if (!RTPMenu_SelectWorld.createInv(addon, player)) {
|
||||||
|
cancel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
opening = false;
|
opening = false;
|
||||||
this.task = new BukkitRunnable() {
|
this.task = new BukkitRunnable() {
|
||||||
@Override public void run() {
|
@Override public void run() {
|
||||||
@@ -44,9 +48,21 @@ public class RTPMenu_Refresh implements Listener {
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
void close(InventoryCloseEvent e) {
|
void close(InventoryCloseEvent e) {
|
||||||
if (e.getPlayer() == player && !opening) {
|
if (e.getPlayer() == player && !opening) {
|
||||||
task.cancel();
|
cancel();
|
||||||
HandlerList.unregisterAll(this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
void leave(PlayerQuitEvent e) {
|
||||||
|
if (e.getPlayer() == player) {
|
||||||
|
cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void cancel() {
|
||||||
|
if (task != null)
|
||||||
|
task.cancel();
|
||||||
|
HandlerList.unregisterAll(this);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class RTPMenu_SelectWorld {
|
public class RTPMenu_SelectWorld {
|
||||||
|
|
||||||
public static void createInv(AddonRTPMenu pl, Player p) {
|
public static boolean createInv(AddonRTPMenu pl, Player p) {
|
||||||
List<World> bukkit_worlds = Bukkit.getWorlds();
|
List<World> bukkit_worlds = Bukkit.getWorlds();
|
||||||
List<World> actual_worlds = new ArrayList<>();
|
List<World> actual_worlds = new ArrayList<>();
|
||||||
for (World world : bukkit_worlds) {
|
for (World world : bukkit_worlds) {
|
||||||
@@ -32,7 +32,7 @@ public class RTPMenu_SelectWorld {
|
|||||||
}
|
}
|
||||||
if (actual_worlds.isEmpty() || (actual_worlds.size() <= 1 && !BetterRTP.getInstance().getSettings().isDebug())) {
|
if (actual_worlds.isEmpty() || (actual_worlds.size() <= 1 && !BetterRTP.getInstance().getSettings().isDebug())) {
|
||||||
CmdTeleport.teleport(p, "rtp", null, null);
|
CmdTeleport.teleport(p, "rtp", null, null);
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
int size = Math.floorDiv(actual_worlds.size(), 9) * 9;
|
int size = Math.floorDiv(actual_worlds.size(), 9) * 9;
|
||||||
if (size < actual_worlds.size()) size += 9;
|
if (size < actual_worlds.size()) size += 9;
|
||||||
@@ -58,6 +58,7 @@ public class RTPMenu_SelectWorld {
|
|||||||
pl.getData(p).setMenuInv(inv);
|
pl.getData(p).setMenuInv(inv);
|
||||||
pl.getData(p).setWorldSlots(world_slots);
|
pl.getData(p).setWorldSlots(world_slots);
|
||||||
p.openInventory(inv);
|
p.openInventory(inv);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static HashMap<Integer, World> centerWorlds(List<World> actual_worlds) {
|
private static HashMap<Integer, World> centerWorlds(List<World> actual_worlds) {
|
||||||
|
|||||||
14
pom.xml
14
pom.xml
@@ -175,12 +175,17 @@
|
|||||||
<id>placeholderapi</id>
|
<id>placeholderapi</id>
|
||||||
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||||
</repository>
|
</repository>
|
||||||
<!-- MinePlots Repo -->
|
<!-- MinePlots Repo -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>minecodes-repository-releases</id>
|
<id>minecodes-repository-releases</id>
|
||||||
<name>mineCodes Organization Repository</name>
|
<name>mineCodes Organization Repository</name>
|
||||||
<url>https://repository.minecodes.pl/releases</url>
|
<url>https://repository.minecodes.pl/releases</url>
|
||||||
</repository>
|
</repository>
|
||||||
|
<!-- FoliaLib https://github.com/TechnicallyCoded/FoliaLib -->
|
||||||
|
<repository>
|
||||||
|
<id>devmart-other</id>
|
||||||
|
<url>https://nexuslite.gcnt.net/repos/other/</url>
|
||||||
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!--Spigot API-->
|
<!--Spigot API-->
|
||||||
@@ -375,5 +380,12 @@
|
|||||||
<version>3.4.5</version>
|
<version>3.4.5</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- FoliaLib -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.tcoded</groupId>
|
||||||
|
<artifactId>FoliaLib</artifactId>
|
||||||
|
<version>0.2.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP;
|
package me.SuperRonanCraft.BetterRTP;
|
||||||
|
|
||||||
|
import com.tcoded.folialib.FoliaLib;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.PlayerInfo;
|
import me.SuperRonanCraft.BetterRTP.player.PlayerInfo;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||||
@@ -48,6 +49,7 @@ public class BetterRTP extends JavaPlugin {
|
|||||||
//@Getter private BukkitAudiences adventure;
|
//@Getter private BukkitAudiences adventure;
|
||||||
@Getter private boolean PlaceholderAPI;
|
@Getter private boolean PlaceholderAPI;
|
||||||
@Getter private final RTPLogger rtpLogger = new RTPLogger();
|
@Getter private final RTPLogger rtpLogger = new RTPLogger();
|
||||||
|
@Getter FoliaLib folia = new FoliaLib(this);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
|
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
|
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
|
||||||
@@ -43,7 +44,7 @@ public class CmdQueue implements RTPCommand {
|
|||||||
Player p = (Player) sendi;
|
Player p = (Player) sendi;
|
||||||
//sendi.sendMessage("Loading...");
|
//sendi.sendMessage("Loading...");
|
||||||
World world = args.length > 1 ? Bukkit.getWorld(args[1]) : null;
|
World world = args.length > 1 ? Bukkit.getWorld(args[1]) : null;
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
sendInfo(sendi, queueGetWorld(p, world), label, args);
|
sendInfo(sendi, queueGetWorld(p, world), label, args);
|
||||||
} else
|
} else
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
|
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.web.Updater;
|
import me.SuperRonanCraft.BetterRTP.references.web.Updater;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||||
@@ -16,7 +17,7 @@ public class Join {
|
|||||||
static void event(PlayerJoinEvent e) {
|
static void event(PlayerJoinEvent e) {
|
||||||
Player p = e.getPlayer();
|
Player p = e.getPlayer();
|
||||||
updater(p);
|
updater(p);
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
getPl().getCooldowns().loadPlayer(p);
|
getPl().getCooldowns().loadPlayer(p);
|
||||||
});
|
});
|
||||||
rtpOnFirstJoin(p);
|
rtpOnFirstJoin(p);
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
||||||
|
|
||||||
|
import com.tcoded.folialib.wrapper.WrappedTask;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CancelledEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CancelledEvent;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -10,9 +12,12 @@ import org.bukkit.event.HandlerList;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
class RTPDelay implements Listener {
|
class RTPDelay implements Listener {
|
||||||
private int run;
|
private WrappedTask task;
|
||||||
private final boolean cancelOnMove, cancelOnDamage;
|
private final boolean cancelOnMove, cancelOnDamage;
|
||||||
private final RTPPlayer rtp;
|
private final RTPPlayer rtp;
|
||||||
|
|
||||||
@@ -25,7 +30,7 @@ class RTPDelay implements Listener {
|
|||||||
|
|
||||||
private void delay(CommandSender sendi, int delay) {
|
private void delay(CommandSender sendi, int delay) {
|
||||||
if (!getPl().getRTP().getTeleport().beforeTeleportDelay(rtp.getPlayer(), delay)) {
|
if (!getPl().getRTP().getTeleport().beforeTeleportDelay(rtp.getPlayer(), delay)) {
|
||||||
run = Bukkit.getScheduler().scheduleSyncDelayedTask(BetterRTP.getInstance(), run(sendi, this), delay * 20L);
|
task = FoliaHelper.get().runLater(run(sendi, this), (delay * 20L) * 50L, TimeUnit.MILLISECONDS);
|
||||||
if (cancelOnMove || cancelOnDamage)
|
if (cancelOnMove || cancelOnDamage)
|
||||||
Bukkit.getPluginManager().registerEvents(this, BetterRTP.getInstance());
|
Bukkit.getPluginManager().registerEvents(this, BetterRTP.getInstance());
|
||||||
}
|
}
|
||||||
@@ -56,22 +61,23 @@ class RTPDelay implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void cancel() {
|
private void cancel() {
|
||||||
Bukkit.getScheduler().cancelTask(run);
|
if (task != null)
|
||||||
if (!Bukkit.getScheduler().isCurrentlyRunning(run)) {
|
task.cancel();
|
||||||
HandlerList.unregisterAll(this);
|
HandlerList.unregisterAll(this);
|
||||||
getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer());
|
getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer());
|
||||||
//getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld);
|
//getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld);
|
||||||
getPl().getCooldowns().removeCooldown(rtp.getPlayer(), rtp.worldPlayer.getWorld());
|
getPl().getCooldowns().removeCooldown(rtp.getPlayer(), rtp.worldPlayer.getWorld());
|
||||||
getPl().getpInfo().getRtping().put(rtp.getPlayer(), false);
|
getPl().getpInfo().getRtping().put(rtp.getPlayer(), false);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer()));
|
Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer()));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Runnable run(final CommandSender sendi, final RTPDelay cls) {
|
private BukkitRunnable run(final CommandSender sendi, final RTPDelay cls) {
|
||||||
return () -> {
|
return new BukkitRunnable() {
|
||||||
|
@Override public void run() {
|
||||||
HandlerList.unregisterAll(cls);
|
HandlerList.unregisterAll(cls);
|
||||||
if (getPl().getpInfo().getRtping().containsKey(rtp.getPlayer()))
|
if (getPl().getpInfo().getRtping().containsKey(rtp.getPlayer()))
|
||||||
rtp.randomlyTeleport(sendi);
|
rtp.randomlyTeleport(sendi);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
||||||
|
|
||||||
|
import com.tcoded.folialib.FoliaLib;
|
||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
||||||
@@ -47,7 +49,7 @@ public class RTPPlayer {
|
|||||||
attempts++;
|
attempts++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
Location loc;
|
Location loc;
|
||||||
if (event.getLocation() != null) // && WorldPlayer.checkIsValid(event.getLocation(), pWorld))
|
if (event.getLocation() != null) // && WorldPlayer.checkIsValid(event.getLocation(), pWorld))
|
||||||
loc = event.getLocation();
|
loc = event.getLocation();
|
||||||
@@ -61,7 +63,7 @@ public class RTPPlayer {
|
|||||||
}
|
}
|
||||||
attempts++; //Add an attempt
|
attempts++; //Add an attempt
|
||||||
//Load chunk and find out if safe location (asynchronously)
|
//Load chunk and find out if safe location (asynchronously)
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runNextTick(() -> {
|
||||||
try { //Prior to 1.12 this async chunk will NOT work
|
try { //Prior to 1.12 this async chunk will NOT work
|
||||||
CompletableFuture<Chunk> chunk = PaperLib.getChunkAtAsync(loc);
|
CompletableFuture<Chunk> chunk = PaperLib.getChunkAtAsync(loc);
|
||||||
chunk.thenAccept(result -> {
|
chunk.thenAccept(result -> {
|
||||||
@@ -89,7 +91,7 @@ public class RTPPlayer {
|
|||||||
if (getPl().getEco().charge(player, worldPlayer)) {
|
if (getPl().getEco().charge(player, worldPlayer)) {
|
||||||
tpLoc.setYaw(player.getLocation().getYaw());
|
tpLoc.setYaw(player.getLocation().getYaw());
|
||||||
tpLoc.setPitch(player.getLocation().getPitch());
|
tpLoc.setPitch(player.getLocation().getPitch());
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
|
FoliaHelper.get().runNextTick(() ->
|
||||||
settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -28,8 +28,6 @@ public class RTPTeleport {
|
|||||||
|
|
||||||
private final RTPEffects effects = new RTPEffects();
|
private final RTPEffects effects = new RTPEffects();
|
||||||
|
|
||||||
//public HashMap<Player, List<CompletableFuture<Chunk>>> playerLoads = new HashMap<>();
|
|
||||||
|
|
||||||
void load() {
|
void load() {
|
||||||
effects.load();
|
effects.load();
|
||||||
}
|
}
|
||||||
@@ -71,9 +69,6 @@ public class RTPTeleport {
|
|||||||
getPl().getpInfo().getRtping().remove(p); //No longer rtp'ing (errored)
|
getPl().getpInfo().getRtping().remove(p); //No longer rtp'ing (errored)
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
// }.runTask(getPl());
|
|
||||||
//});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Effects
|
//Effects
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp.effects;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@@ -70,7 +71,7 @@ public class RTPEffect_Particles {
|
|||||||
|
|
||||||
public void display(Player p) {
|
public void display(Player p) {
|
||||||
if (!enabled) return;
|
if (!enabled) return;
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
try { //Incase the library errors out
|
try { //Incase the library errors out
|
||||||
switch (shape) {
|
switch (shape) {
|
||||||
case "TELEPORT":
|
case "TELEPORT":
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package me.SuperRonanCraft.BetterRTP.references.database;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueGenerator;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueGenerator;
|
||||||
@@ -53,7 +54,7 @@ public class DatabaseChunkData extends SQLite {
|
|||||||
|
|
||||||
|
|
||||||
public void addChunk(Chunk chunk, int maxy, Biome biome) {
|
public void addChunk(Chunk chunk, int maxy, Biome biome) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
String pre = "INSERT OR REPLACE INTO ";
|
String pre = "INSERT OR REPLACE INTO ";
|
||||||
String sql = pre + tables.get(0) + " ("
|
String sql = pre + tables.get(0) + " ("
|
||||||
+ COLUMNS.WORLD.name + ", "
|
+ COLUMNS.WORLD.name + ", "
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.database;
|
|||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
@@ -13,7 +14,7 @@ public class DatabaseHandler {
|
|||||||
@Getter private final DatabaseChunkData databaseChunks = new DatabaseChunkData();
|
@Getter private final DatabaseChunkData databaseChunks = new DatabaseChunkData();
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
databasePlayers.load();
|
databasePlayers.load();
|
||||||
databaseCooldowns.load();
|
databaseCooldowns.load();
|
||||||
databaseQueue.load();
|
databaseQueue.load();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import lombok.NonNull;
|
|||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueGenerator;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueGenerator;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@@ -76,6 +77,11 @@ public class DatabaseQueue extends SQLite {
|
|||||||
return queueDataList;
|
return queueDataList;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
@Override public void load() {
|
||||||
|
if (QueueHandler.isEnabled())
|
||||||
|
super.load();
|
||||||
|
}
|
||||||
|
|
||||||
public List<QueueData> getInRange(QueueRangeData range) {
|
public List<QueueData> getInRange(QueueRangeData range) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement ps = null;
|
PreparedStatement ps = null;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package me.SuperRonanCraft.BetterRTP.references.database;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -58,10 +59,9 @@ public abstract class SQLite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
if (!QueueHandler.isEnabled()) return;
|
|
||||||
loaded = false;
|
loaded = false;
|
||||||
tables = getTables();
|
tables = getTables();
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
Connection connection = getSQLConnection();
|
Connection connection = getSQLConnection();
|
||||||
try {
|
try {
|
||||||
Statement s = connection.createStatement();
|
Statement s = connection.createStatement();
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package me.SuperRonanCraft.BetterRTP.references.helpers;
|
||||||
|
|
||||||
|
import com.tcoded.folialib.FoliaLib;
|
||||||
|
import com.tcoded.folialib.impl.ServerImplementation;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
|
||||||
|
public class FoliaHelper {
|
||||||
|
|
||||||
|
public static ServerImplementation get() {
|
||||||
|
return BetterRTP.getInstance().getFolia().getImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableCollection;
|
|||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileData;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileData;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.placeholder.PlaceholderAnalyzer;
|
import me.SuperRonanCraft.BetterRTP.references.messages.placeholder.PlaceholderAnalyzer;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
@@ -23,25 +24,25 @@ public interface Message {
|
|||||||
|
|
||||||
static void sms(Message messenger, CommandSender sendi, String msg) {
|
static void sms(Message messenger, CommandSender sendi, String msg) {
|
||||||
if (!msg.isEmpty())
|
if (!msg.isEmpty())
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
|
FoliaHelper.get().runNextTick(() ->
|
||||||
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg)));
|
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sms(Message messenger, CommandSender sendi, String msg, Object placeholderInfo) {
|
static void sms(Message messenger, CommandSender sendi, String msg, Object placeholderInfo) {
|
||||||
if (!msg.isEmpty())
|
if (!msg.isEmpty())
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
|
FoliaHelper.get().runNextTick(() ->
|
||||||
sendi.sendMessage(Objects.requireNonNull(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo))));
|
sendi.sendMessage(Objects.requireNonNull(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo))));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sms(Message messenger, CommandSender sendi, String msg, List<Object> placeholderInfo) {
|
static void sms(Message messenger, CommandSender sendi, String msg, List<Object> placeholderInfo) {
|
||||||
if (!msg.isEmpty())
|
if (!msg.isEmpty())
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
|
FoliaHelper.get().runNextTick(() ->
|
||||||
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo)));
|
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sms(CommandSender sendi, List<String> msg, Object placeholderInfo) {
|
static void sms(CommandSender sendi, List<String> msg, Object placeholderInfo) {
|
||||||
if (msg != null && !msg.isEmpty()) {
|
if (msg != null && !msg.isEmpty()) {
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runNextTick(() -> {
|
||||||
msg.forEach(str -> msg.set(msg.indexOf(str), placeholder(sendi, str, placeholderInfo)));
|
msg.forEach(str -> msg.set(msg.indexOf(str), placeholder(sendi, str, placeholderInfo)));
|
||||||
sendi.sendMessage(msg.toArray(new String[0]));
|
sendi.sendMessage(msg.toArray(new String[0]));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
|||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
@@ -18,6 +19,7 @@ import javax.annotation.Nullable;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class CooldownHandler {
|
public class CooldownHandler {
|
||||||
|
|
||||||
@@ -43,7 +45,7 @@ public class CooldownHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void queueDownload() {
|
private void queueDownload() {
|
||||||
Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runLaterAsync(() -> {
|
||||||
if (cooldownByWorld && !DatabaseHandler.getCooldowns().isLoaded()) {
|
if (cooldownByWorld && !DatabaseHandler.getCooldowns().isLoaded()) {
|
||||||
queueDownload();
|
queueDownload();
|
||||||
return;
|
return;
|
||||||
@@ -57,7 +59,7 @@ public class CooldownHandler {
|
|||||||
for (Player p : Bukkit.getOnlinePlayers())
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
loadPlayer(p);
|
loadPlayer(p);
|
||||||
loaded = true;
|
loaded = true;
|
||||||
}, 10L);
|
}, 10L * 50L, TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Player player, World world) {
|
public void add(Player player, World world) {
|
||||||
@@ -132,7 +134,7 @@ public class CooldownHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void savePlayer(Player player, @Nullable World world, @Nullable CooldownData data, boolean remove) {
|
private void savePlayer(Player player, @Nullable World world, @Nullable CooldownData data, boolean remove) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
if (world != null && data != null && getDatabaseWorlds() != null) { //Per World enabled?
|
if (world != null && data != null && getDatabaseWorlds() != null) { //Per World enabled?
|
||||||
if (!remove)
|
if (!remove)
|
||||||
getDatabaseWorlds().setCooldown(world, data);
|
getDatabaseWorlds().setCooldown(world, data);
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.rtpinfo;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo;
|
||||||
|
|
||||||
|
import com.tcoded.folialib.wrapper.WrappedTask;
|
||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPlayer;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPlayer;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldCustom;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldCustom;
|
||||||
@@ -19,6 +21,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class QueueGenerator {
|
public class QueueGenerator {
|
||||||
|
|
||||||
@@ -27,23 +30,22 @@ public class QueueGenerator {
|
|||||||
public static final int queueMax = 32, queueMin = 2; //Amount to ready up for each rtp world
|
public static final int queueMax = 32, queueMin = 2; //Amount to ready up for each rtp world
|
||||||
private final int queueMaxAttempts = 50;
|
private final int queueMaxAttempts = 50;
|
||||||
boolean generating;
|
boolean generating;
|
||||||
private BukkitTask task;
|
private WrappedTask task;
|
||||||
|
|
||||||
public void unload() {
|
public void unload() {
|
||||||
if (task != null)
|
if (task != null)
|
||||||
Bukkit.getScheduler().cancelTask(task.getTaskId());
|
task.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
|
unload();
|
||||||
loaded = false;
|
loaded = false;
|
||||||
if (task != null)
|
|
||||||
Bukkit.getScheduler().cancelTask(task.getTaskId());
|
|
||||||
generate(null);
|
generate(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void generate(@Nullable RTPWorld rtpWorld) {
|
void generate(@Nullable RTPWorld rtpWorld) {
|
||||||
if (!QueueHandler.isEnabled()) return;
|
if (!QueueHandler.isEnabled()) return;
|
||||||
Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runLaterAsync(() -> {
|
||||||
if (!DatabaseHandler.getQueue().isLoaded()) {
|
if (!DatabaseHandler.getQueue().isLoaded()) {
|
||||||
generate(rtpWorld);
|
generate(rtpWorld);
|
||||||
return;
|
return;
|
||||||
@@ -53,12 +55,12 @@ public class QueueGenerator {
|
|||||||
//Queue after everything was loaded
|
//Queue after everything was loaded
|
||||||
BetterRTP.debug("Attempting to queue up some more safe locations...");
|
BetterRTP.debug("Attempting to queue up some more safe locations...");
|
||||||
queueGenerator(new ReQueueData(rtpWorld, queueMax, queueMin, 0, "noone", 0));
|
queueGenerator(new ReQueueData(rtpWorld, queueMax, queueMin, 0, "noone", 0));
|
||||||
}, 10L);
|
}, 10L * 50L, TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void queueGenerator(ReQueueData data) {
|
private void queueGenerator(ReQueueData data) {
|
||||||
generating = true;
|
generating = true;
|
||||||
task = Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), () -> {
|
task = FoliaHelper.get().runLaterAsync(() -> {
|
||||||
//BetterRTP.debug("Generating a new position... attempt # " + data.attempts);
|
//BetterRTP.debug("Generating a new position... attempt # " + data.attempts);
|
||||||
//Generate more locations
|
//Generate more locations
|
||||||
//Rare cases where a rtp world didn't have a location generated (Permission Groups?)
|
//Rare cases where a rtp world didn't have a location generated (Permission Groups?)
|
||||||
@@ -107,7 +109,7 @@ public class QueueGenerator {
|
|||||||
}
|
}
|
||||||
generating = false;
|
generating = false;
|
||||||
BetterRTP.debug("Queueing paused, max queue limit reached!");
|
BetterRTP.debug("Queueing paused, max queue limit reached!");
|
||||||
}, 20L /*delay before starting queue generator*/);
|
}, 20L * 50L /*delay before starting queue generator*/, TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static class ReQueueData {
|
static class ReQueueData {
|
||||||
@@ -152,7 +154,7 @@ public class QueueGenerator {
|
|||||||
private void addQueue(RTPWorld rtpWorld, String id, ReQueueData reQueueData) {
|
private void addQueue(RTPWorld rtpWorld, String id, ReQueueData reQueueData) {
|
||||||
Location loc = RandomLocation.generateLocation(rtpWorld);
|
Location loc = RandomLocation.generateLocation(rtpWorld);
|
||||||
if (loc != null) {
|
if (loc != null) {
|
||||||
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runNextTick(() -> {
|
||||||
//BetterRTP.debug("Queued up a new position, attempts " + reQueueData.attempts);
|
//BetterRTP.debug("Queued up a new position, attempts " + reQueueData.attempts);
|
||||||
PaperLib.getChunkAtAsync(loc)
|
PaperLib.getChunkAtAsync(loc)
|
||||||
.thenAccept(v -> {
|
.thenAccept(v -> {
|
||||||
@@ -165,7 +167,7 @@ public class QueueGenerator {
|
|||||||
rtpWorld.getBiomes());
|
rtpWorld.getBiomes());
|
||||||
//data.setLocation(safeLoc);
|
//data.setLocation(safeLoc);
|
||||||
if (safeLoc != null) {
|
if (safeLoc != null) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
QueueData data = DatabaseHandler.getQueue().addQueue(safeLoc);
|
QueueData data = DatabaseHandler.getQueue().addQueue(safeLoc);
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
//queueList.add(data);
|
//queueList.add(data);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
|||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseQueue;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseQueue;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@@ -84,7 +85,7 @@ public class QueueHandler implements Listener { //Randomly queues up some safe l
|
|||||||
|
|
||||||
public static void remove(Location loc) {
|
public static void remove(Location loc) {
|
||||||
if (!isEnabled()) return;
|
if (!isEnabled()) return;
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
//Delete all queue data async
|
//Delete all queue data async
|
||||||
if (DatabaseHandler.getQueue().removeLocation(loc)) {
|
if (DatabaseHandler.getQueue().removeLocation(loc)) {
|
||||||
//BetterRTP.getInstance().getQueue().queueList.remove(data);
|
//BetterRTP.getInstance().getQueue().queueList.remove(data);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.web;
|
package me.SuperRonanCraft.BetterRTP.references.web;
|
||||||
|
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.plugin.ServicePriority;
|
import org.bukkit.plugin.ServicePriority;
|
||||||
@@ -127,12 +128,7 @@ public class Metrics {
|
|||||||
}
|
}
|
||||||
// Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler
|
// Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler
|
||||||
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
|
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
|
||||||
Bukkit.getScheduler().runTask(plugin, new Runnable() {
|
FoliaHelper.get().runNextTick(() -> submitData());
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
submitData();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}, 1000*60*5, 1000*60*30);
|
}, 1000*60*5, 1000*60*30);
|
||||||
// Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start
|
// Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.web;
|
package me.SuperRonanCraft.BetterRTP.references.web;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
@@ -13,7 +14,7 @@ public class Updater {
|
|||||||
public static String updatedVersion = BetterRTP.getInstance().getDescription().getVersion();
|
public static String updatedVersion = BetterRTP.getInstance().getDescription().getVersion();
|
||||||
|
|
||||||
public Updater(BetterRTP pl) {
|
public Updater(BetterRTP pl) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(pl, () -> {
|
FoliaHelper.get().runAsync(() -> {
|
||||||
try {
|
try {
|
||||||
URLConnection con = new URL(getUrl() + project()).openConnection();
|
URLConnection con = new URL(getUrl() + project()).openConnection();
|
||||||
updatedVersion = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine();
|
updatedVersion = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine();
|
||||||
|
|||||||
Reference in New Issue
Block a user