mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-18 01:25:45 +00:00
cooldowns handling
This commit is contained in:
parent
141e857ed8
commit
7f388e6c6b
2
pom.xml
2
pom.xml
@ -256,7 +256,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.cryptomorin</groupId>
|
<groupId>com.github.cryptomorin</groupId>
|
||||||
<artifactId>kingdoms</artifactId>
|
<artifactId>kingdoms</artifactId>
|
||||||
<version>1.10.5.3</version>
|
<version>1.11.4</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP;
|
package me.SuperRonanCraft.BetterRTP;
|
||||||
|
|
||||||
|
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;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.events.Listener;
|
import me.SuperRonanCraft.BetterRTP.player.events.Listener;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.Permissions;
|
import me.SuperRonanCraft.BetterRTP.references.Permissions;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.depends.DepEconomy;
|
import me.SuperRonanCraft.BetterRTP.references.depends.DepEconomy;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.Files;
|
import me.SuperRonanCraft.BetterRTP.references.file.Files;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.Messages;
|
import me.SuperRonanCraft.BetterRTP.references.file.Messages;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.invs.RTPInventories;
|
import me.SuperRonanCraft.BetterRTP.references.invs.RTPInventories;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.settings.Settings;
|
import me.SuperRonanCraft.BetterRTP.references.settings.Settings;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.web.Metrics;
|
import me.SuperRonanCraft.BetterRTP.references.web.Metrics;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.Updater;
|
import me.SuperRonanCraft.BetterRTP.references.Updater;
|
||||||
@ -32,6 +35,8 @@ public class BetterRTP extends JavaPlugin {
|
|||||||
private final RTPInventories invs = new RTPInventories();
|
private final RTPInventories invs = new RTPInventories();
|
||||||
private final PlayerInfo pInfo = new PlayerInfo();
|
private final PlayerInfo pInfo = new PlayerInfo();
|
||||||
private final Settings settings = new Settings();
|
private final Settings settings = new Settings();
|
||||||
|
@Getter private final DatabaseCooldowns database = new DatabaseCooldowns();
|
||||||
|
@Getter private final CooldownHandler cooldowns = new CooldownHandler();
|
||||||
|
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
instance = this;
|
instance = this;
|
||||||
@ -113,6 +118,7 @@ public class BetterRTP extends JavaPlugin {
|
|||||||
settings.load();
|
settings.load();
|
||||||
invs.load();
|
invs.load();
|
||||||
rtp.load();
|
rtp.load();
|
||||||
|
cooldowns.load();
|
||||||
cmd.load();
|
cmd.load();
|
||||||
listener.load();
|
listener.load();
|
||||||
eco.load();
|
eco.load();
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player;
|
package me.SuperRonanCraft.BetterRTP.player;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS;
|
import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
@ -10,32 +12,13 @@ import java.util.HashMap;
|
|||||||
|
|
||||||
public class PlayerInfo {
|
public class PlayerInfo {
|
||||||
|
|
||||||
private final HashMap<Player, Inventory> invs = new HashMap<>();
|
@Getter private final HashMap<Player, Inventory> invs = new HashMap<>();
|
||||||
private final HashMap<Player, RTP_INV_SETTINGS> invType = new HashMap<>();
|
@Getter private final HashMap<Player, RTP_INV_SETTINGS> invType = new HashMap<>();
|
||||||
private final HashMap<Player, World> invWorld = new HashMap<>();
|
@Getter private final HashMap<Player, World> invWorld = new HashMap<>();
|
||||||
private final HashMap<Player, RTP_INV_SETTINGS> invNextInv = new HashMap<>();
|
@Getter private final HashMap<Player, RTP_INV_SETTINGS> invNextInv = new HashMap<>();
|
||||||
|
@Getter private final HashMap<Player, CooldownData> cooldown = new HashMap<>();
|
||||||
//private final HashMap<Player, RTP_TYPE> rtpType = new HashMap<>();
|
//private final HashMap<Player, RTP_TYPE> rtpType = new HashMap<>();
|
||||||
|
|
||||||
public Inventory getInv(Player p) {
|
|
||||||
return invs.get(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
public RTP_INV_SETTINGS getInvType(Player p) {
|
|
||||||
return invType.get(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
public World getInvWorld(Player p) {
|
|
||||||
return invWorld.get(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
public RTP_INV_SETTINGS getNextInv(Player p) {
|
|
||||||
return invNextInv.get(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
//public RTP_TYPE getRTPType(Player p) {
|
|
||||||
// return rtpType.getOrDefault(p, RTP_TYPE.COMMAND);
|
|
||||||
//}
|
|
||||||
|
|
||||||
public void setInv(Player p, Inventory inv) {
|
public void setInv(Player p, Inventory inv) {
|
||||||
invs.put(p, inv);
|
invs.put(p, inv);
|
||||||
}
|
}
|
||||||
@ -52,10 +35,6 @@ public class PlayerInfo {
|
|||||||
invNextInv.put(p, type);
|
invNextInv.put(p, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
//public void setRTPType(Player p, RTP_TYPE rtpType) {
|
|
||||||
// this.rtpType.put(p, rtpType);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//--Logic--
|
//--Logic--
|
||||||
|
|
||||||
public Boolean playerExists(Player p) {
|
public Boolean playerExists(Player p) {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.commands;
|
package me.SuperRonanCraft.BetterRTP.player.commands;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.block.Biome;
|
import org.bukkit.block.Biome;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -21,7 +21,6 @@ public class Commands {
|
|||||||
|
|
||||||
private final BetterRTP pl;
|
private final BetterRTP pl;
|
||||||
public HashMap<UUID, Boolean> rtping = new HashMap<>();
|
public HashMap<UUID, Boolean> rtping = new HashMap<>();
|
||||||
public RTPCooldown cooldowns = new RTPCooldown();
|
|
||||||
private int delayTimer;
|
private int delayTimer;
|
||||||
public List<RTPCommand> commands = new ArrayList<>();
|
public List<RTPCommand> commands = new ArrayList<>();
|
||||||
|
|
||||||
@ -32,7 +31,6 @@ public class Commands {
|
|||||||
public void load() {
|
public void load() {
|
||||||
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
||||||
delayTimer = config.getInt("Settings.Delay.Time");
|
delayTimer = config.getInt("Settings.Delay.Time");
|
||||||
cooldowns.load();
|
|
||||||
rtping.clear();
|
rtping.clear();
|
||||||
commands.clear();
|
commands.clear();
|
||||||
for (RTPCommandType cmd : RTPCommandType.values())
|
for (RTPCommandType cmd : RTPCommandType.values())
|
||||||
@ -173,8 +171,8 @@ public class Commands {
|
|||||||
private boolean checkCooldown(CommandSender sendi, Player player) {
|
private boolean checkCooldown(CommandSender sendi, Player player) {
|
||||||
if (sendi != player || pl.getPerms().getBypassCooldown(player)) { //Bypassing/Forced?
|
if (sendi != player || pl.getPerms().getBypassCooldown(player)) { //Bypassing/Forced?
|
||||||
return true;
|
return true;
|
||||||
} else if (cooldowns.isEnabled()) { //Cooling down?
|
} else if (getPl().getCo.isEnabled()) { //Cooling down?
|
||||||
if (!cooldowns.database.isLoaded()) //Cooldowns have yet to download
|
if (!.database.isLoaded()) //Cooldowns have yet to download
|
||||||
return false;
|
return false;
|
||||||
UUID id = player.getUniqueId();
|
UUID id = player.getUniqueId();
|
||||||
if (cooldowns.exists(id)) {
|
if (cooldowns.exists(id)) {
|
||||||
@ -200,4 +198,8 @@ public class Commands {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BetterRTP getPl() {
|
||||||
|
return BetterRTP.getInstance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,14 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.commands.types;
|
package me.SuperRonanCraft.BetterRTP.player.commands.types;
|
||||||
|
|
||||||
import com.bekvon.bukkit.residence.containers.cmd;
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WORLD_TYPE;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Biome;
|
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -5,11 +5,9 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldDefault;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldDefault;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldPlayer;
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WORLD_TYPE;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
@ -4,12 +4,10 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.RTPWorld;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.*;
|
import me.SuperRonanCraft.BetterRTP.references.worlds.*;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -60,7 +60,7 @@ class RTPDelay implements Listener {
|
|||||||
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().getCmd().cooldowns.removeCooldown(rtp.getPlayer().getUniqueId());
|
getPl().getCooldowns().removeCooldown(rtp.getPlayer());
|
||||||
getPl().getCmd().rtping.put(rtp.getPlayer().getUniqueId(), false);
|
getPl().getCmd().rtping.put(rtp.getPlayer().getUniqueId(), false);
|
||||||
Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer()));
|
Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer()));
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.*;
|
import me.SuperRonanCraft.BetterRTP.references.worlds.*;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldLocations;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
|
|||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.*;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.*;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WORLD_TYPE;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
|
||||||
import org.bukkit.Chunk;
|
import org.bukkit.Chunk;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
@ -2,10 +2,9 @@ package me.SuperRonanCraft.BetterRTP.player.rtp.queue;
|
|||||||
|
|
||||||
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.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;
|
||||||
import org.bukkit.World;
|
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.customEvents;
|
package me.SuperRonanCraft.BetterRTP.references.customEvents;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.RTPWorld;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.customEvents;
|
package me.SuperRonanCraft.BetterRTP.references.customEvents;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WORLD_TYPE;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.database;
|
package me.SuperRonanCraft.BetterRTP.references.database;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPCooldown;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
@ -68,7 +68,7 @@ public class DatabaseCooldowns extends SQLite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Set a player Cooldown
|
//Set a player Cooldown
|
||||||
public void setCooldown(UUID uuid, Long time, int uses) {
|
public void setCooldown(CooldownData data) {
|
||||||
String pre = "INSERT OR REPLACE INTO ";
|
String pre = "INSERT OR REPLACE INTO ";
|
||||||
String sql = pre + table + " ("
|
String sql = pre + table + " ("
|
||||||
+ COLUMNS.UUID.name + ", "
|
+ COLUMNS.UUID.name + ", "
|
||||||
@ -76,22 +76,22 @@ public class DatabaseCooldowns extends SQLite {
|
|||||||
+ COLUMNS.USES.name + " "
|
+ COLUMNS.USES.name + " "
|
||||||
+ ") VALUES(?, ?, ?)";
|
+ ") VALUES(?, ?, ?)";
|
||||||
List<Object> params = new ArrayList<>() {{
|
List<Object> params = new ArrayList<>() {{
|
||||||
add(uuid.toString());
|
add(data.getUuid().toString());
|
||||||
add(time);
|
add(data.getTime());
|
||||||
add(uses);
|
add(data.getUses());
|
||||||
}};
|
}};
|
||||||
sqlUpdate(sql, params);
|
sqlUpdate(sql, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update multiple players cooldowns
|
//Update multiple players cooldowns
|
||||||
public void setCooldown(List<RTPCooldown.CooldownData> cooldownData) {
|
public void setCooldown(List<CooldownData> cooldownData) {
|
||||||
String pre = "INSERT OR REPLACE INTO ";
|
String pre = "INSERT OR REPLACE INTO ";
|
||||||
String sql = pre + table + " ("
|
String sql = pre + table + " ("
|
||||||
+ COLUMNS.UUID.name + ", "
|
+ COLUMNS.UUID.name + ", "
|
||||||
+ COLUMNS.COOLDOWN_DATE.name + ", "
|
+ COLUMNS.COOLDOWN_DATE.name + ", "
|
||||||
+ COLUMNS.USES.name + " "
|
+ COLUMNS.USES.name + " "
|
||||||
+ ") VALUES(?, ?, ?)";
|
+ ") VALUES(?, ?, ?)";
|
||||||
for (RTPCooldown.CooldownData data : cooldownData) {
|
for (CooldownData data : cooldownData) {
|
||||||
List<Object> param = new ArrayList<>() {{
|
List<Object> param = new ArrayList<>() {{
|
||||||
add(data.uuid.toString());
|
add(data.uuid.toString());
|
||||||
add(data.time);
|
add(data.time);
|
||||||
|
@ -2,7 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.depends;
|
|||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.worlds.WorldPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import net.milkbowl.vault.economy.EconomyResponse;
|
import net.milkbowl.vault.economy.EconomyResponse;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class CooldownData {
|
||||||
|
@Getter private final UUID uuid;
|
||||||
|
@Getter @Setter private Long time;
|
||||||
|
@Getter @Setter int uses;
|
||||||
|
|
||||||
|
public CooldownData(UUID uuid, Long time, int uses) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
this.time = time;
|
||||||
|
this.uses = uses;
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,11 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.player.rtp;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.player.PlayerInfo;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
|
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.InvalidConfigurationException;
|
import org.bukkit.configuration.InvalidConfigurationException;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
@ -16,11 +18,10 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class RTPCooldown {
|
public class CooldownHandler {
|
||||||
|
|
||||||
private final HashMap<UUID, Long> cooldowns = new HashMap<>(); //Cooldown timer for each player
|
//private final HashMap<UUID, Long> cooldowns = new HashMap<>(); //Cooldown timer for each player
|
||||||
private HashMap<UUID, Integer> uses = null; //Players locked from rtp'ing ever again
|
//private HashMap<UUID, Integer> uses = null; //Players locked from rtp'ing ever again
|
||||||
public final DatabaseCooldowns database = new DatabaseCooldowns();
|
|
||||||
@Getter boolean enabled;
|
@Getter boolean enabled;
|
||||||
private int
|
private int
|
||||||
timer, //Cooldown timer
|
timer, //Cooldown timer
|
||||||
@ -28,37 +29,31 @@ public class RTPCooldown {
|
|||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
//configfile = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
|
//configfile = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
|
||||||
cooldowns.clear();
|
getPInfo().getCooldown().clear();
|
||||||
if (uses != null)
|
|
||||||
uses.clear();
|
|
||||||
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
||||||
enabled = config.getBoolean("Settings.Cooldown.Enabled");
|
enabled = config.getBoolean("Settings.Cooldown.Enabled");
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
timer = config.getInt("Settings.Cooldown.Time");
|
timer = config.getInt("Settings.Cooldown.Time");
|
||||||
lockedAfter = config.getInt("Settings.Cooldown.LockAfter");
|
lockedAfter = config.getInt("Settings.Cooldown.LockAfter");
|
||||||
if (lockedAfter > 0)
|
//if (lockedAfter > 0)
|
||||||
uses = new HashMap<>();
|
// uses = new HashMap<>();
|
||||||
}
|
}
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
||||||
database.load();
|
getDatabase().load();
|
||||||
OldCooldownConverter.loadOldCooldowns(database);
|
OldCooldownConverter.loadOldCooldowns();
|
||||||
//Load any online players cooldowns (mostly after a reload)
|
//Load any online players cooldowns (mostly after a reload)
|
||||||
for (Player p : Bukkit.getOnlinePlayers())
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
loadPlayer(p.getUniqueId());
|
loadPlayer(p.getUniqueId());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(UUID id) {
|
public void add(Player player) {
|
||||||
if (!enabled) return;
|
if (!enabled) return;
|
||||||
cooldowns.put(id, System.currentTimeMillis());
|
CooldownData data = getPInfo().getCooldown().getOrDefault(player,
|
||||||
if (lockedAfter > 0) {
|
new CooldownData(player.getUniqueId(), System.currentTimeMillis(), 0));
|
||||||
if (uses.containsKey(id))
|
if (lockedAfter > 0)
|
||||||
uses.put(id, uses.get(id) + 1);
|
data.setUses(data.getUses() + 1);
|
||||||
else
|
savePlayer(data);
|
||||||
uses.put(id, 1);
|
|
||||||
savePlayer(id, true, cooldowns.get(id), uses.get(id));
|
|
||||||
} else
|
|
||||||
savePlayer(id, true, cooldowns.get(id), 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean exists(UUID id) {
|
public boolean exists(UUID id) {
|
||||||
@ -76,27 +71,29 @@ public class RTPCooldown {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeCooldown(UUID id) {
|
public void removeCooldown(Player player) {
|
||||||
if (!enabled) return;
|
if (!enabled) return;
|
||||||
|
CooldownData data = getPInfo().getCooldown().get(player);
|
||||||
|
if (data != null)
|
||||||
if (lockedAfter > 0) {
|
if (lockedAfter > 0) {
|
||||||
uses.put(id, uses.getOrDefault(id, 1) - 1);
|
//uses.put(id, uses.getOrDefault(id, 1) - 1);
|
||||||
if (uses.get(id) <= 0) { //Remove from file as well
|
if (data.getUses() <= 0) { //Remove from file as well
|
||||||
savePlayer(id, false, 0L, 0);
|
savePlayer(data, true);
|
||||||
|
getPInfo().getCooldown().remove(player);
|
||||||
} else { //Keep the player cached
|
} else { //Keep the player cached
|
||||||
savePlayer(id, false, cooldowns.get(id), uses.get(id));
|
savePlayer(data, false);
|
||||||
}
|
}
|
||||||
cooldowns.remove(id);
|
|
||||||
} else { //Remove completely
|
} else { //Remove completely
|
||||||
cooldowns.remove(id);
|
getPInfo().getCooldown().remove(player);
|
||||||
savePlayer(id, false, 0L, 0);
|
savePlayer(data, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void savePlayer(UUID uuid, boolean adding, long time, int attempts) {
|
private void savePlayer(CooldownData data, boolean remove) {
|
||||||
if (adding) {
|
if (!remove) {
|
||||||
database.setCooldown(uuid, time, attempts);
|
getDatabase().setCooldown(data);
|
||||||
} else {
|
} else {
|
||||||
database.removePlayer(uuid);
|
getDatabase().removePlayer(data.getUuid());
|
||||||
}
|
}
|
||||||
/*YamlConfiguration config = getFile();
|
/*YamlConfiguration config = getFile();
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
@ -141,7 +138,7 @@ public class RTPCooldown {
|
|||||||
|
|
||||||
public void loadPlayer(UUID uuid) {
|
public void loadPlayer(UUID uuid) {
|
||||||
if (isEnabled()) {
|
if (isEnabled()) {
|
||||||
List<Object> data = database.getCooldown(uuid);
|
List<Object> data = getDatabase().getCooldown(uuid);
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
cooldowns.put(uuid, (Long) data.get(0));
|
cooldowns.put(uuid, (Long) data.get(0));
|
||||||
uses.put(uuid, (int) data.get(1));
|
uses.put(uuid, (int) data.get(1));
|
||||||
@ -171,7 +168,7 @@ public class RTPCooldown {
|
|||||||
|
|
||||||
static class OldCooldownConverter {
|
static class OldCooldownConverter {
|
||||||
|
|
||||||
static void loadOldCooldowns(DatabaseCooldowns database) {
|
static void loadOldCooldowns() {
|
||||||
File file = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
|
File file = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
|
||||||
YamlConfiguration config = getFile(file);
|
YamlConfiguration config = getFile(file);
|
||||||
if (config == null) return;
|
if (config == null) return;
|
||||||
@ -195,7 +192,7 @@ public class RTPCooldown {
|
|||||||
}
|
}
|
||||||
BetterRTP.getInstance().getLogger().info("Cooldowns converting to new database...");
|
BetterRTP.getInstance().getLogger().info("Cooldowns converting to new database...");
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
|
||||||
database.setCooldown(cooldownData);
|
BetterRTP.getInstance().getDatabase().setCooldown(cooldownData);
|
||||||
BetterRTP.getInstance().getLogger().info("Cooldowns have been converted to the new database!");
|
BetterRTP.getInstance().getLogger().info("Cooldowns have been converted to the new database!");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -221,15 +218,11 @@ public class RTPCooldown {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CooldownData {
|
private DatabaseCooldowns getDatabase() {
|
||||||
public UUID uuid;
|
return BetterRTP.getInstance().getDatabase();
|
||||||
public Long time;
|
}
|
||||||
public int uses;
|
|
||||||
|
|
||||||
CooldownData(UUID uuid, Long time, int uses) {
|
private PlayerInfo getPInfo() {
|
||||||
this.uuid = uuid;
|
return BetterRTP.getInstance().getpInfo();
|
||||||
this.time = time;
|
|
||||||
this.uses = uses;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
@ -1,8 +1,7 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
import org.bukkit.World;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
public enum WORLD_TYPE {
|
public enum WORLD_TYPE {
|
||||||
NORMAL, //Normal world type finds the tallest safe block
|
NORMAL, //Normal world type finds the tallest safe block
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
||||||
@ -6,7 +6,6 @@ import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
|||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import scala.Int;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
@ -1,4 +1,4 @@
|
|||||||
package me.SuperRonanCraft.BetterRTP.references.worlds;
|
package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
|
||||||
|
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPermissionGroup;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPermissionGroup;
|
||||||
@ -7,7 +7,6 @@ import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.WorldBorder;
|
import org.bukkit.WorldBorder;
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
Loading…
x
Reference in New Issue
Block a user