mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 17:15:47 +00:00
economy price placeholder fix
This commit is contained in:
parent
3dc0eea406
commit
f47c8cee10
2
pom.xml
2
pom.xml
@ -7,7 +7,7 @@
|
|||||||
<groupId>me.SuperRonanCraft</groupId>
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
<artifactId>BetterRTP</artifactId>
|
<artifactId>BetterRTP</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>3.6.4</version>
|
<version>3.6.5</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
@ -3,8 +3,10 @@ package me.SuperRonanCraft.BetterRTP.player.commands.types;
|
|||||||
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.commands.RTPCommand;
|
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||||
|
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.PermissionNode;
|
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
|
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -23,7 +25,8 @@ public class CmdTest implements RTPCommand, RTPCommandHelpable {
|
|||||||
public void execute(CommandSender sendi, String label, String[] args) {
|
public void execute(CommandSender sendi, String label, String[] args) {
|
||||||
if (sendi instanceof Player) {
|
if (sendi instanceof Player) {
|
||||||
Player p = (Player) sendi;
|
Player p = (Player) sendi;
|
||||||
BetterRTP.getInstance().getRTP().getTeleport().afterTeleport(p, p.getLocation(), 0, 0, p.getLocation(), RTP_TYPE.TEST);
|
BetterRTP.getInstance().getRTP().getTeleport().afterTeleport(p, p.getLocation(),
|
||||||
|
HelperRTP.getPlayerWorld(new RTPSetupInformation(p.getWorld(), p, p, false)), 0, p.getLocation(), RTP_TYPE.TEST);
|
||||||
} else
|
} else
|
||||||
sendi.sendMessage("Console is not able to execute this command! Try '/rtp help'");
|
sendi.sendMessage("Console is not able to execute this command! Try '/rtp help'");
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ public class RTPPlayer {
|
|||||||
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(), () ->
|
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
|
||||||
settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer.getPrice(), attempts, type, worldPlayer.getWorldtype()));
|
settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
randomlyTeleport(sendi);
|
randomlyTeleport(sendi);
|
||||||
|
@ -3,11 +3,13 @@ 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.player.rtp.effects.*;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.effects.*;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPreEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPreEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
|
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -38,8 +40,8 @@ public class RTPTeleport {
|
|||||||
// CompletableFuture.allOf(asyncChunks.toArray(new CompletableFuture[] {})).cancel(true);
|
// CompletableFuture.allOf(asyncChunks.toArray(new CompletableFuture[] {})).cancel(true);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
void sendPlayer(final CommandSender sendi, final Player p, final Location location, final int price,
|
void sendPlayer(final CommandSender sendi, final Player p, final Location location, final WorldPlayer wPlayer,
|
||||||
final int attempts, RTP_TYPE type, WORLD_TYPE worldType) throws NullPointerException {
|
final int attempts, RTP_TYPE type) throws NullPointerException {
|
||||||
Location oldLoc = p.getLocation();
|
Location oldLoc = p.getLocation();
|
||||||
loadingTeleport(p, sendi); //Send loading message to player who requested
|
loadingTeleport(p, sendi); //Send loading message to player who requested
|
||||||
//List<CompletableFuture<Chunk>> asyncChunks = getChunks(location); //Get a list of chunks
|
//List<CompletableFuture<Chunk>> asyncChunks = getChunks(location); //Get a list of chunks
|
||||||
@ -49,15 +51,15 @@ public class RTPTeleport {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {*/
|
public void run() {*/
|
||||||
try {
|
try {
|
||||||
RTP_TeleportEvent event = new RTP_TeleportEvent(p, location, worldType);
|
RTP_TeleportEvent event = new RTP_TeleportEvent(p, location, wPlayer.getWorldtype());
|
||||||
getPl().getServer().getPluginManager().callEvent(event);
|
getPl().getServer().getPluginManager().callEvent(event);
|
||||||
Location loc = event.getLocation();
|
Location loc = event.getLocation();
|
||||||
PaperLib.teleportAsync(p, loc).thenRun(new BukkitRunnable() { //Async teleport
|
PaperLib.teleportAsync(p, loc).thenRun(new BukkitRunnable() { //Async teleport
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
afterTeleport(p, loc, price, attempts, oldLoc, type);
|
afterTeleport(p, loc, wPlayer, attempts, oldLoc, type);
|
||||||
if (sendi != p) //Tell player who requested that the player rtp'd
|
if (sendi != p) //Tell player who requested that the player rtp'd
|
||||||
sendSuccessMsg(sendi, p.getName(), loc, price, false, attempts);
|
sendSuccessMsg(sendi, p.getName(), loc, wPlayer, false, attempts);
|
||||||
getPl().getpInfo().getRtping().remove(p); //No longer rtp'ing
|
getPl().getpInfo().getRtping().remove(p); //No longer rtp'ing
|
||||||
//Save respawn location if first join
|
//Save respawn location if first join
|
||||||
if (type == RTP_TYPE.JOIN) //RTP Type was Join
|
if (type == RTP_TYPE.JOIN) //RTP Type was Join
|
||||||
@ -76,13 +78,13 @@ public class RTPTeleport {
|
|||||||
|
|
||||||
//Effects
|
//Effects
|
||||||
|
|
||||||
public void afterTeleport(Player p, Location loc, int price, int attempts, Location oldLoc, RTP_TYPE type) { //Only a successful rtp should run this OR '/rtp test'
|
public void afterTeleport(Player p, Location loc, WorldPlayer wPlayer, int attempts, Location oldLoc, RTP_TYPE type) { //Only a successful rtp should run this OR '/rtp test'
|
||||||
effects.getSounds().playTeleport(p);
|
effects.getSounds().playTeleport(p);
|
||||||
effects.getParticles().display(p);
|
effects.getParticles().display(p);
|
||||||
effects.getPotions().giveEffects(p);
|
effects.getPotions().giveEffects(p);
|
||||||
effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT, p, loc, attempts, 0);
|
effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT, p, loc, attempts, 0);
|
||||||
if (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT))
|
if (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT))
|
||||||
sendSuccessMsg(p, p.getName(), loc, price, true, attempts);
|
sendSuccessMsg(p, p.getName(), loc, wPlayer, true, attempts);
|
||||||
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPostEvent(p, loc, oldLoc, type));
|
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPostEvent(p, loc, oldLoc, type));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,12 +149,12 @@ public class RTPTeleport {
|
|||||||
return asyncChunks;
|
return asyncChunks;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
private void sendSuccessMsg(CommandSender sendi, String player, Location loc, int price, boolean sameAsPlayer, int attempts) {
|
private void sendSuccessMsg(CommandSender sendi, String player, Location loc, WorldPlayer wPlayer, boolean sameAsPlayer, int attempts) {
|
||||||
if (sameAsPlayer) {
|
if (sameAsPlayer) {
|
||||||
if (price == 0)
|
if (wPlayer.getPrice() == 0 || PermissionNode.BYPASS_ECONOMY.check(sendi))
|
||||||
MessagesCore.SUCCESS_BYPASS.send(sendi, Arrays.asList(loc, attempts));
|
MessagesCore.SUCCESS_BYPASS.send(sendi, Arrays.asList(loc, attempts));
|
||||||
else
|
else
|
||||||
MessagesCore.SUCCESS_PAID.send(sendi, Arrays.asList(loc, attempts, price));
|
MessagesCore.SUCCESS_PAID.send(sendi, Arrays.asList(loc, wPlayer, attempts));
|
||||||
} else
|
} else
|
||||||
MessagesCore.OTHER_SUCCESS.send(sendi, Arrays.asList(loc, player, attempts));
|
MessagesCore.OTHER_SUCCESS.send(sendi, Arrays.asList(loc, player, attempts));
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
|||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperDate;
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperDate;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
|
||||||
import me.clip.placeholderapi.PlaceholderAPI;
|
import me.clip.placeholderapi.PlaceholderAPI;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -35,6 +36,8 @@ public class PlaceholderAnalyzer {
|
|||||||
str = cmd(str, (RTPCommand) info);
|
str = cmd(str, (RTPCommand) info);
|
||||||
if (info instanceof PermissionNode)
|
if (info instanceof PermissionNode)
|
||||||
str = permNode(str, (PermissionNode) info);
|
str = permNode(str, (PermissionNode) info);
|
||||||
|
if (info instanceof RTPWorld)
|
||||||
|
str = ints(str, ((RTPWorld) info).getPrice());
|
||||||
if (p instanceof Player)
|
if (p instanceof Player)
|
||||||
str = papi((Player) p, str);
|
str = papi((Player) p, str);
|
||||||
return str;
|
return str;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user