bug fixes

This commit is contained in:
rockyhawk64 2024-05-07 21:25:28 +10:00
parent df03148d84
commit f3e9e023e6
2 changed files with 60 additions and 1 deletions

View File

@ -0,0 +1,57 @@
package me.rockyhawk.commandpanels.commandtags.paywalls;
import me.realized.tokenmanager.api.TokenManager;
import me.rockyhawk.commandpanels.CommandPanels;
import me.rockyhawk.commandpanels.commandtags.PaywallEvent;
import me.rockyhawk.commandpanels.commandtags.PaywallOutput;
import me.rockyhawk.commandpanels.openpanelsmanager.PanelPosition;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import java.util.Objects;
public class TokenPaywall implements Listener {
CommandPanels plugin;
public TokenPaywall(CommandPanels pl) {
this.plugin = pl;
}
@EventHandler
public void commandTag(PaywallEvent e){
if(e.name.equalsIgnoreCase("tokenpaywall=")){
//if player uses tokenpaywall= [price]
try {
if (plugin.getServer().getPluginManager().isPluginEnabled("TokenManager")) {
final TokenManager api = (TokenManager) Bukkit.getPluginManager().getPlugin("TokenManager");
assert api != null;
int balance = Integer.parseInt(Long.toString(api.getTokens(e.p).orElse(0)));
if (balance >= Double.parseDouble(e.args[0])) {
if (e.doDelete) {
api.removeTokens(e.p, Long.parseLong(e.args[0]));
}
//if the message is empty don't send
if (plugin.config.getBoolean("purchase.tokens.enable") && e.doDelete) {
plugin.tex.sendString(e.panel, PanelPosition.Top, e.p, Objects.requireNonNull(plugin.config.getString("purchase.tokens.success")).replaceAll("%cp-args%", e.args[0]));
}
e.PAYWALL_OUTPUT = PaywallOutput.Passed;
} else {
if (plugin.config.getBoolean("purchase.tokens.enable")) {
plugin.tex.sendString(e.panel, PanelPosition.Top, e.p, Objects.requireNonNull(plugin.config.getString("purchase.tokens.failure")));
}
e.PAYWALL_OUTPUT = PaywallOutput.Blocked;
}
} else {
plugin.tex.sendString(e.p, plugin.tag + ChatColor.RED + "Needs TokenManager to work!");
e.PAYWALL_OUTPUT = PaywallOutput.Blocked;
}
} catch (Exception buyc) {
plugin.debug(buyc, e.p);
plugin.tex.sendString(e.p, plugin.tag + plugin.config.getString("config.format.error") + " " + "commands: " + e.name);
e.PAYWALL_OUTPUT = PaywallOutput.Blocked;
}
}
}
}

View File

@ -171,7 +171,9 @@ public class OpenGUI {
if(plugin.legacy.MAJOR_VERSION.greaterThanOrEqualTo(MinecraftVersions.v1_21) ||
(plugin.legacy.MAJOR_VERSION.greaterThanOrEqualTo(MinecraftVersions.v1_20) && plugin.legacy.MINOR_VERSION >= 5)){
//Title refresh ability added in 1.20.5 api
p.getOpenInventory().setTitle(getTitle(p, pconfig, panel, position));
if(position == PanelPosition.Top) {
p.getOpenInventory().setTitle(getTitle(p, pconfig, panel, position));
}
}
if(position == PanelPosition.Top) {
plugin.legacy.setStorageContents(p, plugin.legacy.getStorageContents(i));