dont know if it works
This commit is contained in:
94
src/main/java/rip/tilly/bedwars/menus/shop/ShopButton.java
Normal file
94
src/main/java/rip/tilly/bedwars/menus/shop/ShopButton.java
Normal file
@ -0,0 +1,94 @@
|
||||
package rip.tilly.bedwars.menus.shop;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import rip.tilly.bedwars.BedWars;
|
||||
import rip.tilly.bedwars.playerdata.PlayerData;
|
||||
import rip.tilly.bedwars.utils.CC;
|
||||
import rip.tilly.bedwars.utils.ItemBuilder;
|
||||
import rip.tilly.bedwars.utils.menu.Button;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@AllArgsConstructor
|
||||
public class ShopButton extends Button {
|
||||
|
||||
private final String name;
|
||||
private final List<String> lore;
|
||||
private final Material material;
|
||||
private final int data;
|
||||
private final int amount;
|
||||
private final Material costType;
|
||||
private final String costTypeName;
|
||||
private final int cost;
|
||||
private final boolean color;
|
||||
private final int costItems;
|
||||
|
||||
@Override
|
||||
public ItemStack getButtonItem(Player player) {
|
||||
List<String> loreList = new ArrayList<>();
|
||||
|
||||
loreList.add(" ");
|
||||
loreList.addAll(lore);
|
||||
|
||||
// int costItems = 0;
|
||||
// for (ItemStack contents : player.getInventory().getContents()) {
|
||||
// if (contents != null) {
|
||||
// if (contents.getType() == costType) {
|
||||
// costItems += contents.getAmount();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
loreList.add(" ");
|
||||
loreList.add(costItems >= cost ? "&aClick to purchase!" : "&cYou don't have enough " + costTypeName + "!");
|
||||
|
||||
PlayerData playerData = BedWars.getInstance().getPlayerDataManager().getPlayerData(player.getUniqueId());
|
||||
if (color) {
|
||||
return new ItemBuilder(material).name(name).lore(loreList).amount(amount).durability(playerData.getPlayerTeam().getColorData()).hideFlags().build();
|
||||
} else {
|
||||
return new ItemBuilder(material).name(name).lore(loreList).amount(amount).durability(data).hideFlags().build();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clicked(Player player, int slot, ClickType clickType, int hotbarButton) {
|
||||
|
||||
// int costItems = 0;
|
||||
// for (ItemStack contents : player.getInventory().getContents()) {
|
||||
// if (contents != null) {
|
||||
// if (contents.getType() == costType) {
|
||||
// costItems += contents.getAmount();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
PlayerData playerData = BedWars.getInstance().getPlayerDataManager().getPlayerData(player.getUniqueId());
|
||||
if (costItems >= cost) {
|
||||
for (ItemStack contents : player.getInventory().getContents()) {
|
||||
if (contents != null) {
|
||||
if (contents.getType() == costType) {
|
||||
if (contents.getAmount() == cost) {
|
||||
player.getInventory().removeItem(contents);
|
||||
} else {
|
||||
contents.setAmount(contents.getAmount() - cost);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (color) {
|
||||
player.getInventory().addItem(new ItemBuilder(material).amount(amount).durability(playerData.getPlayerTeam().getColorData()).hideFlags().build());
|
||||
} else {
|
||||
player.getInventory().addItem(new ItemBuilder(material).amount(amount).durability(data).hideFlags().build());
|
||||
}
|
||||
playNeutral(player);
|
||||
} else {
|
||||
player.sendMessage(CC.translate("&cYou don't have enough " + costTypeName + "!"));
|
||||
playFail(player);
|
||||
}
|
||||
}
|
||||
}
|
20
src/main/java/rip/tilly/bedwars/menus/shop/ShopType.java
Normal file
20
src/main/java/rip/tilly/bedwars/menus/shop/ShopType.java
Normal file
@ -0,0 +1,20 @@
|
||||
package rip.tilly.bedwars.menus.shop;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.bukkit.Material;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
public enum ShopType {
|
||||
|
||||
QUICK("Quick Buy"),
|
||||
BLOCKS("Blocks"),
|
||||
ARMOR("Armor"),
|
||||
TOOLS("Tools"),
|
||||
WEAPONS("Weapons"),
|
||||
RANGED("Ranged"),
|
||||
POTIONS("Potions"),
|
||||
UTILITY("Utility");
|
||||
|
||||
private final String name;
|
||||
private final Material material;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package rip.tilly.bedwars.menus.shop;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import rip.tilly.bedwars.utils.menu.Button;
|
||||
|
||||
@AllArgsConstructor
|
||||
public class ShopTypeButton extends Button {
|
||||
|
||||
private final ShopType shopType;
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package rip.tilly.bedwars.menus.shop.blocks;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import rip.tilly.bedwars.utils.CC;
|
||||
import rip.tilly.bedwars.utils.menu.Button;
|
||||
import rip.tilly.bedwars.utils.menu.Menu;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class BlocksMenu extends Menu {
|
||||
|
||||
@Override
|
||||
public boolean isUpdateAfterClick() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTitle(Player player) {
|
||||
return CC.translate("&eBlocks");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Integer, Button> getButtons(Player player) {
|
||||
Map<Integer, Button> buttons = new HashMap<>();
|
||||
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user