Prepared buy/sell gui for actually functioning

This commit is contained in:
stjn 2021-11-03 17:04:58 +01:00
parent 8a53111350
commit 4b5e09c553
2 changed files with 22 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import com.alttd.util.Utilities;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@ -27,11 +28,20 @@ public class BuyGUI extends GUIMerchant {
addItem(itemStack,
getPriceItem(money),
null,
player -> player.sendMessage(MiniMessage.get().parse("Hi! you bought: " + itemStack.getAmount() + " " + itemStack.getType().name() + " for " + money + "."))
player -> buy(player, itemStack.getType(), itemStack.getAmount(), money)
);
}
}
private void buy(Player player, Material material, int amount, double price)
{
player.sendMessage(MiniMessage.get().parse(
"Hi! you bought: " + amount +
" " + material.name() +
" for " + price +
"."));
}
private ItemStack getPriceItem(double price) {
if (price < 0) return nameItem(new ItemStack(Material.BARRIER), -1);
else if (price <= 10) return nameItem(new ItemStack(Material.IRON_INGOT), price);

View File

@ -8,6 +8,7 @@ import com.alttd.util.Utilities;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
@ -27,11 +28,20 @@ public class SellGUI extends GUIMerchant {
addItem(itemStack,
getPriceItem(money),
null,
player -> player.sendMessage(MiniMessage.get().parse("Hi! you sold: " + itemStack.getAmount() + " " + itemStack.getType().name() + " for " + money + "."))
player -> sell(player, itemStack.getType(), itemStack.getAmount(), money)
);
}
}
private void sell(Player player, Material material, int amount, double price)
{
player.sendMessage(MiniMessage.get().parse(
"Hi! you sold: " + amount +
" " + material.name() +
" for " + price +
"."));
}
private ItemStack getPriceItem(double price) {
if (price < 0) return nameItem(new ItemStack(Material.BARRIER), -1);
else if (price <= 10) return nameItem(new ItemStack(Material.IRON_INGOT), price);