Updated MiniMessage
This commit is contained in:
parent
de11502f37
commit
d59c58f066
|
|
@ -48,5 +48,4 @@ dependencies {
|
||||||
compileOnly("com.github.milkbowl:VaultAPI:1.7") {
|
compileOnly("com.github.milkbowl:VaultAPI:1.7") {
|
||||||
exclude("org.bukkit","bukkit")
|
exclude("org.bukkit","bukkit")
|
||||||
}
|
}
|
||||||
shadow("org.apache.commons:commons-math3:3.2")
|
|
||||||
}
|
}
|
||||||
|
|
@ -54,9 +54,11 @@ public class GUIListener implements Listener {
|
||||||
if (currentItem == null)
|
if (currentItem == null)
|
||||||
return;
|
return;
|
||||||
if (event.getClick().isShiftClick())
|
if (event.getClick().isShiftClick())
|
||||||
event.getWhoClicked().sendMessage(MiniMessage.get().parse(currentItem.getType().name() + ": " + event.getCurrentItem().getType().getMaxStackSize()));
|
event.getWhoClicked().sendMiniMessage(currentItem.getType().name() + ": " +
|
||||||
|
event.getCurrentItem().getType().getMaxStackSize(), null);
|
||||||
else
|
else
|
||||||
event.getWhoClicked().sendMessage(MiniMessage.get().parse(currentItem.getType().name() + ": " + event.getCurrentItem().getAmount()));
|
event.getWhoClicked().sendMiniMessage(currentItem.getType().name() + ": " +
|
||||||
|
event.getCurrentItem().getAmount(), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import com.alttd.objects.VillagerType;
|
||||||
import com.alttd.util.Utilities;
|
import com.alttd.util.Utilities;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
@ -19,16 +20,20 @@ import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class BuyGUI extends GUIMerchant {
|
public class BuyGUI extends GUIMerchant {
|
||||||
|
|
||||||
private static final MiniMessage miniMessage = MiniMessage.get();
|
private static final MiniMessage miniMessage = MiniMessage.miniMessage();
|
||||||
|
|
||||||
public BuyGUI(VillagerType villagerType, EconUser econUser) {
|
public BuyGUI(VillagerType villagerType, EconUser econUser) {
|
||||||
super(MiniMessage.get().parse(Config.BUY_WINDOW,
|
super(miniMessage.deserialize(Config.BUY_WINDOW, TemplateResolver.resolving(
|
||||||
Template.of("trader", villagerType.getDisplayName()),
|
Template.template("trader", villagerType.getDisplayName()),
|
||||||
Template.of("points", String.valueOf(Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0)))), villagerType);
|
Template.template("points", String.valueOf(Objects.requireNonNullElse(
|
||||||
|
econUser.getPointsMap().get(villagerType.getName()),
|
||||||
|
0)))
|
||||||
|
)), villagerType);
|
||||||
for (ItemStack itemStack : villagerType.getBuying()) {
|
for (ItemStack itemStack : villagerType.getBuying()) {
|
||||||
Price price = Utilities.getPrice(itemStack);
|
Price price = Utilities.getPrice(itemStack);
|
||||||
if (price == null)
|
if (price == null)
|
||||||
|
|
@ -44,26 +49,27 @@ public class BuyGUI extends GUIMerchant {
|
||||||
private void buy(VillagerType villagerType, Player player, Material material, int amount, Price price) {
|
private void buy(VillagerType villagerType, Player player, Material material, int amount, Price price) {
|
||||||
Economy econ = VillagerUI.getInstance().getEconomy();
|
Economy econ = VillagerUI.getInstance().getEconomy();
|
||||||
double balance = econ.getBalance(player);
|
double balance = econ.getBalance(player);
|
||||||
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
int itemPts = (int) (Math.floor(price.getPrice(amount) / WorthConfig.POINT_MOD) + 1);
|
||||||
|
int transPts = itemPts * amount;
|
||||||
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
||||||
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
||||||
double cost = price.calculatePriceThing(oldPoints, trans_pts, true);
|
double cost = price.calculatePriceThing(oldPoints, transPts, true, itemPts);
|
||||||
|
|
||||||
if (balance < cost) {
|
if (balance < cost) {
|
||||||
player.sendMessage(MiniMessage.get().parse(Config.NOT_ENOUGH_MONEY,
|
player.sendMiniMessage(Config.NOT_ENOUGH_MONEY, List.of(
|
||||||
Template.of("money", String.valueOf(Utilities.round(balance, 2))),
|
Template.template("money", String.valueOf(Utilities.round(balance, 2))),
|
||||||
Template.of("price", String.valueOf(price))));
|
Template.template("price", String.valueOf(cost))));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
econ.withdrawPlayer(player, cost);
|
econ.withdrawPlayer(player, cost);
|
||||||
econUser.addPoints(villagerType.getName(), trans_pts);
|
econUser.addPoints(villagerType.getName(), transPts);
|
||||||
player.getInventory().addItem(new ItemStack(material, amount));
|
player.getInventory().addItem(new ItemStack(material, amount));
|
||||||
player.sendMessage(MiniMessage.get().parse(Config.PURCHASED_ITEM,
|
player.sendMiniMessage(Config.PURCHASED_ITEM, List.of(
|
||||||
Template.of("amount", String.valueOf(amount)),
|
Template.template("amount", String.valueOf(amount)),
|
||||||
Template.of("item", StringUtils.capitalize(material.name()
|
Template.template("item", StringUtils.capitalize(material.name()
|
||||||
.toLowerCase().replaceAll("_", " "))),
|
.toLowerCase().replaceAll("_", " "))),
|
||||||
Template.of("price", String.valueOf(cost))));
|
Template.template("price", String.valueOf(cost))));
|
||||||
|
|
||||||
Bukkit.getServer().getPluginManager()
|
Bukkit.getServer().getPluginManager()
|
||||||
.callEvent(new SpawnShopEvent(player, amount, cost, material,
|
.callEvent(new SpawnShopEvent(player, amount, cost, material,
|
||||||
|
|
@ -80,7 +86,7 @@ public class BuyGUI extends GUIMerchant {
|
||||||
|
|
||||||
private ItemStack nameItem(ItemStack itemStack, double price) {
|
private ItemStack nameItem(ItemStack itemStack, double price) {
|
||||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||||
itemMeta.displayName(miniMessage.parse("<green>" + price + "</green>")); //TODO configurable
|
itemMeta.displayName(miniMessage.deserialize("<green>" + price + "</green>")); //TODO configurable
|
||||||
itemStack.setItemMeta(itemMeta);
|
itemStack.setItemMeta(itemMeta);
|
||||||
return itemStack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,38 +7,43 @@ import com.alttd.objects.EconUser;
|
||||||
import com.alttd.objects.VillagerType;
|
import com.alttd.objects.VillagerType;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class OpenGUI extends GUIInventory {
|
public class OpenGUI extends GUIInventory {
|
||||||
|
|
||||||
private static final ItemStack BUY = new ItemStack(Material.GOLD_INGOT);
|
private static final ItemStack BUY = new ItemStack(Material.GOLD_INGOT);
|
||||||
private static final ItemStack SELL = new ItemStack(Material.BUCKET);
|
private static final ItemStack SELL = new ItemStack(Material.BUCKET);
|
||||||
|
private static final MiniMessage miniMessage;
|
||||||
static {
|
static {
|
||||||
MiniMessage miniMessage = MiniMessage.get();
|
miniMessage = MiniMessage.miniMessage();
|
||||||
ItemMeta itemMeta;
|
ItemMeta itemMeta;
|
||||||
{
|
{
|
||||||
itemMeta = BUY.getItemMeta();
|
itemMeta = BUY.getItemMeta();
|
||||||
itemMeta.displayName(miniMessage.parse("<green>Buy</green>"));
|
itemMeta.displayName(miniMessage.deserialize("<green>Buy</green>"));
|
||||||
BUY.setItemMeta(itemMeta);
|
BUY.setItemMeta(itemMeta);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
itemMeta = SELL.getItemMeta();
|
itemMeta = SELL.getItemMeta();
|
||||||
itemMeta.displayName(miniMessage.parse("<green>Sell</green>"));
|
itemMeta.displayName(miniMessage.deserialize("<green>Sell</green>"));
|
||||||
SELL.setItemMeta(itemMeta);
|
SELL.setItemMeta(itemMeta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public OpenGUI(VillagerType villagerType, EconUser econUser) {
|
public OpenGUI(VillagerType villagerType, EconUser econUser) {
|
||||||
super(InventoryType.HOPPER, MiniMessage.get().parse(Config.INITIAL_VILLAGER_WINDOW,
|
super(InventoryType.HOPPER, miniMessage.deserialize(Config.INITIAL_VILLAGER_WINDOW,
|
||||||
Template.of("trader", villagerType.getDisplayName()),
|
TemplateResolver.resolving(Template.template("trader", villagerType.getDisplayName()),
|
||||||
Template.of("points", String.valueOf(Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0)))));
|
Template.template("points", String.valueOf(Objects.requireNonNullElse(
|
||||||
|
econUser.getPointsMap().get(villagerType.getName()),
|
||||||
|
0)))))
|
||||||
|
);
|
||||||
setItem(1, BUY, player -> new BukkitRunnable() {
|
setItem(1, BUY, player -> new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import com.alttd.objects.VillagerType;
|
||||||
import com.alttd.util.Utilities;
|
import com.alttd.util.Utilities;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||||
import net.milkbowl.vault.economy.Economy;
|
import net.milkbowl.vault.economy.Economy;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
@ -22,16 +23,19 @@ import org.bukkit.inventory.PlayerInventory;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class SellGUI extends GUIMerchant {
|
public class SellGUI extends GUIMerchant {
|
||||||
|
|
||||||
private static final MiniMessage miniMessage = MiniMessage.get();
|
private static final MiniMessage miniMessage = MiniMessage.miniMessage();
|
||||||
|
|
||||||
public SellGUI(VillagerType villagerType, EconUser econUser) {
|
public SellGUI(VillagerType villagerType, EconUser econUser) {
|
||||||
super(MiniMessage.get().parse(Config.SELL_WINDOW,
|
super(MiniMessage.miniMessage().deserialize(Config.SELL_WINDOW, TemplateResolver.resolving(
|
||||||
Template.of("trader", villagerType.getDisplayName()),
|
Template.template("trader", villagerType.getDisplayName()),
|
||||||
Template.of("points", String.valueOf(Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0)))), villagerType);
|
Template.template("points", String.valueOf(Objects
|
||||||
|
.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName())
|
||||||
|
, 0))))), villagerType);
|
||||||
for (ItemStack itemStack : villagerType.getSelling()) {
|
for (ItemStack itemStack : villagerType.getSelling()) {
|
||||||
Price price = Utilities.getPrice(itemStack);
|
Price price = Utilities.getPrice(itemStack);
|
||||||
if (price == null)
|
if (price == null)
|
||||||
|
|
@ -48,28 +52,29 @@ public class SellGUI extends GUIMerchant {
|
||||||
PlayerInventory inventory = player.getInventory();
|
PlayerInventory inventory = player.getInventory();
|
||||||
|
|
||||||
if (!inventory.containsAtLeast(new ItemStack(material), amount)) {
|
if (!inventory.containsAtLeast(new ItemStack(material), amount)) {
|
||||||
player.sendMessage(miniMessage.parse(Config.NOT_ENOUGH_ITEMS,
|
player.sendMiniMessage(Config.NOT_ENOUGH_ITEMS, List.of(
|
||||||
Template.of("type", material.name()),
|
Template.template("type", material.name()),
|
||||||
Template.of("amount", String.valueOf(amount))));
|
Template.template("amount", String.valueOf(amount))));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Economy econ = VillagerUI.getInstance().getEconomy();
|
Economy econ = VillagerUI.getInstance().getEconomy();
|
||||||
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
||||||
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
||||||
int trans_pts = (int) ((Math.floor(price.getPrice(amount) / WorthConfig.POINT_MOD) + 1) * amount);
|
int itemPts = (int) (Math.floor(price.getPrice(amount) / WorthConfig.POINT_MOD) + 1);
|
||||||
double cost = price.calculatePriceThing(oldPoints, trans_pts, false);
|
int transPts = itemPts * amount;
|
||||||
|
double cost = price.calculatePriceThing(oldPoints, transPts, false, itemPts);
|
||||||
|
|
||||||
econ.depositPlayer(player, cost);
|
econ.depositPlayer(player, cost);
|
||||||
econUser.addPoints(villagerType.getName(), -price.getPoints());
|
econUser.addPoints(villagerType.getName(), -price.getPoints());
|
||||||
|
|
||||||
removeItems(inventory, material, amount);
|
removeItems(inventory, material, amount);
|
||||||
|
|
||||||
player.sendMessage(MiniMessage.get().parse(Config.SOLD_ITEM,
|
player.sendMiniMessage(Config.SOLD_ITEM, List.of(
|
||||||
Template.of("amount", String.valueOf(amount)),
|
Template.template("amount", String.valueOf(amount)),
|
||||||
Template.of("item", StringUtils.capitalize(material.name()
|
Template.template("item", StringUtils.capitalize(material.name()
|
||||||
.toLowerCase().replaceAll("_", " "))),
|
.toLowerCase().replaceAll("_", " "))),
|
||||||
Template.of("price", String.valueOf(cost))));
|
Template.template("price", String.valueOf(cost))));
|
||||||
|
|
||||||
Bukkit.getServer().getPluginManager()
|
Bukkit.getServer().getPluginManager()
|
||||||
.callEvent(new SpawnShopEvent(player, amount, cost, material,
|
.callEvent(new SpawnShopEvent(player, amount, cost, material,
|
||||||
|
|
@ -107,7 +112,7 @@ public class SellGUI extends GUIMerchant {
|
||||||
|
|
||||||
private ItemStack nameItem(ItemStack itemStack, double price) {
|
private ItemStack nameItem(ItemStack itemStack, double price) {
|
||||||
ItemMeta itemMeta = itemStack.getItemMeta();
|
ItemMeta itemMeta = itemStack.getItemMeta();
|
||||||
itemMeta.displayName(miniMessage.parse("<red>" + price * -1 + "</red>")); //TODO configurable
|
itemMeta.displayName(miniMessage.deserialize("<red>" + price * -1 + "</red>")); //TODO configurable
|
||||||
itemStack.setItemMeta(itemMeta);
|
itemStack.setItemMeta(itemMeta);
|
||||||
return itemStack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import com.alttd.database.Database;
|
||||||
import com.alttd.config.Config;
|
import com.alttd.config.Config;
|
||||||
import com.alttd.config.VillagerConfig;
|
import com.alttd.config.VillagerConfig;
|
||||||
import com.alttd.config.WorthConfig;
|
import com.alttd.config.WorthConfig;
|
||||||
|
import com.alttd.database.Queries;
|
||||||
import com.alttd.events.LoginEvent;
|
import com.alttd.events.LoginEvent;
|
||||||
import com.alttd.events.LogoutEvent;
|
import com.alttd.events.LogoutEvent;
|
||||||
import com.alttd.events.VillagerEvents;
|
import com.alttd.events.VillagerEvents;
|
||||||
|
|
@ -47,6 +48,15 @@ public class VillagerUI extends JavaPlugin {
|
||||||
Logger.info("--------------------------------------------------");
|
Logger.info("--------------------------------------------------");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
EconUser.getEconUsers().forEach(econUser -> {
|
||||||
|
if (Config.DEBUG)
|
||||||
|
Logger.info("Syncing %", econUser.getUuid().toString());
|
||||||
|
Queries.updateUserPoints(econUser.getUuid(), econUser.getPointsMap());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void scheduleTasks() {
|
private void scheduleTasks() {
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -54,6 +64,8 @@ public class VillagerUI extends JavaPlugin {
|
||||||
if (Config.DEBUG)
|
if (Config.DEBUG)
|
||||||
Logger.info("Syncing users.");
|
Logger.info("Syncing users.");
|
||||||
EconUser.getEconUsers().forEach(econUser -> {
|
EconUser.getEconUsers().forEach(econUser -> {
|
||||||
|
if (econUser == null)
|
||||||
|
return;
|
||||||
if (Config.DEBUG)
|
if (Config.DEBUG)
|
||||||
Logger.info("Syncing %", econUser.getUuid().toString());
|
Logger.info("Syncing %", econUser.getUuid().toString());
|
||||||
econUser.removePoints();
|
econUser.removePoints();
|
||||||
|
|
|
||||||
|
|
@ -40,23 +40,25 @@ public class CommandManager implements CommandExecutor, TabExecutor {
|
||||||
new CommandCreateVillager(),
|
new CommandCreateVillager(),
|
||||||
new CommandReload(),
|
new CommandReload(),
|
||||||
new CommandRemoveVillager());
|
new CommandRemoveVillager());
|
||||||
miniMessage = MiniMessage.get();
|
miniMessage = MiniMessage.miniMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String cmd, @NotNull String[] args) {
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String cmd, @NotNull String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
commandSender.sendMessage(miniMessage.parse(Config.HELP_MESSAGE_WRAPPER, Template.of("commands", subCommands.stream()
|
commandSender.sendMiniMessage(Config.HELP_MESSAGE_WRAPPER, List.of(
|
||||||
|
Template.template("commands", subCommands.stream()
|
||||||
.filter(subCommand -> commandSender.hasPermission(subCommand.getPermission()))
|
.filter(subCommand -> commandSender.hasPermission(subCommand.getPermission()))
|
||||||
.map(SubCommand::getHelpMessage)
|
.map(SubCommand::getHelpMessage)
|
||||||
.collect(Collectors.joining("\n")))));
|
.collect(Collectors.joining("\n")))
|
||||||
|
));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
SubCommand subCommand = getSubCommand(args[0]);
|
SubCommand subCommand = getSubCommand(args[0]);
|
||||||
|
|
||||||
if (!commandSender.hasPermission(subCommand.getPermission())) {
|
if (!commandSender.hasPermission(subCommand.getPermission())) {
|
||||||
commandSender.sendMessage(miniMessage.parse(Config.NO_PERMISSION));
|
commandSender.sendMiniMessage(Config.NO_PERMISSION, null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ public abstract class SubCommand {
|
||||||
private final MiniMessage miniMessage;
|
private final MiniMessage miniMessage;
|
||||||
|
|
||||||
public SubCommand() {
|
public SubCommand() {
|
||||||
miniMessage = MiniMessage.get();
|
miniMessage = MiniMessage.miniMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract boolean onCommand(CommandSender commandSender, String[] args);
|
public abstract boolean onCommand(CommandSender commandSender, String[] args);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import com.alttd.objects.LoadedVillagers;
|
||||||
import com.alttd.objects.VillagerType;
|
import com.alttd.objects.VillagerType;
|
||||||
import com.alttd.util.Utilities;
|
import com.alttd.util.Utilities;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
|
@ -26,26 +27,26 @@ public class CommandCreateVillager extends SubCommand {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender commandSender, String[] args) {
|
public boolean onCommand(CommandSender commandSender, String[] args) {
|
||||||
if (args.length != 9) {
|
if (args.length != 9) {
|
||||||
commandSender.sendMessage(getMiniMessage().parse(getHelpMessage()));
|
commandSender.sendMiniMessage(getHelpMessage(), null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<VillagerType> first = VillagerType.getVillagerTypes().stream().filter(villagerType -> villagerType.getName().equalsIgnoreCase(args[1])).findFirst();
|
Optional<VillagerType> first = VillagerType.getVillagerTypes().stream().filter(villagerType -> villagerType.getName().equalsIgnoreCase(args[1])).findFirst();
|
||||||
if (first.isEmpty()) {
|
if (first.isEmpty()) {
|
||||||
commandSender.sendMessage(getMiniMessage().parse(getHelpMessage()));
|
commandSender.sendMiniMessage(getHelpMessage(), null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
VillagerType villagerType = first.get();
|
VillagerType villagerType = first.get();
|
||||||
|
|
||||||
Villager.Type type = Villager.Type.valueOf(args[2].toUpperCase());
|
Villager.Type type = Villager.Type.valueOf(args[2].toUpperCase());
|
||||||
if (type == null) { //TODO test if this might need a try catch?
|
if (type == null) { //TODO test if this might need a try catch?
|
||||||
commandSender.sendMessage(getMiniMessage().parse(getHelpMessage()));
|
commandSender.sendMiniMessage(getHelpMessage(), null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
World world = Bukkit.getServer().getWorld(args[8]);
|
World world = Bukkit.getServer().getWorld(args[8]);
|
||||||
if (world == null) {
|
if (world == null) {
|
||||||
commandSender.sendMessage(getMiniMessage().parse(getHelpMessage()));
|
commandSender.sendMiniMessage(getHelpMessage(), null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Location location = new Location(world, Double.parseDouble(args[3]),Double.parseDouble(args[4]),Double.parseDouble(args[5]), Float.parseFloat(args[6]), Float.parseFloat(args[7]));
|
Location location = new Location(world, Double.parseDouble(args[3]),Double.parseDouble(args[4]),Double.parseDouble(args[5]), Float.parseFloat(args[6]), Float.parseFloat(args[7]));
|
||||||
|
|
@ -55,7 +56,9 @@ public class CommandCreateVillager extends SubCommand {
|
||||||
villager.setVillagerType(type);
|
villager.setVillagerType(type);
|
||||||
villager.setProfession(villagerType.getProfession());
|
villager.setProfession(villagerType.getProfession());
|
||||||
villager.setRemoveWhenFarAway(false);
|
villager.setRemoveWhenFarAway(false);
|
||||||
villager.customName(getMiniMessage().parse(Config.VILLAGER_NAME, Template.of("name", villagerType.getDisplayName())));
|
villager.customName(getMiniMessage().deserialize(Config.VILLAGER_NAME, TemplateResolver.resolving(
|
||||||
|
Template.template("name", villagerType.getDisplayName())))
|
||||||
|
);
|
||||||
villager.setCustomNameVisible(true);
|
villager.setCustomNameVisible(true);
|
||||||
villager.setAI(false);
|
villager.setAI(false);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alttd.commands.CommandManager;
|
||||||
import com.alttd.commands.SubCommand;
|
import com.alttd.commands.SubCommand;
|
||||||
import com.alttd.config.Config;
|
import com.alttd.config.Config;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
|
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -21,10 +22,12 @@ public class CommandHelp extends SubCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender commandSender, String[] args) {
|
public boolean onCommand(CommandSender commandSender, String[] args) {
|
||||||
commandSender.sendMessage(getMiniMessage().parse(Config.HELP_MESSAGE_WRAPPER, Template.of("commands", commandManager.getSubCommands().stream()
|
commandSender.sendMiniMessage(Config.HELP_MESSAGE_WRAPPER,
|
||||||
.filter(subCommand -> commandSender.hasPermission(subCommand.getPermission()))
|
List.of(Template.template("commands", commandManager
|
||||||
.map(SubCommand::getHelpMessage)
|
.getSubCommands().stream()
|
||||||
.collect(Collectors.joining("\n")))));
|
.filter(subCommand -> commandSender.hasPermission(subCommand.getPermission()))
|
||||||
|
.map(SubCommand::getHelpMessage)
|
||||||
|
.collect(Collectors.joining("\n")))));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ public class CommandReload extends SubCommand {
|
||||||
Config.reload();
|
Config.reload();
|
||||||
VillagerConfig.reload();
|
VillagerConfig.reload();
|
||||||
WorthConfig.reload();
|
WorthConfig.reload();
|
||||||
commandSender.sendMessage(getMiniMessage().parse("<green>Reloaded VillagerShopUI config.</green>"));
|
commandSender.sendMiniMessage("<green>Reloaded VillagerShopUI config.</green>", null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ public class CommandRemoveVillager extends SubCommand {
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender commandSender, String[] args) {
|
public boolean onCommand(CommandSender commandSender, String[] args) {
|
||||||
if (!(commandSender instanceof Player player)) {
|
if (!(commandSender instanceof Player player)) {
|
||||||
commandSender.sendMessage(getMiniMessage().parse(Config.NO_CONSOLE));
|
commandSender.sendMiniMessage(Config.NO_CONSOLE, null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -32,7 +32,8 @@ public class CommandRemoveVillager extends SubCommand {
|
||||||
LoadedVillagers.removeLoadedVillager(uuid);
|
LoadedVillagers.removeLoadedVillager(uuid);
|
||||||
VillagerConfig.removeVillager(uuid);
|
VillagerConfig.removeVillager(uuid);
|
||||||
entity.remove();
|
entity.remove();
|
||||||
player.sendMessage(getMiniMessage().parse(Config.REMOVED_VILLAGER, Template.of("uuid", uuid.toString())));
|
player.sendMiniMessage(Config.REMOVED_VILLAGER, List.of(
|
||||||
|
Template.template("uuid", uuid.toString())));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class Queries {
|
||||||
" for villager type %", String.valueOf(points), uuid.toString(), villagerType);
|
" for villager type %", String.valueOf(points), uuid.toString(), villagerType);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
preparedStatement.execute();
|
preparedStatement.executeBatch();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.alttd.events;
|
package com.alttd.events;
|
||||||
|
|
||||||
import com.alttd.GUI.GUI;
|
import com.alttd.GUI.GUI;
|
||||||
|
import com.alttd.config.Config;
|
||||||
import com.alttd.objects.EconUser;
|
import com.alttd.objects.EconUser;
|
||||||
|
import com.alttd.util.Logger;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
|
@ -13,6 +15,8 @@ public class LogoutEvent implements Listener {
|
||||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
UUID uuid = event.getPlayer().getUniqueId();
|
UUID uuid = event.getPlayer().getUniqueId();
|
||||||
|
|
||||||
|
if (Config.DEBUG)
|
||||||
|
Logger.info("Syncing %", event.getPlayer().getName());
|
||||||
EconUser.getUser(uuid).syncPoints();
|
EconUser.getUser(uuid).syncPoints();
|
||||||
EconUser.removeUser(uuid);
|
EconUser.removeUser(uuid);
|
||||||
GUI.GUIByUUID.remove(uuid);
|
GUI.GUIByUUID.remove(uuid);
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class VillagerEvents implements Listener {
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if (!event.getPlayer().hasPermission(loadedVillager.getPermission())) {
|
if (!event.getPlayer().hasPermission(loadedVillager.getPermission())) {
|
||||||
event.getPlayer().sendMessage(MiniMessage.get().parse(Config.NO_PERMISSION)); //TODO more specific message?
|
event.getPlayer().sendMiniMessage(Config.NO_PERMISSION, null); //TODO more specific message?
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,11 @@ import com.alttd.config.Config;
|
||||||
import com.alttd.database.Queries;
|
import com.alttd.database.Queries;
|
||||||
import com.alttd.util.Logger;
|
import com.alttd.util.Logger;
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
|
||||||
import org.apache.commons.math3.analysis.function.Log;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.jetbrains.annotations.Unmodifiable;
|
import org.jetbrains.annotations.Unmodifiable;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class EconUser {
|
public class EconUser {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user