Compare commits
No commits in common. "a23a00c881ef0cdcc6bd54257528b38db8dd5772" and "4cb1e717fbbd141f6c7121b2c14dcb64586fadbb" have entirely different histories.
a23a00c881
...
4cb1e717fb
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -12,6 +12,5 @@ shop:
|
||||
material: OAK_PLANKS
|
||||
price: 15
|
||||
display_name: "Oak Planks"
|
||||
poor: "you're poor..."
|
||||
pagination:
|
||||
max_items_per_page: 45 # Max items to display per page
|
||||
|
Binary file not shown.
Binary file not shown.
@ -164,59 +164,27 @@ public class BlockShop implements Listener {
|
||||
ItemStack clickedItem = event.getCurrentItem();
|
||||
if (clickedItem != null && clickedItem.getType() != Material.AIR) {
|
||||
double price = getPrice(clickedItem);
|
||||
if (!economy.has(player, price)) {
|
||||
player.sendMessage(ChatColor.RED + getConfigLine("poor", "You don't have enough money to buy this."));
|
||||
return;
|
||||
if (economy.has(player, price)) {
|
||||
economy.withdrawPlayer(player, price);
|
||||
// Create a new ItemStack with the default meta
|
||||
ItemStack sold = new ItemStack(clickedItem.getType(), clickedItem.getAmount());
|
||||
|
||||
// Reset item meta (default name, no lore)
|
||||
ItemMeta defaultMeta = sold.getItemMeta();
|
||||
if (defaultMeta != null) {
|
||||
defaultMeta.setDisplayName(null); // Reset to default name
|
||||
defaultMeta.setLore(null); // Remove lore
|
||||
sold.setItemMeta(defaultMeta);
|
||||
}
|
||||
player.getInventory().addItem(sold);
|
||||
player.sendMessage(ChatColor.GREEN + "You bought " + sold.getType() + " for $" + price);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + "You don't have enough money to buy this.");
|
||||
}
|
||||
|
||||
// Create a new ItemStack with the default meta
|
||||
ItemStack sold = new ItemStack(clickedItem.getType(), clickedItem.getAmount());
|
||||
|
||||
// Reset item meta (default name, no lore)
|
||||
ItemMeta defaultMeta = sold.getItemMeta();
|
||||
if (defaultMeta != null) {
|
||||
defaultMeta.setDisplayName(null); // Reset to default name
|
||||
defaultMeta.setLore(null); // Remove lore
|
||||
sold.setItemMeta(defaultMeta);
|
||||
}
|
||||
|
||||
// Check if player's inventory has space before proceeding
|
||||
HashMap<Integer, ItemStack> leftover = player.getInventory().addItem(sold);
|
||||
if (!leftover.isEmpty()) {
|
||||
// If there are leftover items, inventory is full
|
||||
player.sendMessage(ChatColor.RED + getConfigLine("inventory_full", "Your inventory is full! Purchase failed."));
|
||||
return;
|
||||
}
|
||||
|
||||
// If inventory had space, finalize the purchase
|
||||
economy.withdrawPlayer(player, price);
|
||||
player.sendMessage(ColorKey("&aYou bought &b" + clickedItem.getAmount() + " &7" +
|
||||
String.valueOf(sold.getType()).toLowerCase().replace("_", " ") +
|
||||
"&a for &6$" + price));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String ColorKey(String t) {
|
||||
char searchChar = '&'; // Character to search for
|
||||
char replacementChar = '§'; // Character to replace with
|
||||
StringBuilder sb = new StringBuilder(t);
|
||||
// Search for the character in the StringBuilder
|
||||
int index = sb.indexOf(String.valueOf(searchChar));
|
||||
|
||||
// Replace the character if found
|
||||
for (int j = 0; j < sb.length(); j++) {
|
||||
if (sb.charAt(j) == searchChar) {
|
||||
sb.setCharAt(j, replacementChar);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
public String getConfigLine(String source, String dfault) {
|
||||
plugin.reloadConfig();
|
||||
return config != null ? config.getString(source, dfault) : dfault;
|
||||
}
|
||||
|
||||
// Helper method to retrieve the price of an item (can be customized to use a config file for prices)
|
||||
private double getPrice(ItemStack item) {
|
||||
for (String category : config.getConfigurationSection("shop.categories").getKeys(false)) {
|
||||
|
@ -12,6 +12,5 @@ shop:
|
||||
material: OAK_PLANKS
|
||||
price: 15
|
||||
display_name: "Oak Planks"
|
||||
poor: "you're poor..."
|
||||
pagination:
|
||||
max_items_per_page: 45 # Max items to display per page
|
||||
|
Loading…
Reference in New Issue
Block a user