Skip to content
This repository has been archived by the owner on May 14, 2023. It is now read-only.

Commit

Permalink
Merge pull request #19 from peyang-Celeron/master
Browse files Browse the repository at this point in the history
bug fixed
  • Loading branch information
PeyaPeyaPeyang authored Apr 30, 2020
2 parents b7b3e53 + bc32cf6 commit 898d4ca
Show file tree
Hide file tree
Showing 10 changed files with 55 additions and 26 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>ml.peya.plugins</groupId>
<artifactId>PeyangATM</artifactId>
<version>2.4.1</version>
<version>2.4.2</version>
<repositories>
<repository>
<id>spigot-repo</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public void onInventoryClick(org.bukkit.event.inventory.InventoryClickEvent e)
{
Atm.getPlugin().getServer().getScheduler().scheduleSyncDelayedTask(Atm.getPlugin(), () -> {
int money = InventoryMath.mathInventoryItems(inventory);
inItems[0] = InventoryItem.getGiveItem(money);
inItems[0] = InventoryItem.getGiveItem(player, money);
inventory.setItem(49, inItems[0]);
}, 2L);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,28 @@ public static void process(Player player, ItemStack stack, InventoryClickEvent e
if (stack.getItemMeta().getDisplayName().equals(WordType.IN.toString()))
{
e.setCancelled(true);
BalanceOutputUtil output = MoneyCoreSystem.giveMoney(player, InventoryMath.mathInventoryItems(e.getInventory()));
switch (output.getType())
{
case OK:
player.sendMessage(Translate.replaceMoney(MessageType.SUCCESSIN.toString(), InventoryMath.mathInventoryItems(e.getInventory())));
InventoryMath.returnToPlayer(player, false, e.getInventory().getContents());
e.getInventory().clear();
Inventory.openSelectInventory(player);
break;
case NOACCOUNT:
player.sendMessage(language.translateString("error.noAccount"));
break;
}
if (MoneyCoreSystem.isOverflow(player, InventoryMath.mathInventoryItems(e.getInventory())))
player.sendMessage(language.translateString("error.overflow"));
else
in(e.getInventory(), player);
}
}

private static void in(org.bukkit.inventory.Inventory inventory, Player player)
{
BalanceOutputUtil output = MoneyCoreSystem.giveMoney(player, InventoryMath.mathInventoryItems(inventory));
switch (output.getType())
{
case OK:
player.sendMessage(Translate.replaceMoney(MessageType.SUCCESSIN.toString(), InventoryMath.mathInventoryItems(inventory)));
InventoryMath.returnToPlayer(player, false, inventory.getContents());
inventory.clear();
Inventory.openSelectInventory(player);
break;
case NOACCOUNT:
player.sendMessage(Atm.language.translateString("error.noAccount"));
break;
}
}

}
2 changes: 1 addition & 1 deletion src/main/java/ml/peya/plugins/Inventorys/Inventory.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public static org.bukkit.inventory.Inventory getInInventory()
inventory.setItem(52, backItem);
inventory.setItem(51, backItem);
inventory.setItem(50, backItem);
inventory.setItem(49, InventoryItem.getGiveItem(0));
inventory.setItem(49, InventoryItem.getGiveItem(null, 0));
inventory.setItem(48, backItem);
inventory.setItem(47, backItem);
inventory.setItem(46, backItem);
Expand Down
17 changes: 12 additions & 5 deletions src/main/java/ml/peya/plugins/Inventorys/InventoryItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,25 +66,32 @@ public static ItemStack getSelectItems (Player player)
ItemMeta selectMeta = selectStack.getItemMeta();
selectMeta.setDisplayName(String.format("%s §r| %s", WordType.IN.toString(), WordType.OUT.toString()));
ArrayList<String> lore = new ArrayList<>();
int moneyInt = BigDecimal.valueOf(MoneyCoreSystem.getMoney(player)).intValue();
long moneyInt = BigDecimal.valueOf(MoneyCoreSystem.getMoney(player)).longValue();
lore.add(Translate.replaceMoney(WordType.NOW.toString(), moneyInt));
selectMeta.setLore(lore);
selectStack.setItemMeta(selectMeta);
return selectStack;
}


public static ItemStack getGiveItem(int money)
public static ItemStack getGiveItem(Player player, int money)
{
ItemStack giveStack = new ItemStack(Material.EMERALD_BLOCK);
ItemStack giveStack;
if (player != null && MoneyCoreSystem.isOverflow(player, money))
giveStack = new ItemStack(Material.REDSTONE_BLOCK);
else
giveStack = new ItemStack(Material.EMERALD_BLOCK);
ItemMeta giveMeta = giveStack.getItemMeta();
giveMeta.setDisplayName(WordType.IN.toString());
ArrayList<String> lore = new ArrayList<>();
lore.add(Translate.replaceMoney(WordType.NOW.toString(), money));
if (player != null && MoneyCoreSystem.isOverflow(player, money))
lore.add(Atm.language.translateString("error.overflow"));
else
lore.add(Translate.replaceMoney(WordType.NOW.toString(), money));
giveMeta.setLore(lore);
giveStack.setItemMeta(giveMeta);
return GlowUtil.setGlow(giveStack);
}
}

public static boolean isAirOrNull(ItemStack stack)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,5 @@ private static void returnItemFromStack(Player player, ItemStack itemStack, bool
if (isNotMoney || !MoneyUnit.isMoneyItem(itemStack))
player.getInventory().addItem(itemStack);
}

}
7 changes: 7 additions & 0 deletions src/main/java/ml/peya/plugins/Moneys/MoneyCoreSystem.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,11 @@ public static double getMoney(Player player)
{
return economy.getBalance(player);
}

public static boolean isOverflow(Player player, int money)
{
if (0 > money)
return true;
return 0 > (getMoney(player) + money);
}
}
9 changes: 6 additions & 3 deletions src/main/java/ml/peya/plugins/Utils/Translate.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,23 @@
import ml.peya.plugins.*;
import org.bukkit.configuration.file.*;

import java.math.*;

public class Translate
{
private static FileConfiguration config = Atm.config;
public static String replaceAmount(String str, int amount)
public static String replaceAmount(String str, long amount)
{
return str.replace("$amount$", String.valueOf(amount));

return str.replace("$amount$", BigDecimal.valueOf(amount).toPlainString());
}

public static String replaceUnit(String str)
{
return str.replace("$unit$", config.getString("unit"));
}

public static String replaceMoney(String str, int amount)
public static String replaceMoney(String str, long amount)
{
return replaceUnit(replaceAmount(str, amount));
}
Expand Down
4 changes: 3 additions & 1 deletion src/main/resources/lang/ja_JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,6 @@ error:
##預金なし
noHaveMoney: "§4§lエラー:引き出せる預金がありません。"
##プレイヤーから実行
pleasePlayer: "§4§lエラー: プレイヤーから実行してください。"
pleasePlayer: "§4§lエラー: プレイヤーから実行してください。"
##オーバーフロー
overflow: "§4§lエラー: 入金金額が多すぎです。一度に入金する額を減らしてください。"
2 changes: 1 addition & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: PeyangAtm
version: 2.4.1
version: 2.4.2
description: Peyang ATMMMMMMM In vault!!!!!(if possible)
author: Peyang(Discord Peyang#9799)
main: ml.peya.plugins.Atm
Expand Down

0 comments on commit 898d4ca

Please sign in to comment.