mirror of
https://github.com/ChestShop-authors/ChestShop-3.git
synced 2024-12-25 01:27:32 +01:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
4d73ef02a5
@ -17,6 +17,9 @@ public class Messages {
|
|||||||
|
|
||||||
public static String NOT_ENOUGH_MONEY = "You don't have enough money!";
|
public static String NOT_ENOUGH_MONEY = "You don't have enough money!";
|
||||||
public static String NOT_ENOUGH_MONEY_SHOP = "Shop owner doesn't have enough money!";
|
public static String NOT_ENOUGH_MONEY_SHOP = "Shop owner doesn't have enough money!";
|
||||||
|
|
||||||
|
public static String DEPOSIT_FAILED = "Money deposit to shop owner failed!";
|
||||||
|
public static String DEPOSIT_FAILED_OWNER = "Money deposit to your account failed, shop transaction aborted!";
|
||||||
|
|
||||||
public static byte NEWLINE_NOT_ENOUGH_MONEY_SHO; ///////////////////////////////////////////////////
|
public static byte NEWLINE_NOT_ENOUGH_MONEY_SHO; ///////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ public class Economy {
|
|||||||
return ChestShopSign.isAdminShop(acc);
|
return ChestShopSign.isAdminShop(acc);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void add(String name, double amount) {
|
public static boolean add(String name, double amount) {
|
||||||
if (isServerAccount(name) && !getServerAccountName().isEmpty()) {
|
if (isServerAccount(name) && !getServerAccountName().isEmpty()) {
|
||||||
name = getServerAccountName();
|
name = getServerAccountName();
|
||||||
}
|
}
|
||||||
@ -46,19 +46,19 @@ public class Economy {
|
|||||||
amount -= tax;
|
amount -= tax;
|
||||||
}
|
}
|
||||||
|
|
||||||
manager.add(uName.getName(name), amount);
|
return manager.add(uName.getName(name), amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double getTax(float tax, double price) {
|
public static double getTax(float tax, double price) {
|
||||||
return NumberUtil.roundDown((tax / 100F) * price);
|
return NumberUtil.roundDown((tax / 100F) * price);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void subtract(String name, double amount) {
|
public static boolean subtract(String name, double amount) {
|
||||||
if (isServerAccount(name) && !getServerAccountName().isEmpty()) {
|
if (isServerAccount(name) && !getServerAccountName().isEmpty()) {
|
||||||
name = getServerAccountName();
|
name = getServerAccountName();
|
||||||
}
|
}
|
||||||
|
|
||||||
manager.subtract(uName.getName(name), roundUp(amount));
|
return manager.subtract(uName.getName(name), roundUp(amount));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasEnough(String name, double amount) {
|
public static boolean hasEnough(String name, double amount) {
|
||||||
|
@ -11,12 +11,14 @@ public class EconomyManager {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(String player, double amount) {
|
public boolean add(String player, double amount) {
|
||||||
printError();
|
printError();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void subtract(String player, double amount) {
|
public boolean subtract(String player, double amount) {
|
||||||
printError();
|
printError();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasEnough(String player, double amount) {
|
public boolean hasEnough(String player, double amount) {
|
||||||
|
@ -16,12 +16,12 @@ public class Register extends EconomyManager {
|
|||||||
return method.hasAccount(player);
|
return method.hasAccount(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(String player, double amount) {
|
public boolean add(String player, double amount) {
|
||||||
method.getAccount(player).add(amount);
|
return method.getAccount(player).add(amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void subtract(String player, double amount) {
|
public boolean subtract(String player, double amount) {
|
||||||
method.getAccount(player).subtract(amount);
|
return method.getAccount(player).subtract(amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasEnough(String player, double amount) {
|
public boolean hasEnough(String player, double amount) {
|
||||||
|
@ -13,12 +13,12 @@ public class Vault extends EconomyManager {
|
|||||||
return vaultPlugin.hasAccount(player);
|
return vaultPlugin.hasAccount(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(String player, double amount) {
|
public boolean add(String player, double amount) {
|
||||||
vaultPlugin.depositPlayer(player, amount);
|
return vaultPlugin.depositPlayer(player, amount).transactionSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void subtract(String player, double amount) {
|
public boolean subtract(String player, double amount) {
|
||||||
vaultPlugin.withdrawPlayer(player, amount);
|
return vaultPlugin.withdrawPlayer(player, amount).transactionSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasEnough(String player, double amount) {
|
public boolean hasEnough(String player, double amount) {
|
||||||
|
@ -125,6 +125,8 @@ public class PreTransactionEvent extends Event {
|
|||||||
|
|
||||||
CLIENT_DOES_NOT_HAVE_ENOUGH_MONEY,
|
CLIENT_DOES_NOT_HAVE_ENOUGH_MONEY,
|
||||||
SHOP_DOES_NOT_HAVE_ENOUGH_MONEY,
|
SHOP_DOES_NOT_HAVE_ENOUGH_MONEY,
|
||||||
|
/** not enough space in shop's account for money deposit on sell */
|
||||||
|
SHOP_DEPOSIT_FAILED,
|
||||||
|
|
||||||
NOT_ENOUGH_SPACE_IN_CHEST,
|
NOT_ENOUGH_SPACE_IN_CHEST,
|
||||||
NOT_ENOUGH_SPACE_IN_INVENTORY,
|
NOT_ENOUGH_SPACE_IN_INVENTORY,
|
||||||
|
@ -14,7 +14,7 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static com.Acrobot.ChestShop.Configuration.Messages.NOT_ENOUGH_STOCK_IN_YOUR_SHOP;
|
import static com.Acrobot.ChestShop.Configuration.Messages.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Acrobot
|
* @author Acrobot
|
||||||
@ -58,12 +58,27 @@ public class ErrorMessageSender implements Listener {
|
|||||||
sendMessageToOwner(event.getOwner(), messageOutOfStock);
|
sendMessageToOwner(event.getOwner(), messageOutOfStock);
|
||||||
message = Messages.NOT_ENOUGH_STOCK;
|
message = Messages.NOT_ENOUGH_STOCK;
|
||||||
break;
|
break;
|
||||||
|
case SHOP_DEPOSIT_FAILED:
|
||||||
|
String messageDepositFailed = Messages.prefix(DEPOSIT_FAILED);
|
||||||
|
sendMessageToOwner(event.getOwner(), messageDepositFailed);
|
||||||
|
message = DEPOSIT_FAILED;
|
||||||
|
break;
|
||||||
case SHOP_IS_RESTRICTED:
|
case SHOP_IS_RESTRICTED:
|
||||||
message = Messages.ACCESS_DENIED;
|
message = Messages.ACCESS_DENIED;
|
||||||
break;
|
break;
|
||||||
case INVALID_SHOP:
|
case INVALID_SHOP:
|
||||||
message = Messages.INVALID_SHOP_DETECTED;
|
message = Messages.INVALID_SHOP_DETECTED;
|
||||||
break;
|
break;
|
||||||
|
case CREATIVE_MODE_PROTECTION:
|
||||||
|
break;
|
||||||
|
case OTHER:
|
||||||
|
break;
|
||||||
|
case SPAM_CLICKING_PROTECTION:
|
||||||
|
break;
|
||||||
|
case TRANSACTION_SUCCESFUL:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
|
@ -47,6 +47,17 @@ public class PartialTransactionModule implements Listener {
|
|||||||
event.setPrice(amountAffordable * pricePerItem);
|
event.setPrice(amountAffordable * pricePerItem);
|
||||||
event.setStock(getCountedItemStack(stock, amountAffordable));
|
event.setStock(getCountedItemStack(stock, amountAffordable));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String seller = event.getOwner().getName();
|
||||||
|
boolean added = Economy.add(seller, price);
|
||||||
|
if (added) {
|
||||||
|
// added amount successfully, owner has enough space for deposit
|
||||||
|
// --> undo the add, for some other event to actually do.
|
||||||
|
Economy.subtract(seller, price);
|
||||||
|
} else {
|
||||||
|
event.setCancelled(SHOP_DEPOSIT_FAILED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
stock = event.getStock();
|
stock = event.getStock();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user