Skip to content

Commit

Permalink
I seriously did this in the wrong branch? I'm stupid
Browse files Browse the repository at this point in the history
  • Loading branch information
Thatsmusic99 committed May 8, 2021
1 parent 7a41e5e commit 894109e
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import io.github.niestrat99.advancedteleport.CoreClass;
import io.github.niestrat99.advancedteleport.config.NewConfig;
import io.github.niestrat99.advancedteleport.payments.types.ItemsPayment;
import io.github.niestrat99.advancedteleport.payments.types.LevelsPayment;
import io.github.niestrat99.advancedteleport.payments.types.PointsPayment;
import io.github.niestrat99.advancedteleport.payments.types.VaultPayment;
Expand Down Expand Up @@ -49,8 +50,10 @@ private void addCommand(String command, Object value) {
} else if (rawPayment.endsWith("EXP")) {
addPayment("exp", new PointsPayment(Integer.parseInt(points)), payments);
} else {
if (CoreClass.getVault() != null) {
if (CoreClass.getVault() != null && rawPayment.matches("^[0-9]+(\\.[0-9]+)?")) {
addPayment("vault", new VaultPayment(Double.parseDouble(rawPayment)), payments);
} else {
addPayment("item", ItemsPayment.getFromString(rawPayment), payments);
}
}
} catch (Exception e) {
Expand All @@ -70,6 +73,16 @@ private void addPayment(String type, Payment payment, HashMap<String, Payment> c
newPayment.addLevels((LevelsPayment) payment);
currentPayMethods.put("exp", newPayment);
}
} else if (type.equalsIgnoreCase("item")) {
if (payment == null) return;
ItemsPayment itemsPayment = (ItemsPayment) payment;
if (currentPayMethods.containsKey("item_" + itemsPayment.getMaterial().name())) {
ItemsPayment otherPayment = (ItemsPayment) currentPayMethods.get("item_" + itemsPayment.getMaterial().name());
otherPayment.setPaymentAmount(otherPayment.getPaymentAmount() + itemsPayment.getPaymentAmount());
currentPayMethods.put("item_" + itemsPayment.getMaterial().name(), otherPayment);
} else {
currentPayMethods.put("item_" + itemsPayment.getMaterial().name(), itemsPayment);
}
} else {
if (currentPayMethods.containsKey(type)) {
Payment existingPayment = currentPayMethods.get(type);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,36 @@

public class ItemsPayment extends Payment {

// DIAMOND#{Count:10,tag:{display:{Name:"&b&lSetwarp Token"}}}
public ItemsPayment(Material material) {
private Material material;
private int amount;
private byte data;

// DIAMOND#{Count:10,tag:{display:{Name:"&b&lSetwarp Token"}}}
public ItemsPayment(Material material, byte data, int amount) {
this.material = material;
this.amount = amount;
this.data = data;
}

@Override
public double getPaymentAmount() {
return 0;
return amount;
}

@Override
public void setPaymentAmount(double amount) {

this.amount = (int) amount;
}

@Override
public double getPlayerAmount(Player player) {

return 0;
int count = 0;
for (ItemStack item : player.getInventory()) {
if (item.getType() == material && item.getDurability() == data) {
count += item.getAmount();
}
}
return count;
}

@Override
Expand All @@ -38,13 +49,50 @@ public String getMessagePath() {

@Override
public void setPlayerAmount(Player player) {
int remaining = amount;
for (ItemStack item : player.getInventory()) {

}
}

public Material getMaterial() {
return material;
}

public static ItemsPayment getFromString(String str) {
return null;
String[] parts = str.split(":");

switch (parts.length) {
case 0:
return null;
case 1:
Material material = Material.getMaterial(parts[0]);
if (material == null) return null;
return new ItemsPayment(material, (byte) 0, 1);
case 2:
material = Material.getMaterial(parts[0]);
if (material == null) return null;
int amount = 1;
if (parts[1].matches("^[0-9]+$")) {
amount = Integer.parseInt(parts[1]);
}
return new ItemsPayment(material, (byte) 0, amount);
default:
material = Material.getMaterial(parts[0]);
if (material == null) return null;
amount = 1;
if (parts[2].matches("^[0-9]+$")) {
amount = Integer.parseInt(parts[2]);
}
byte data = 0;
if (parts[1].matches("^[0-9]+$")) {
data = Byte.parseByte(parts[1]);
}
return new ItemsPayment(material, data, amount);
}
}

// TODO: Implement NBT
private boolean hasNBT(ItemStack item) {
ItemMeta meta = item.getItemMeta();
if (meta == null) return false;
Expand Down

0 comments on commit 894109e

Please sign in to comment.